compass.ocean.tests.global_ocean.forward.ForwardStep

class compass.ocean.tests.global_ocean.forward.ForwardStep(test_case, mesh, init, time_integrator, name='forward', subdir=None, cores=None, min_cores=None, threads=None)[source]

A step for performing forward MPAS-Ocean runs as part of global ocean test cases.

Variables
  • mesh (compass.ocean.tests.global_ocean.mesh.Mesh) – The test case that produces the mesh for this run

  • init (compass.ocean.tests.global_ocean.init.Init) – The test case that produces the initial condition for this run

  • time_integrator ({'split_explicit', 'RK4'}) – The time integrator to use for the forward run

  • cores_from_config (bool) – Whether to get cores from the config file

  • min_cores_from_config (bool) – Whether to get min_cores from the config file

  • threads_from_config (bool) – Whether to get threads from the config file

__init__(test_case, mesh, init, time_integrator, name='forward', subdir=None, cores=None, min_cores=None, threads=None)[source]

Create a new step

Parameters
  • test_case (compass.TestCase) – The test case this step belongs to

  • mesh (compass.ocean.tests.global_ocean.mesh.Mesh) – The test case that produces the mesh for this run

  • init (compass.ocean.tests.global_ocean.init.Init) – The test case that produces the initial condition for this run

  • time_integrator ({'split_explicit', 'RK4'}) – The time integrator to use for the forward run

  • name (str, optional) – the name of the step

  • subdir (str, optional) – the subdirectory for the step. The default is name

  • cores (int, optional) – the number of cores the step would ideally use. If fewer cores are available on the system, the step will run on all available cores as long as this is not below min_cores

  • min_cores (int, optional) – the number of cores the step requires. If the system has fewer than this number of cores, the step will fail

  • threads (int, optional) – the number of threads the step will use

Methods

__init__(test_case, mesh, init, time_integrator)

Create a new step

add_input_file([filename, target, database, ...])

Add an input file to the step (but not necessarily to the MPAS model).

add_model_as_input()

make a link to the model executable and add it to the inputs

add_namelist_file(package, namelist[, ...])

Add a file with updates to namelist options to the step to be parsed when generating a complete namelist file if and when the step gets set up.

add_namelist_options(options[, out_name, mode])

Add the namelist replacements to be parsed when generating a namelist file if and when the step gets set up.

add_output_file(filename)

Add the output file that must be produced by this step and may be made available as an input to steps, perhaps in other test cases.

add_streams_file(package, streams[, ...])

Add a streams file to the step to be parsed when generating a complete streams file if and when the step gets set up.

process_inputs_and_outputs()

Process the inputs to and outputs from a step added with compass.Step.add_input_file() and compass.Step.add_output_file().

run()

Run this step of the testcase

setup()

Set up the test case in the work directory, including downloading any dependencies

update_namelist_at_runtime(options[, out_name])

Update an existing namelist file with additional options.

update_namelist_pio([out_name])

Modify the namelist so the number of PIO tasks and the stride between them consistent with the number of nodes and cores (one PIO task per node).

update_streams_at_runtime(package, streams, ...)

Update the streams files during the run phase of this step using the given template and replacements.