BATCH_SPEC_FILE

Entry

The following is an example entry for BATCH_SPEC_FILE in config_files.xml.

This varaible only requires a single value.

Example

<entry id="BATCH_SPEC_FILE">
    <type>char</type>
    <default_value>$SRCROOT/cime_config/machines/config_batch.xml</default_value>
    <group>case_last</group>
    <file>env_case.xml</file>
    <desc>File containing batch system details for target system (for documentation only - DO NOT EDIT)</desc>
    <schema>$CIMEROOT/CIME/data/config/xml_schemas/config_batch.xsd</schema>
</entry>

Contents

The following describes the contents of the config_batch.xml file.

The config_batch.xml schema is defined in $CIMEROOT/config/xml_schemas/config_batch.xsd.

CIME supports these batch systems: pbs, cobalt, lsf, and slurm.

The entries in config_batch.xml are hierarchical.

  1. General configurations for each system are provided at the top of the file.

  2. Specific modifications for a given machine are provided below. In particular, each machine should define its own queues.

  3. Following is a machine-specific queue section. This section details the parameters for each queue on the target machine.

  4. The last section describes several things:

    • Each job that will be submitted to the queue for a CIME workflow,

    • The template file that will be used to generate that job,

    • The prerequisites that must be met before the job is submitted, and

    • The dependencies that must be satisfied before the job is run.

By default, the CIME workflow consists of two jobs (case.run, case.st_archive).

In addition, there is a case.test job that is used by the CIME system test workflow.

Schema Definition

Warning

Under submit_args the arg element is deprecated in favor of argument.

Element/Attributes

Description

batch_system

Defines a batch system.

MACH

Optional name of a machine this batch system belongs to.

type

The type of batch system, used for a machine to define it’s batch system.

batch_query

Command to query batch system.

args

Extra arguments for query command.

per_job_arg

Flag to query specific job.

batch_submit

Command to submit to batch system.

batch_cancel

Command to cancel job.

batch_redirect

Redirect used for batch submit output.

batch_env

Whether to run command is included in the batch script.

batch_directive

Batch directive for submit file.

jobid_pattern

Regex pattern to parse job id.

depend_string

Dependency string.

depend_allow_string

Dependency string if fails are allowed.

depend_separator

Separator for dependencies.

walltime_format

Format used to parse walltime.

batch_mail_flag

Mail flag to pass user.

batch_mail_type_flag

Mail type.

batch_mail_default

Default type if batch_mail_type_flag is not set.

arg

Batch submission argument. Deprecated.

flag

Name of the argument.

name

Value of the argument.

argument

Batch submision argument.

job_queue

If set the argument is only used when submitted to the queue.

directive

Batch directive to add to submission script.

default

Default value is directive value cannot be resolved.

prefix

Value to prefix directives.

queue

Queue defined for this batch system.

default

Whether the queue is the default for the system.

strict

If true then the walltime must be less than the maximum allowed walltime.

nodemax

Maximum number of nodes.

nodemin

Minimum number of nodes.

jobmax

Maximum number of tasks.

jobmin

Minimum number of tasks.

jobname

If job matches value then this queue will be used.

walltimemax

Maximum walltime.

walltimemin

Minimum walltime.

walltimedef

Default walltime.

<!-- Generated with doc/generate_xmlschema.py CIME/data/config/xml_schemas/config_batch.xsd config_batch on 2025-02-06 -->

<!-- Attributes 'version' is required-->
<!-- Occurrences min: 1 max: 1-->
<config_batch version="">
    <!-- Attributes 'MACH' is optional,'type' is required,'version' is optional-->
    <!-- Occurrences min: 1 max: Unlimited-->
    <batch_system MACH="" type="" version="">
        <!-- Attributes 'args' is optional,'per_job_arg' is optional-->
        <!-- Occurrences min: 0 max: 1-->
        <batch_query args="" per_job_arg="">
        </batch_query>
        <!-- Occurrences min: 0 max: 1-->
        <batch_submit></batch_submit>
        <!-- Occurrences min: 0 max: 1-->
        <batch_cancel></batch_cancel>
        <!-- Occurrences min: 0 max: 1-->
        <batch_redirect></batch_redirect>
        <!-- Occurrences min: 0 max: 1-->
        <batch_env></batch_env>
        <!-- Occurrences min: 0 max: 1-->
        <batch_directive></batch_directive>
        <!-- Occurrences min: 0 max: 1-->
        <jobid_pattern></jobid_pattern>
        <!-- Occurrences min: 0 max: 1-->
        <depend_string></depend_string>
        <!-- Occurrences min: 0 max: 1-->
        <depend_allow_string></depend_allow_string>
        <!-- Occurrences min: 0 max: 1-->
        <depend_separator></depend_separator>
        <!-- Occurrences min: 0 max: 1-->
        <walltime_format></walltime_format>
        <!-- Occurrences min: 0 max: 1-->
        <batch_mail_flag></batch_mail_flag>
        <!-- Occurrences min: 0 max: 1-->
        <batch_mail_type_flag></batch_mail_type_flag>
        <!-- Occurrences min: 0 max: 1-->
        <batch_mail_type></batch_mail_type>
        <!-- Occurrences min: 0 max: 1-->
        <batch_mail_default></batch_mail_default>
        <!-- Occurrences min: 0 max: 1-->
        <submit_args>
            <!-- Attributes 'flag' is required,'name' is optional-->
            <!-- Occurrences min: 1 max: Unlimited-->
            <arg flag="" name="">
            </arg>
            <!-- Attributes 'job_queue' is optional-->
            <!-- Occurrences min: 1 max: Unlimited-->
            <argument job_queue="">
            </argument>
        </submit_args>
        <!-- Attributes 'None' is None-->
        <!-- Occurrences min: 0 max: Unlimited-->
        <directives None="">
            <!-- Attributes 'default' is optional,'prefix' is optional-->
            <!-- Occurrences min: 1 max: Unlimited-->
            <directive default="" prefix="">
            </directive>
        </directives>
        <!-- Occurrences min: 0 max: 1-->
        <unknown_queue_directives></unknown_queue_directives>
        <!-- Occurrences min: 0 max: 1-->
        <queues>
            <!-- Attributes 'default' is optional,'strict' is optional,'nodemax' is optional,'nodemin' is optional,'jobmax' is optional,'jobmin' is optional,'jobname' is optional,'walltimemax' is optional,'walltimemin' is optional,'walltimedef' is optional-->
            <!-- Occurrences min: 1 max: Unlimited-->
            <queue default="" strict="" nodemax="" nodemin="" jobmax="" jobmin="" jobname="" walltimemax="" walltimemin="" walltimedef=""></queue>
        </queues>
    </batch_system>
    <!-- Occurrences min: 0 max: 1-->
    <batch_jobs>
        <!-- Attributes 'name' is required-->
        <!-- Occurrences min: 1 max: Unlimited-->
        <job name="">
            <!-- Occurrences min: 1 max: 1-->
            <template></template>
            <!-- Occurrences min: 0 max: 1-->
            <task_count></task_count>
            <!-- Occurrences min: 0 max: 1-->
            <walltime></walltime>
            <!-- Occurrences min: 0 max: 1-->
            <dependency></dependency>
            <!-- Occurrences min: 1 max: 1-->
            <prereq></prereq>
        </job>
    </batch_jobs>
</config_batch>