polaris.tasks.ocean.realistic_global.init.forcing.ForcingStep

class polaris.tasks.ocean.realistic_global.init.forcing.ForcingStep(component, subdir, remap_jra55_step)[source]

A step that reads the remapped JRA55-do wind stress and writes the model-specific surface forcing file.

Both models take zonal and meridional stress components at cell centers and project onto edges themselves, so no vector rotation happens here. The field is authored in MPAS-Ocean names and renamed on write by polaris.ocean.model.OceanIOStep.write_forcing_dataset(), which also adds the Time dimension MPAS-Ocean’s Registry requires and Omega forbids.

Only wind stress is written. Surface restoring, thermal and freshwater fluxes, and time-varying forcing are future work.

Variables:

remap_jra55_step (polaris.Step) – The upstream step that produces jra55_on_mesh.nc.

__init__(component, subdir, remap_jra55_step)[source]

Create the step.

Parameters:
  • component (polaris.tasks.ocean.Ocean) – The ocean component the step belongs to.

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

  • remap_jra55_step (polaris.Step) – The step that produces jra55_on_mesh.nc.

Methods

__init__(component, subdir, remap_jra55_step)

Create the 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 cpus_per_task and ntasks based on the number of cores available to this step

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

Write the model-specific forcing.nc.

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

Declare the input and output files.

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