polaris.tasks.ocean.horiz_press_grad.resting_analysis.RestingAnalysis
- class polaris.tasks.ocean.horiz_press_grad.resting_analysis.RestingAnalysis(component, indir, dependencies, sweep_keys, schemes)[source]
A step for analyzing the two-column HPGA in an exact resting state, where the true HPGA is identically zero and no reference solution is needed.
Unlike
Analysis, which measures convergence toward a quasi-analytic reference, this step measures the absolute HPGA (which is entirely error) as a function of a swept coordinate or bathymetric tilt, and fits the exponentqin|HPGA| ~ tilt**q.It also includes the deepest layer valid in both columns bounding the edge, which
Analysisdeliberately drops. That layer is the bottom partial cell, and in a p-star column with a stepped sea floor it carries the entire signal.- Variables:
dependencies_dict (dict) –
A dictionary of dependent steps:
- initdict
Mapping from
(horiz_res, vert_res, tilt)toInitstep- forwarddict
Mapping from
((horiz_res, vert_res, tilt), scheme)toForwardstep
sweep_keys (list of tuple) – The
(horiz_res, vert_res, tilt)triples in the sweep, in the order they are analyzed.schemes (list of str) – The pressure-gradient schemes being compared
- __init__(component, indir, dependencies, sweep_keys, schemes)[source]
Create the analysis step
- Parameters:
component (polaris.Component) – The component the step belongs to
indir (str) – The subdirectory that the task belongs to, that this step will go into a subdirectory of
dependencies (dict) – A dictionary of dependent steps
sweep_keys (list of tuple) – The
(horiz_res, vert_res, tilt)triples in the sweepschemes (list of str) – The pressure-gradient schemes being compared
Methods
__init__(component, indir, dependencies, ...)Create the analysis 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_forcing_input_file(**kwargs)Add the surface-forcing input file using a placeholder that is resolved to the configured filename at
process_inputs_and_outputs()time.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()Run this step of the test case
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()Add inputs from init and forward steps
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