# autosubmit

class `autosubmit.autosubmit.``Autosubmit`

  Interface class for autosubmit.

  static `archive`(expid, clean=True, compress=True)

    Archives an experiment: call clean (if experiment is of version 3 or later), compress folder to tar.gz and moves to year’s folder

    Parameters:

    - clean,compress –
    - expid (str) – experiment identifier

    Returns: |

  static `change_status`(final, final_status, job, save)

    Set job status to final

    Parameters:

    - final –
    - final_status –
    - job –

  static `check`(experiment_id, notransitive=False)

    Checks experiment configuration and warns about any detected error or inconsistency.

    Parameters: | experiment_id (str) – experiment identifier:

  static `clean`(expid, project, plot, stats, create_log_file=True)

    Clean experiment’s directory to save storage space. It removes project directory and outdated plots or stats.

    Parameters:

    - create_log_file (bool) – if true, creates log file
    - expid (str) – identifier of experiment to clean
    - project (bool) – set True to delete project directory
    - plot (bool) – set True to delete outdated plots
    - stats (bool) – set True to delete outdated stats

  static `configure`(advanced, database_path, database_filename, local_root_path, platforms_conf_path, jobs_conf_path, smtp_hostname, mail_from, machine, local)

    Configure several paths for autosubmit: database, local root and others. Can be configured at system, user or local levels. Local level configuration precedes user level and user level precedes system configuration.

    Parameters:

    - database_path (str) – path to autosubmit database
    - database_filename (str) – database filename
    - local_root_path (str) – path to autosubmit’s experiments’ directory
    - platforms_conf_path (str) – path to platforms conf file to be used as model for new experiments
    - jobs_conf_path (str) – path to jobs conf file to be used as model for new experiments
    - machine (bool) – True if this configuration has to be stored for all the machine users
    - local (bool) – True if this configuration has to be stored in the local path
    - mail_from (str) –
    - smtp_hostname (str) –

  static `configure_dialog`()

    Configure several paths for autosubmit interactively: database, local root and others. Can be configured at system, user or local levels. Local level configuration precedes user level and user level precedes system configuration.

  static `create`(expid, noplot, hide, output='pdf', group_by=None, expand=[], expand_status=[], notransitive=False, check_wrappers=False, detail=False)

    Creates job list for given experiment. Configuration files must be valid before realizing this process.

    Parameters:

    - expid (str) – experiment identifier
    - noplot – if True, method omits final plotting of the jobs list. Only needed on large experiments when

    plotting time can be much larger than creation time. :type noplot: bool :return: True if successful, False if not :rtype: bool :param hide: hides plot window :type hide: bool :param hide: hides plot window :type hide: bool :param output: plot’s file format. It can be pdf, png, ps or svg :type output: str

  static `delete`(expid, force)

    Deletes and experiment from database and experiment’s folder

    Parameters:

    - expid (str) – identifier of the experiment to delete
    - force (bool) – if True, does not ask for confirmation

    Returns: | True if succesful, False if not
    Return type: | bool

  static `describe`(experiment_id)

    Show details for specified experiment

    Parameters: | experiment_id (str) – experiment identifier:

  static `expid`(hpc, description, copy_id='', dummy=False, test=False, operational=False, root_folder='')

    Creates a new experiment for given HPC

    Parameters:

    - operational (bool) – if true, creates an operational experiment
    - hpc (str) – name of the main HPC for the experiment
    - description (str) – short experiment’s description.
    - copy_id (str) – experiment identifier of experiment to copy
    - dummy (bool) – if true, writes a default dummy configuration for testing
    - test – if true, creates an experiment for testing

    Returns: | experiment identifier. If method fails, returns ‘’.
    Return type: | str

  static `generate_scripts_andor_wrappers`(as_conf, job_list, jobs_filtered, packages_persistence, only_wrappers=False)

    Parameters:

    - as_conf (AutosubmitConfig() Object) – Class that handles basic configuration parameters of Autosubmit.
    - job_list (JobList() Object) – Representation of the jobs of the experiment, keeps the list of jobs inside.
    - jobs_filtered (List() of Job Objects) – list of jobs that are relevant to the process.
    - packages_persistence (JobPackagePersistence() Object) – Object that handles local db persistence.
    - only_wrappers (Boolean) – True when coming from Autosubmit.create(). False when coming from Autosubmit.inspect(),

    Returns: | Nothing
    Return type: |

  static `inspect`(expid, lst, filter_chunks, filter_status, filter_section, notransitive=False, force=False, check_wrapper=False)

    Generates cmd files experiment.

    Parameters: | expid (str) – identifier of experiment to be run
    Returns: | True if run to the end, False otherwise
    Return type: | bool

  static `install`()

    Creates a new database instance for autosubmit at the configured path

  static `migrate`(experiment_id, offer, pickup)

    Migrates experiment files from current to other user. It takes mapping information for new user from config files.

    Parameters:

    - experiment_id – experiment identifier:
    - pickup –
    - offer –

  static `monitor`(expid, file_format, lst, filter_chunks, filter_status, filter_section, hide, txt_only=False, group_by=None, expand=[], expand_status=[], hide_groups=False, notransitive=False, check_wrapper=False, txt_logfiles=False, detail=False)

    Plots workflow graph for a given experiment with status of each job coded by node color. Plot is created in experiment’s plot folder with name <expid>_<date>_<time>.<file_format>

    Parameters:

    - expid (str) – identifier of the experiment to plot
    - file_format (str) – plot’s file format. It can be pdf, png, ps or svg
    - lst (str) – list of jobs to change status
    - filter_chunks (str) – chunks to change status
    - filter_status (str) – current status of the jobs to change status
    - filter_section (str) – sections to change status
    - hide (bool) – hides plot window

  static `parse_args`()

    Parse arguments given to an executable and start execution of command given

  static `recovery`(expid, noplot, save, all_jobs, hide, group_by=None, expand=[], expand_status=[], notransitive=False, no_recover_logs=False, detail=False)

    Method to check all active jobs. If COMPLETED file is found, job status will be changed to COMPLETED, otherwise it will be set to WAITING. It will also update the jobs list.

    Parameters:

    - expid (str) – identifier of the experiment to recover
    - save (bool) – If true, recovery saves changes to the jobs list
    - all_jobs (bool) – if True, it tries to get completed files for all jobs, not only active.
    - hide (bool) – hides plot window

  static `refresh`(expid, model_conf, jobs_conf)

    Refresh project folder for given experiment

    Parameters:

    - model_conf (bool) –
    - jobs_conf (bool) –
    - expid (str) – experiment identifier

  static `rerun_recovery`(expid, job_list, rerun_list, as_conf)

    Method to check all active jobs. If COMPLETED file is found, job status will be changed to COMPLETED, otherwise it will be set to WAITING. It will also update the jobs list.

    Parameters:

    - expid (str) – identifier of the experiment to recover
    - save (bool) – If true, recovery saves changes to the jobs list
    - all_jobs (bool) – if True, it tries to get completed files for all jobs, not only active.
    - hide (bool) – hides plot window

  static `run_experiment`(expid, notransitive=False, update_version=False)

    Runs and experiment (submitting all the jobs properly and repeating its execution in case of failure).

    Parameters: | expid (str) – identifier of experiment to be run
    Returns: | True if run to the end, False otherwise
    Return type: | bool

  static `set_status`(expid, noplot, save, final, lst, filter_chunks, filter_status, filter_section, filter_type_chunk, hide, group_by=None, expand=[], expand_status=[], notransitive=False, check_wrapper=False, detail=False)

    Set status

    Parameters:

    - expid (str) – experiment identifier
    - save (bool) – if true, saves the new jobs list
    - final (str) – status to set on jobs
    - lst (str) – list of jobs to change status
    - filter_chunks (str) – chunks to change status
    - filter_status (str) – current status of the jobs to change status
    - filter_section (str) – sections to change status
    - hide (bool) – hides plot window

  static `statistics`(expid, filter_type, filter_period, file_format, hide, notransitive=False)

    Plots statistics graph for a given experiment. Plot is created in experiment’s plot folder with name <expid>_<date>_<time>.<file_format>

    Parameters:

    - expid (str) – identifier of the experiment to plot
    - filter_type – type of the jobs to plot
    - filter_period – period to plot
    - file_format (str) – plot’s file format. It can be pdf, png, ps or svg
    - hide (bool) – hides plot window

  static `submit_ready_jobs`(as_conf, job_list, platforms_to_test, packages_persistence, inspect=False, only_wrappers=False, hold=False)

    Gets READY jobs and send them to the platforms if there is available space on the queues

    Parameters:

    - as_conf (AutosubmitConfig object) – autosubmit config object
    - job_list (JobList object) – job list to check
    - platforms_to_test (set of Platform Objects, e.g. SgePlatform(), LsfPlatform()) – platforms used
    - packages_persistence (JobPackagePersistence object) – Handles database per experiment.
    - inspect (Boolean) – True if coming from generate_scripts_andor_wrappers().
    - only_wrappers (Boolean) – True if it comes from create -cw, False if it comes from inspect -cw.

    Returns: | True if at least one job was submitted, False otherwise
    Return type: | Boolean

  static `test`(expid, chunks, member=None, start_date=None, hpc=None, branch=None)

    Method to conduct a test for a given experiment. It creates a new experiment for a given experiment with a given number of chunks with a random start date and a random member to be run on a random HPC.

    Parameters:

    - expid (str) – experiment identifier
    - chunks (int) – number of chunks to be run by the experiment
    - member (str) – member to be used by the test. If None, it uses a random one from which are defined on the experiment.
    - start_date (str) – start date to be used by the test. If None, it uses a random one from which are defined on the experiment.
    - hpc (str) – HPC to be used by the test. If None, it uses a random one from which are defined on the experiment.
    - branch (str) – branch or revision to be used by the test. If None, it uses configured branch.

    Returns: | True if test was succesful, False otherwise
    Return type: | bool

  static `testcase`(copy_id, description, chunks=None, member=None, start_date=None, hpc=None, branch=None)

    Method to create a test case. It creates a new experiment whose id starts by ‘t’.

    Parameters:

    - copy_id (str) – experiment identifier
    - description (str) – test case experiment description
    - chunks (int) – number of chunks to be run by the experiment. If None, it uses configured chunk(s).
    - member (str) – member to be used by the test. If None, it uses configured member(s).
    - start_date (str) – start date to be used by the test. If None, it uses configured start date(s).
    - hpc (str) – HPC to be used by the test. If None, it uses configured HPC.
    - branch (str) – branch or revision to be used by the test. If None, it uses configured branch.

    Returns: | test case id
    Return type: | str

  static `unarchive`(experiment_id, compress=True, overwrite=False)

    Unarchives an experiment: uncompress folder from tar.gz and moves to experiments root folder

    Parameters: | experiment_id (str) – experiment identifier

  static `update_version`(expid)

    Refresh experiment version with the current autosubmit version :param expid: experiment identifier :type expid: str

`autosubmit.autosubmit.``signal_handler`(signal_received, frame)

  Used to handle interrupt signals, allowing autosubmit to clean before exit

  Parameters:

  - signal_received –
  - frame –

`autosubmit.autosubmit.``signal_handler_create`(signal_received, frame)

  Used to handle KeyboardInterrumpt signals while the create method is being executed

  Parameters:

  - signal_received –
  - frame –