polaris.tasks.ocean.realistic_global.init.initial_state.InitialStateStep
- class polaris.tasks.ocean.realistic_global.init.initial_state.InitialStateStep(component, subdir, pstar_init_step, cull_mesh_step)[source]
A step that reads
pstar_init.ncand writes model-specific ocean initial condition files.The target ocean model is read from the
[ocean] modelconfig option (resolved to'omega'or'mpas-ocean'during component setup).For Omega the output is split between
vert_coord.nc(vertical coordinate variables) andinit.nc(tracer and dynamical fields). For MPAS-Ocean all variables remain ininit.nc.The tracers in
pstar_init.ncare conservative temperature and absolute salinity (the TEOS-10 convention). Converting them to the convention the target model expects is the framework’s job, done inpolaris.ocean.model.OceanIOStep.write_initial_state_dataset(), so this step only has to supply the per-cell locations the conversion needs (pstar_init.nccarries no horizontal mesh fields).Both models receive the same converged geometric layer thicknesses as
restingThickness(andlayerThicknessat quiescent initialization). Wind stress is written separately byForcingStep; restoring fields remain future work.- Variables:
pstar_init_step (polaris.Step) – Upstream step that produces
pstar_init.nc.cull_mesh_step (polaris.Step) – Upstream cull-mesh step whose outputs include the MPAS mesh file, the graph file and the vector-reconstruction weights.
- __init__(component, subdir, pstar_init_step, cull_mesh_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.
pstar_init_step (polaris.Step) – The step that produces
pstar_init.nc.cull_mesh_step (polaris.Step) – The step that produces
culled_ocean_mesh.nc,culled_ocean_graph.infoandculled_ocean_reconstruction_weights.nc.
Methods
__init__(component, subdir, pstar_init_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_classto 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_taskandntasksbased on the number of cores available to this stepget_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,vertCoordMovementWeightsand eitherrestingThicknessorRefPseudoThickness).process_inputs_and_outputs()Resolve
<<<placeholder>>>filenames to configured names and drop<<<vert_coord>>>entries for MPAS-Ocean before delegating to the baseStepprocessing.run()Build model-specific initial condition files from
pstar_init.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 input and output files based on the configured ocean model.
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
Timedimension 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
InitialVertCoordstream.Attributes
coresthe number of cores this step needs, in total
gpusthe number of GPUs this step needs, in total
may_span_nodeswhether this step's cores and GPUs may come from several nodes
min_coresthe number of cores this step needs in order to run at all
min_gpusthe number of GPUs this step requires, in total
componentconfiginput_datalogger