polaris.ocean.convergence.ConvergenceAnalysis

class polaris.ocean.convergence.ConvergenceAnalysis(component, resolutions, subdir, dependencies, convergence_vars)[source]

A step for analyzing the output from convergence tests

Variables
  • resolutions (list of float) – The resolutions of the meshes that have been run

  • 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

__init__(component, resolutions, subdir, dependencies, convergence_vars)[source]

Create the step

Parameters
  • component (polaris.Component) – The component the step belongs to

  • resolutions (list of float) – The resolutions of the meshes that have been run

  • 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 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 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

Methods

__init__(component, resolutions, subdir, ...)

Create the step

add_dependency(step[, name])

Add step as a dependency of this step (i.e.

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(mesh_name, 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(mesh_name, field_name, time)

Get the exact solution

get_output_field(mesh_name, field_name, time)

Get the model output field at the given time and z index

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.