polaris.ocean.convergence.analysis.ConvergenceAnalysis
- class polaris.ocean.convergence.analysis.ConvergenceAnalysis(component, subdir, dependencies, convergence_vars, refinement='both')[source]
A step for analyzing the output from convergence tests
- Variables:
dependencies_dict (dict of dict of polaris.Steps) –
The dependencies of this step must be given as separate keys in the dict:
- meshdict of polaris.Steps
Keys of the dict correspond to resolutions Values of the dict are polaris.Steps, which must have the attribute path, the path to base_mesh.nc of that resolution
- initdict of polaris.Steps
Keys of the dict correspond to resolutions Values of the dict are polaris.Steps, which must have the attribute path, the path to initial_state.nc of that resolution
- forwarddict of polaris.Steps
Keys of the dict correspond to resolutions Values of the dict are polaris.Steps, which must have the attribute path, the path to forward.nc of that resolution
convergence_vars (list of dict) –
The attributes for each variable for which to analyze the convergence rate. Each dict must contain the following keys:
- namestr
The name of the variable as given in the output netcdf file
- titlestr
The name of the variable to use in the plot title
- zidxint
The z-index to use for variables that have an nVertLevels dimension, which should be None for variables that don’t
refinement (str) – Refinement type. One of ‘space’, ‘time’ or ‘both’ indicating both space and time
- __init__(component, subdir, dependencies, convergence_vars, refinement='both')[source]
Create the step
- Parameters:
component (polaris.Component) – The component the step belongs to
subdir (str) – The subdirectory that the step resides in
dependencies (dict of dict of polaris.Steps) –
The dependencies of this step must be given as separate keys in the dict:
- meshdict of polaris.Steps
Keys of the dict correspond to refinement_factors Values of the dict are polaris.Steps, which must have the attribute path, the path to base_mesh.nc of that resolution
- initdict of polaris.Steps
Keys of the dict correspond to refinement_factors Values of the dict are polaris.Steps, which must have the attribute path, the path to initial_state.nc of that resolution
- forwarddict of polaris.Steps
Keys of the dict correspond to refinement_factors Values of the dict are polaris.Steps, which must have the attribute path, the path to forward.nc of that resolution
convergence_vars (list of dict) –
The convergence attributes for each variable. Each dict must contain the following keys:
- namestr
The name of the variable as given in the output netcdf file
- titlestr
The name of the variable to use in the plot title
- zidxint
The z-index to use for variables that have an nVertLevels dimension, which should be None for variables that don’t
refinement (str, optional) – Refinement type. One of ‘space’, ‘time’ or ‘both’ indicating both space and time
Methods
__init__
(component, subdir, dependencies, ...)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_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 that must be produced by this step and may be made available as an input to steps, perhaps in other tasks.
compute_error
(refinement_factor, variable_name)Compute the error for a given resolution
constrain_resources
(available_resources)Constrain
cpus_per_task
andntasks
based on the number of cores available to this stepconvergence_parameters
([field_name])Get convergence parameters
exact_solution
(refinement_factor, ...[, zidx])Get the exact solution
get_output_field
(refinement_factor, ...[, zidx])Get the model output field at the given time and z index
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, **kwargs)Open the given dataset, mapping variable and dimension names from Omega to MPAS-Ocean names if appropriate
plot_convergence
(variable_name, title, zidx)Compute the error norm for each resolution and produce a convergence plot
process_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
()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 input files based on resolutions, which may have been changed by user config options
validate_baselines
()Compare variables between output files in this step and in the same step from a baseline run if one was provided.
write_model_dataset
(ds, filename)Write out the given dataset, mapping dimension and variable names from MPAS-Ocean to Omega names if appropriate