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 and ntasks based on the number of cores available to this step

convergence_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() and polaris.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