Experiment ID’s

Autosubmit 4 uses a SQLite database to automatically generate unique experiment ID’s. The ID’s of Autosubmit experiments start from a000 and have at least four alpha-numerical characters, using digits from 0 to 9 and the 26 letters from the English alphabet, from a to z.

Internally, experiment ID’s are case insensitive, but for Autosubmit commands this may not always be true, i.e. autosubmit monitor a000 works for the experiment a000, but not autosubmit monitor A000, even though internally both a000 and A000 would be stored the same way in the SQLite database.

That is because experiment ID’s are treated as Base-36 strings, being first decoded into integers with Base-36 (where a and A are both equal to 10, b and B equal to 11, etc. — int('a', 36) in Python).

Autosubmit provides functions that could be used by external code to produce a new experiment, or to simply calculate the next experiment ID, given the last available experiment ID. The code below shows an example of the latter:

from autosubmit.experiment.experiment_common import next_experiment_id

expid = next_experiment_id('a000’)
print(expid)  # prints 'a001’

expid = next_experiment_id('jedi’)
print(expid)  # prints 'jedj’

expid = next_experiment_id('zzzz’)
print(expid)  # prints '10000’

To generate the next experiment ID, the decoded integer value is incremented by 1, and then re-encoded as a Base-36 string. For example, a000 is decoded as 466560, so the next ID is calculated as 466560 + 1 = 466561. Finally, 466561 is re-encoded as Base-36, resulting in a001.

After the default initial experiment ID a000, the next generated experiment ID is a001, and it keeps being increased automatically by Autosubmit from a001, to a002, a003, …, azzz and then the next experiment ID b000.

And the process repeats every time users ask Autosubmit to create a new experiment.

Users can create “test experiments” which experiment ID’s start at t001, and “operational experiments” which experiment ID’s start at o001. This is done via flags passed to the autosubmit expid in the command-line.

There is no other way for users to modify the automatic generation of experiment ID’s in Autosubmit (other than manually editing the SQLite database).

The total number of available unique experiment ID’s in Autosubmit with four characters is 1213055 experiment ID’s (the difference between a000 and zzzz Base-36 decoded as integers). After the experiment zzzz, the next experiment ID generated by Autosubmit would be 10000, followed by 10001, 10002, and so on successfully.