polaris.tasks.e3sm.init.component_inputs.ocean_mesh.OceanMeshStep
- class polaris.tasks.e3sm.init.component_inputs.ocean_mesh.OceanMeshStep(component, subdir, init_step, name='ocean_mesh')[source]
A step for staging the MPAS-Ocean mesh file.
The horizontal mesh comes from the initial-state step’s
mesh.nc– the culled ocean mesh plus Coriolis, which is exactly what MPAS-Ocean reads in its mesh stream – and the vertical coordinate from itsinit.nc. All ofVERT_COORD_VARSis already written there, so unlike the Compass step this replaces, nothing is recomputed butzMid.zMidis derived from thelayerThicknessandbottomDepthin this same file rather than taken from the initial state’sGeomZMid, which is the same quantity arrived at through the p-star iteration. The two agree, but deriving it here is what makes the staged file internally consistent, which is the property MPAS-Ocean depends on.No land-ice fields and no cavity gating: the unified meshes are culled under the
calving_frontconvention and run withconfig_land_ice_flux_mode = off, so thelandIcePressurePKGvariables are never allocated. Writing them as zeros “to be safe” would be the safer-looking choice that is harder to debug later.- Variables:
init_step (polaris.Step) – The initial-state step that wrote the mesh and vertical coordinate.
- __init__(component, subdir, init_step, name='ocean_mesh')[source]
Create a new step.
- Parameters:
component (polaris.Component) – The component the step belongs to.
subdir (str) – The subdirectory for the step.
init_step (polaris.Step) – The initial-state step that wrote
mesh.ncandinit.nc.name (str, optional) – The name of the step.
Methods
__init__(component, subdir, init_step[, name])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_taskandntasksbased on the number of cores available to this stepprocess_inputs_and_outputs()Process the inputs to and outputs from a step added with
polaris.Step.add_input_file()andpolaris.Step.add_output_file().run()Combine the horizontal mesh and the vertical coordinate.
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
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