2.1. The run sequence
This page documents the contents of a run sequence — what each kind of line means and how to read one. For what a run sequence is and how it fits into a coupled run, see Core concepts.
The run sequence is a free-format ascii file which the NUOPC driver ingests at start-up (via
NUOPC_DriverIngestRunSequence).
For CESM/NorESM this is stored in the nuopc.runseq file. This file
is generated by the CIME case-control system from the coupling
intervals you configure; the generator lives in
cime_config/runseq/ and is CIME-only (see Configuring and running a case (CESM/NorESM)).
For UFS this is stored in the runSeq file.
2.1.1. Anatomy of a run sequence
The run-sequence format below is the common NUOPC run-sequence format, whichever host ingests it.
A run sequence is delimited by runSeq:: and a closing ::. Between them,
four kinds of line appear:
- Time-loop markers —
@<dt>…@ A line beginning with
@followed by a number opens a time loop whose period is<dt>seconds; a line with a bare@closes the innermost open loop. Loops nest: an outer@<dt>typically wraps components coupled less frequently (for example land-ice, river, ocean), and the inner-most loop wraps the components coupled most frequently (for example atmosphere, land, sea ice). Everything between an opening@<dt>and its matching@executes once per<dt>interval.A doubled
@@<dt>…@@opens and closes a nested time loop in the same way; the doubled form is used to introduce an additional nesting level within a surrounding loop — for example to accumulate a field every fast interval but average it and send it to a component only on that component’s (coarser) coupling interval.- Mediator phase calls —
MED <phase> A line
MED <phase>runs the registered CMEPS phase named<phase>at that point in the sequence. These names are exactly the mediator phases described in the architecture and Developer guides — for examplemed_phases_prep_ocn_accum,med_phases_aofluxes_run,med_phases_post_atm.- Field transfers (connectors) —
<SRC> -> <DST> :remapMethod=<method> A line such as
MED -> OCN :remapMethod=redistis a connector: it transfers the connected fields from the source to the destination — here from the mediator’s export state to the ocean’s import state — using the given remap method.ATM -> MED,MED -> ATMand the like move fields into and out of the mediator.- Component runs —
<COMP> A bare component name such as
ATM,OCN,ICEadvances that component through one interval of the loop it sits in.
2.1.2. A worked example
The run sequence below is from a NorESM run and couples atmosphere, land, sea ice, ocean, river and land-ice at several different intervals. Read it from the outermost loop inward.
runSeq::
@86400
@10800
@3600
@1800
MED med_phases_aofluxes_run
MED med_phases_prep_ocn_accum
MED med_phases_ocnalb_run
MED med_phases_diag_ocn
@@3600
MED med_phases_prep_ocn_avg
MED -> OCN :remapMethod=redist
@@
MED med_phases_prep_lnd
MED -> LND :remapMethod=redist
MED med_phases_prep_ice
MED -> ICE :remapMethod=redist
ICE
LND
LND -> MED :remapMethod=redist
MED med_phases_post_lnd
MED med_phases_diag_lnd
MED med_phases_diag_rof
MED med_phases_diag_ice_ice2med
MED med_phases_diag_glc
ICE -> MED :remapMethod=redist
MED med_phases_post_ice
MED med_phases_prep_atm
MED -> ATM :remapMethod=redist
ATM
ATM -> MED :remapMethod=redist
MED med_phases_post_atm
MED med_phases_diag_atm
MED med_phases_diag_ice_med2ice
MED med_phases_diag_accum
MED med_phases_diag_print
@
OCN
OCN -> MED :remapMethod=redist
MED med_phases_post_ocn
@
MED med_phases_prep_rof
MED -> ROF :remapMethod=redist
ROF
ROF -> MED :remapMethod=redist
MED med_phases_post_rof
@
MED med_phases_prep_glc
MED -> GLC :remapMethod=redist
GLC
GLC -> MED :remapMethod=redist
::
Reading this from the outside in:
@86400/@10800/@3600/@1800open four nested time loops with periods of one day, three hours, one hour and thirty minutes. The land-ice, river and ocean work sits in the outer loops; the fastest work — atmosphere, land and sea ice — sits in the innermost 1800-second loop.Inside the fast loop, the mediator computes atmosphere/ocean fluxes and ocean albedos and accumulates the ocean forcing every 1800 s (
med_phases_prep_ocn_accum).The
@@3600…@@block runs only on the ocean coupling interval: it averages the accumulated ocean forcing (med_phases_prep_ocn_avg) and transfers it to the ocean (MED -> OCN).Still in the fast loop, the mediator prepares and sends land and sea-ice fields, the
LNDandICEcomponents run and return their fields, the mediator post-processes them, prepares and sends the atmosphere forcing, theATMcomponent runs and returns, and diagnostics are written.The outer
@blocks then run the ocean, river and land-ice components on their respective (coarser) intervals, each preceded by aprep_<comp>/MED -> <COMP>pair and followed by<COMP> -> MED/post_<comp>.
Note
The exact phases, components and intervals that appear in a run sequence
depend on the configuration. The example above is illustrative; the run
sequence in your run’s nuopc.runseq reflects the components and
coupling intervals you selected.