polaris.tasks.ocean.feature_masks.ComputeOceanFeatureMasksStep

class polaris.tasks.ocean.feature_masks.ComputeOceanFeatureMasksStep(component, name='compute_feature_masks', subdir=None, mesh_step=None, mesh_filename=None, mesh_name=None, mask_group=None)[source]

A feature-mask step for MPAS-Ocean or Omega mesh files.

Omega-specific input translation belongs in the ocean framework. The output remains in standard MPAS mask conventions, except for the ‘MOC Basins’ group, which produces a combined basin-mask and southern-boundary transect file named {mesh_name}_mocBasinsAndTransects{date}.nc.

__init__(component, name='compute_feature_masks', subdir=None, mesh_step=None, mesh_filename=None, mesh_name=None, mask_group=None)

Create a new feature-mask step.

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

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

  • subdir (str, optional) – The subdirectory for the step

  • mesh_step (polaris.Step, optional) – An upstream step that produces the mesh

  • mesh_filename (str, optional) – The mesh filename, either from mesh_step or configurable task config

  • mesh_name (str, optional) – The mesh name for output filenames and metadata

  • mask_group (str, optional) – A group name supported by get_aggregator_by_name()

Methods

__init__(component[, name, subdir, ...])

Create a new feature-mask 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_horiz_mesh_input_file(**kwargs)

Add the horizontal-mesh input file using a placeholder that is resolved to the configured filename at process_inputs_and_outputs() time.

add_init_input_file(**kwargs)

Add the initial-condition input file using a placeholder that is resolved to the configured filename at process_inputs_and_outputs() time.

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 an output file, optionally resolving validate_class to a pre-defined list of variables from the Ocean component.

add_output_files_for_ocean_model_input([...])

Register output files that will be consumed by the ocean model as inputs (horizontal mesh, initial condition, and model-specific files).

add_produced_file(filename)

Register a file the step has just written as one of its outputs

add_property_check(filename, check_properties)

Add a single conservation comparison for an output file

add_vert_coord_input_file([filename])

Add the vertical-coordinate input 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 resources based on available cores.

get_forcing_filename()

Get the configured local filename for the surface forcing file.

get_horiz_mesh_filename()

Get the configured local filename for the horizontal mesh file.

get_init_filename()

Get the configured local filename for the initial-condition file.

get_vert_coord_filename()

Get the configured local filename for the vertical coordinate file.

map_from_native_model_vars(ds)

If the model is Omega, rename dimensions and variables in a dataset from their Omega names to the MPAS-Ocean equivalent (appropriate for datasets that are output from the model)

map_to_native_model_vars(ds)

If the model is Omega, rename dimensions and variables in a dataset from their MPAS-Ocean names to the Omega equivalent (appropriate for input datasets like an initial condition)

open_model_dataset(filename[, config, ...])

Open the given dataset, mapping variable and dimension names from Omega to MPAS-Ocean names if appropriate

open_vert_coord_dataset(ds_init[, ...])

Return the dataset containing vertical-coordinate variables (bottomDepth, minLevelCell, maxLevelCell, vertCoordMovementWeights and either restingThickness or RefPseudoThickness).

process_inputs_and_outputs()

Resolve <<<placeholder>>> filenames to configured names and drop <<<vert_coord>>> entries for MPAS-Ocean before delegating to the base Step processing.

run()

Run the feature-mask step.

runtime_setup()

Set up runtime filenames after the work-dir config has been edited.

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

Set up the step in the work directory, including linking inputs.

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

write_forcing_dataset(ds, filename, config)

Write a surface forcing dataset, renaming to the native model's variable names and adding a Time dimension for MPAS-Ocean.

write_horiz_mesh_dataset(ds, filename, config)

Write a horizontal mesh dataset, validating that all expected mesh variables are present before writing.

write_initial_state_dataset(ds, filename, config)

Write an initial-state dataset, converting the tracers to the convention the model expects and omitting horizontal mesh fields and (for Omega) vertical coordinate fields.

write_model_dataset(ds, filename, config)

Write out the given dataset, mapping dimension and variable names from MPAS-Ocean to Omega names if appropriate

write_vert_coord_dataset(ds, filename, config)

Write a vertical-coordinate dataset for Omega's InitialVertCoord stream.

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

component

config

input_data

logger