polaris.ocean.ice_shelf.SshForward

class polaris.ocean.ice_shelf.SshForward(component, min_resolution, init_filename, graph_filename, name='ssh_forward', subdir=None, package=None, yaml_filename='ssh_forward.yaml', yaml_replacements=None, indir=None, ntasks=None, min_tasks=None, openmp_threads=1)[source]

A step for performing forward ocean component runs as part of ssh adjustment.

Variables
  • min_resolution (float) – The minimum resolution in km used to determine the time step

  • package (Package) – The package name or module object that contains namelist

  • yaml_filename (str, optional) – the yaml filename used for ssh_forward steps

  • yaml_replacements (Dict, optional) – key, string combinations for templated replacements in the yaml file

__init__(component, min_resolution, init_filename, graph_filename, name='ssh_forward', subdir=None, package=None, yaml_filename='ssh_forward.yaml', yaml_replacements=None, indir=None, ntasks=None, min_tasks=None, openmp_threads=1)[source]

Create a new task

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

  • min_resolution (float) – The minimum resolution in km used to determine the time step

  • init_filename (str) – the initial condition filename (relative to the base work directory)

  • graph_filename (str) – the graph filename (relative to the base work directory)

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

  • subdir (str, optional) –

    the subdirectory for the step. If neither this nor indir

    are provided, the directory is the name

  • package (str, optional) – where ssh_forward steps will derive their configuration

  • yaml_filename (str, optional) – the yaml filename used for ssh_forward steps

  • yaml_replacements (Dict, optional) – key, string combinations for templated replacements in the yaml file

  • indir (str, optional) – the directory the step is in, to which name will be appended

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

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

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

Methods

__init__(component, min_resolution, ...[, ...])

Create a new task

add_dependency(step[, name])

Add step as a dependency of this step (i.e.

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

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

add_model_config_options(options)

Add the replacement model config options to be parsed when generating a namelist or yaml file if and when the step gets set up.

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_output_file(filename[, validate_vars])

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

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.

add_yaml_file(package, yaml[, ...])

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

compute_cell_count()

Compute the approximate number of cells in the mesh, used to constrain resources

constrain_resources(available_cores)

Update the number of MPI tasks to use based on the estimated mesh size

dynamic_model_config(at_setup)

Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime

map_yaml_to_namelist(options)

A mapping from yaml model config options to namelist options.

partition([graph_file])

Partition the domain for the requested number of tasks

process_inputs_and_outputs()

Process the model as an input, then call the parent class' version

run()

Run the step.

runtime_setup()

Update PIO namelist options, make graph file, and partition graph file (if any of these are requested)

set_model_resources([ntasks, min_tasks, ...])

Update the resources for the step.

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()

Determine if we will make yaml files or namelists and streams files, then, determine the number of MPI tasks to use based on the estimated mesh size

update_namelist_pio()

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).

validate_baselines()

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