polaris.tasks.ocean.realistic_global.restart.validate.Validate
- class polaris.tasks.ocean.realistic_global.restart.validate.Validate(component, full_run_subdir, restart_subdir, indir)[source]
Check that a run split across a restart writes the same history as the same run done in one go.
Two things are checked, because a restart can go wrong in two ways. The time axis has to hold every frame of the whole period, in increasing order: Omega #482 was a case where the continuing segment silently overwrote the earlier frames instead of appending to them, leaving a file that was well formed and simply missing its first half. The state then has to match the uninterrupted run, which is the usual exact-restart check.
- Variables:
- __init__(component, full_run_subdir, restart_subdir, indir)[source]
Create the step
- Parameters:
component (polaris.Component) – The component the step belongs to
full_run_subdir (str) – Subdirectory of the step that ran the whole period in one go
restart_subdir (str) – Subdirectory of the final segment of the restart chain
indir (str) – the directory the step is in, to which
namewill be appended
Methods
__init__(component, full_run_subdir, ...)Create the step
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_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_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()Compare the history of the restart chain with the history of the uninterrupted run
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()Set up the task in the work directory, including downloading any dependencies.
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_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