polaris.tasks.e3sm.init.component_inputs.ocean_initial_condition.OceanInitialConditionStep

class polaris.tasks.e3sm.init.component_inputs.ocean_initial_condition.OceanInitialConditionStep(component, subdir, forward_step, check_step, restart_filename, name='ocean_initial_condition')[source]

A step for staging the MPAS-Ocean initial condition.

The state E3SM should start from is the one the dynamic adjustment finished with, not the one it started from: the adjustment exists to dissipate the fast waves that an interpolated initial condition sets off, and staging initial_state’s init.nc would hand every E3SM run that transient back.

So the source is the final adjustment stage’s restart. Which stage that is, and what its restart is called, depend on the schedule, which is why get_realistic_dynamic_adjustment_steps() hands back the stages along with the steps.

Variables:
  • forward_step (polaris.Step) – The final dynamic-adjustment stage.

  • check_step (polaris.Step) – The check of the final stage.

  • restart_filename (str) – The restart that stage writes, relative to its parent directory.

__init__(component, subdir, forward_step, check_step, restart_filename, name='ocean_initial_condition')[source]

Create a new step.

Parameters:
  • component (polaris.Component) – The component the step belongs to.

  • subdir (str) – The subdirectory for the step.

  • forward_step (polaris.Step) – The final dynamic-adjustment stage.

  • check_step (polaris.Step) – The check of the final stage, which has to pass before the restart is staged.

  • restart_filename (str) – The restart that stage writes, relative to its parent directory (the stages share one restarts directory).

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

Methods

__init__(component, subdir, forward_step, ...)

Create a new step.

add_cf_check([filename])

Check an output file for CF compliance after the step runs.

add_dependency(step[, name])

Add step as a dependency of this step (i.e. this step can't run until the dependency has finished).

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

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

add_output_file(filename[, validate_vars, ...])

Add the output file to the step

add_property_check(filename, check_properties)

Add a single conservation comparison for an output file

check_cf()

Check the files added with add_cf_check() for CF compliance.

check_properties()

Check conservation properties of the output files of this step.

constrain_resources(available_resources)

Constrain cpus_per_task and ntasks based on the number of cores available to this step

process_inputs_and_outputs()

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

run()

Stage the adjusted restart as the initial condition.

runtime_setup()

Update attributes of the step at runtime before calling the run() method.

set_resources([cpus_per_task, ...])

Update the resources for the subtask.

set_shared_config(config[, link])

Replace the step's config parser with the shared config parser

setup()

Refuse a model whose packaging is not supported, before anything runs.

validate_baselines()

Compare variables between output files in this step and in the same step from a baseline run if one was provided.

work_path(*filenames)

Get the absolute path to a file or directory in the step's work directory

Attributes

cores

the number of cores this step needs, in total

gpus

the number of GPUs this step needs, in total

may_span_nodes

whether this step's cores and GPUs may come from several nodes

min_cores

the number of cores this step needs in order to run at all

min_gpus

the number of GPUs this step requires, in total