Time stepping

Time stepper refers to the means by which a simulation is advanced in time. The configuration of a simulation is set by the TimeIntegration section of the Omega configuration file:

  TimeIntegration:
    CalendarType: No Leap
    TimeStepper: Forward-Backward
    TimeStep: 0000_00:10:00
    StartType: StartUp
    StartTime: 0001-01-01_00:00:00
    StopType: AtTime
    StopCriterion: 0001-01-01_02:00:00
    ModeSplitShare:
      BtrTimeStepper: Predictor-Corrector
      BtrTimeStep: 0000_00:00:20
      NTimeStepIteration: 2
      NBclCoriolisIteration: 2
      ReinitSplitVelocity: false

This configuration refers to the default time stepping used for the model dynamics (momentum and continuity equations). Additional time steppers can be used for other portions of the model (eg the barotropic mode or tracer transport) that may have different time steps and use different algorithms.

The CalendarType choice is described in the Time Management section.

The TimeStepper option refers to the numerical scheme used to advance the model in time. Omega implements a number of time-stepping schemes. The user can select the scheme they want in the configuration file. The following time steppers are currently available:

Config option name

Scheme

Forward-Backward

forward-backward

RungeKutta2

second-order two-stage midpoint Runge Kutta method

RungeKutta4

classic fourth-order four-stage Runge Kutta method

SplitExplicitRK2

mode-split RK2 with a subcycled barotropic mode

UnsplitRK2

the same RK2 scheme with mode splitting disabled

SplitExplicitRK2 and UnsplitRK2 use the ModeSplitShare configuration subgroup shown above. See Split time stepping for descriptions of these schemes and their configuration options.

The TimeStep refers to the main model time step used to advance the solution forward. The time step is specified as a formatted string and can be provided in any of the following forms:

  • DDDD_HH:MM:SS(.sss...)

  • HH:MM:SS(.sss...)

  • MM:SS(.sss...)

  • SS(.sss...)

Days, hours and minutes are optional but must be in order if included. Fractional seconds are optional.

The StartOption can be one of five choices. The StartUp option is for starting a solution from scratch from an initial state file. The Continue option is for continuing a simulation from a restart file. The Branch option will branch from an existing simulation by reading from the restart file and is identical to Continue except that some other simulation metadata (eg case name or simulation name) can be changed. The Hybrid option will continue a branch from a restart file but will reset the start time and should only be used for the first step of a hybrid run, similar to the StartUp option. It is equivalent to using the StartUp option and specifying the restart file as an init file. It is only provided in the event a future mult-level time stepping scheme is used in which starting from a restart with multiple time levels is an advantage over a fresh start. Finally, a Coupled option specifies that the StartType is provided by the coupler in a coupled configuration. The actual StartType used internally is created by the E3SM CIME tools from a combination of the RUN_TYPE and CONTINUE options.

The StartTime refers to the starting time for the full simulation (not the current leg of an ongoing simulation). It is in the format yyyy-mm-day_hh:mm:ss for year, month, day, hour, minute, second. If this is a continuation of an existing simulation, the current time for this leg of the full simulation will be set by the restart file.

A StopType determines (with the StopCriterion below) how the simulation will be stopped. There are three options. The AtTime option will stop the simulation at a specific time and the StopCriterion holds that specific time as described below. The AfterDuration option runs the simulation for a fixed time interval and the StopCriterion is used to define that interval. A final option called Coupled is primarily for coupled simulations where the simulation will stop after receiving a signal from the coupler.

For the AtTime stop type, the StopCriterion must be a time instant in the format yyyy-mm-dd_hh:mm:ss. If the StopType is AfterDuration, the StopCriterion is a time interval in the format described above for the time step (but typically dddd_hh:mm:ss). For the Coupled option the StopCriterion is ignored.