loadleveler

Submits job scripts to loadleveler by the llsubmit command.

Loadleveler directives can be provided in the flow.cylc file:

global.cylc
[platforms]
    [[myplatform]]
        job runner = loadleveler
flow.cylc
[runtime]
    [[my_task]]
        platform = myplatform
        execution time limit = PT10M
        [[[directives]]]
            foo = bar
            baz = qux

These are written to the top of the job script like this:

#!/bin/bash
# DIRECTIVES
# @ foo = bar
# @ baz = qux
# @ wall_clock_limit = 660,600
# @ queue

If restart=yes is specified as a directive for loadleveler, the job will automatically trap SIGUSR1, which loadleveler may use to preempt the job. On trapping SIGUSR1, the job will inform the workflow that it has been vacated by loadleveler. This will put it back to the submitted state, until it starts running again.

If execution time limit is specified, it is used to generate the wall_clock_limit directive. The setting is assumed to be the soft limit. The hard limit will be set by adding an extra minute to the soft limit. Do not specify the wall_clock_limit directive explicitly if executiontime limit is specified. Otherwise, the execution time limit known by the workflow may be out of sync with what is submitted to the job runner.