ocean
|
The collection of all test case for the MPAS-Ocean core |
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) |
|
|
If the model is Omega, rename variables from their MPAS-Ocean names to the Omega equivalent (appropriate for validation variable lists) |
|
Write out the given dataset, mapping dimension and variable names from MPAS-Ocean to Omega names if appropriate |
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) |
|
|
If the model is Omega, rename variables from their Omega names to the MPAS-Ocean equivalent |
|
Open the given dataset, mapping variable and dimension names from Omega to MPAS-Ocean names if appropriate |
|
Add all ocean-related tasks to the ocean component. |
Tasks
baroclinic_channel
|
Add tasks for different baroclinic channel tests to the ocean component |
|
A step for performing forward ocean component runs as part of baroclinic channel tasks. |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
|
A step for creating a mesh and initial condition for baroclinic channel tasks |
Set up the task in the work directory, including downloading any dependencies. |
|
Run this step of the task |
|
|
A step for comparing outputs between steps in a baroclinic channel run |
Compare |
|
|
A step for plotting the results of a series of baroclinic channel RPE runs |
Run this step of the task |
|
|
The default baroclinic channel test case simply creates the mesh and initial condition, then performs a short forward run on 4 cores. |
|
A baroclinic channel decomposition task, which makes sure the model produces identical results on 1 and 4 cores. |
|
A baroclinic channel restart test case, which makes sure the model produces identical results with one longer run and two shorter runs with a restart in between. |
|
A forward model step in the restart test case |
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
|
|
A baroclinic channel thread test case, which makes sure the model produces identical results with 1 and 2 threads. |
|
The baroclinic channel reference potential energy (RPE) test case performs a 20-day integration of the model forward in time at 5 different values of the viscosity at the given resolution. |
Modify the configuration options for this test case. |
|
|
A step for plotting the results of a series of baroclinic channel RPE runs |
Set up the task in the work directory, including downloading any dependencies. |
|
Run this step of the test case |
barotropic_channel
|
Add tasks for barotropic channel tests to the ocean component |
|
A step for performing forward MPAS-Ocean runs as part of barotropic channel test cases. |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
|
A step for creating a mesh and initial condition for barotropic channel tasks |
Set up the task in the work directory, including downloading any dependencies. |
|
Run this step of the task |
|
|
A step for plotting the results of barotropic channel forward step |
Run this step of the task |
|
|
The default barotropic channel test case simply creates the mesh and initial condition, then performs a short forward run on 4 cores. |
barotropic_gyre
|
Add a task that defines a convergence test for inertial gravity waves |
|
The convergence test case for inertial gravity waves |
|
A step for analyzing the output from the barotropic gyre test case. |
|
Compute the error for a given resolution |
|
Exact solution to the barotropic streamfunction for the linearized Munk layer experiments. |
Run the step. |
|
|
A step for performing forward ocean component runs as part of barotropic gyre tasks. |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
Compute the approximate maximum time step for stability |
|
|
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
TEMP: symlink initial condition to name hard-coded in Omega |
|
|
A step for creating a mesh and initial condition for barotropic gyre tasks |
Set up the task in the work directory, including downloading any dependencies. |
|
Create the at rest inital condition for the barotropic gyre testcase |
cosine_bell
|
Add tasks that define variants of the cosine bell test case |
|
A convergence test for the advection of a cosine-bell tracer |
Set config options for the test case |
|
|
A step for an initial condition for for the cosine bell test case |
Run this step of the task |
|
|
Compute values according to cosine bell function |
|
A step for performing forward ocean component runs as part of the cosine bell test case |
|
A step for analyzing the output from the cosine bell test case |
|
Get the exact solution |
|
A step for comparing outputs between steps in a cosine bell run |
Compare |
|
|
A step for plotting fields from the cosine bell output |
Run this step of the test case |
|
|
A cosine bell decomposition task, which makes sure the model produces identical results on different numbers of cores. |
|
A cosine bell restart test case, which makes sure the model produces identical results with one longer run and two shorter runs with a restart in between. |
|
A forward model step in the restart test case |
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
customizable_viz
|
Add a customizable visualization task for MPAS output |
|
A customizable visualization task for MPAS output |
|
A step for visualizing MPAS horizontal fields |
Update attributes of the step at runtime before calling the |
|
Run the step. |
|
|
A step for visualizing MPAS vertical transects |
Update attributes of the step at runtime before calling the |
|
Run the step. |
geostrophic
|
Add tasks that define variants of the geostrophic test |
|
A convergence test for a configuration in geostrophic balance |
Set config options for the test case |
|
|
A step for an initial condition for for the geostrophic test case |
Run this step of the testcase |
|
|
A step for performing forward ocean component runs as part of the cosine bell test case |
|
A step for analyzing the output from the geostrophic test case |
|
Get the exact solution |
|
Get the model output field at the given time and z index |
|
A step for plotting fields from the cosine bell output |
Run this step of the test case |
ice_shelf_2d
|
Add tasks for different ice shelf 2-d tests to the ocean component |
|
The default ice shelf 2d test case simply creates the mesh and initial condition, then performs a short forward run. |
|
A step for performing forward ocean component runs as part of baroclinic channel tasks. |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
|
A step for creating a mesh and initial condition for ice shelf 2-d tasks |
Run this step of the task |
|
|
A step for comparing outputs between steps in a ice shelf 2d run |
Compare |
|
|
A step for visualizing a cross-section and horizontal planes through the ice shelf |
Run this step of the test case |
inertial_gravity_wave
|
Add a task that defines a convergence test for inertial gravity waves |
|
The convergence test case for inertial gravity waves |
|
A step for analysing the output from the inertial gravity wave test case |
|
Get the exact solution |
|
Class to compute the exact solution for the inertial gravity wave test case |
Exact solution for sea surface height |
|
Exact solution for normal velocity |
|
|
A step for performing forward ocean component runs as part of inertial gravity wave test cases. |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
A step for creating a mesh and initial condition for the inertial gravity wave test cases |
Run this step of the test case |
|
|
A step for visualizing the output from the inertial gravity wave test case |
Run this step of the test case |
internal_wave
|
Add tasks for different internal wave tests to the ocean component |
|
A step for performing forward MPAS-Ocean runs as part of internal wave test cases. |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
|
A step for creating a mesh and initial condition for internal wave test cases |
Run this step of the test case |
|
|
A step for visualizing a cross-section through the internal wave |
Run this step of the test case |
|
|
The default test case for the internal wave test |
|
The internal wave reference potential energy (RPE) test case performs a 20-day integration of the model forward in time at 5 different values of the viscosity at the given resolution. |
Modify the configuration options for this test case. |
|
|
A step for plotting the results of a series of internal wave RPE runs |
Run this step of the test case |
manufactured_solution
|
Add a task that defines a convergence test that uses the method of manufactured solutions |
|
The convergence test case using the method of manufactured solutions |
|
A step for analysing the output from the manufactured solution test case |
|
Get the exact solution |
|
Class to compute the exact solution for the manufactured solution test case |
Exact solution for sea surface height |
|
Exact solution for normal velocity |
|
|
A step for performing forward ocean component runs as part of manufactured solution test cases. |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
A step for creating a mesh and initial condition for the manufactured solution test cases |
Run this step of the test case |
|
Set up the task in the work directory, including downloading any dependencies. |
|
|
A step for visualizing the output from the manufactured solution test case |
Run this step of the test case |
merry_go_round
|
Add task define variants of the merry-go-round test case |
|
The default test case for the merry-go-round |
|
A step for visualizing the output of the default merry-go-round test case |
Add input files, which are dependent on the config options values |
|
Run this step of the test case |
|
|
A step for performing forward ocean component runs as part of merry-go-round test cases. |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
A step for creating a mesh and initial condition for merry-go-round task |
Set up the task in the work directory, including downloading any dependencies. |
|
Run this step of the task |
|
|
A step for analyzing the output from merry-go-round test case |
|
A step for visualizing the output from the merry-go-round test case |
Add input files based on resolutions, which may have been changed by user config options |
|
Run this step of the test case |
overflow
|
Add a task following the overflow test case of Petersen et al. (2015) doi:10.1016/j.ocemod.2014.12.004. |
|
The default overflow test case simply creates the mesh and initial condition, then performs a short forward run on 4 cores. |
|
A step for performing forward MPAS-Ocean runs as part of overflow test cases. |
|
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
A step for creating a mesh and initial condition for overflow test cases. |
Set up the task in the work directory, including downloading any dependencies. |
|
Run this step of the test case |
|
|
The overflow reference potential energy (RPE) test case performs a 40-day integration of the model forward in time at 5 different values of the viscosity at the given resolution. |
Modify the configuration options for this test case. |
|
|
A step for plotting the results of a series of overflow RPE runs |
Run this step of the test case |
|
|
A step for plotting the results of the default overflow forward step Similar viz is duplicated for the RPE task in its analysis step |
Run this step of the task |
seamount
|
Add a task following the seamount test case |
|
The default seamount test case simply creates the mesh and initial condition, then performs a short forward run on 4 cores. |
|
A step for performing forward MPAS-Ocean runs as part of seamount test cases. |
|
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
A step for creating a mesh and initial condition for seamount test cases. |
Set up the task in the work directory, including downloading any dependencies. |
|
Run this step of the test case |
|
|
A step for plotting the results of the default seamount forward step |
Run this step of the task |
single_column
|
Add tasks for various single-column tests |
|
The CVMix single-column test case creates the mesh and initial condition, then performs a short forward run testing vertical mixing on 1 core. |
|
The Ekman single-column test case creates the mesh and initial condition, then performs a short forward run spinning up an ekman layer on 1 core. |
|
A step for comparing the velocity profile to an analytic solution |
Run this step of the test case |
|
|
A step for performing forward ocean component runs as part of single_column test cases. |
|
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
|
The ideal-age single-column test case creates the mesh and initial condition, then performs a short forward run evolving the ideal-age tracer on 1 core. |
|
The inertial single-column test case creates the mesh and initial condition then performs a short forward run testing inertial oscillations on 1 core. |
|
The analysis step plots a time series showing inertial oscillations computes the oscillation frequency, and compares it to the theoretical frequency |
Run this step of the test case |
|
|
A step for creating a mesh and initial condition for single column test cases |
Run this step of the test case |
|
|
A step for plotting the results of a single-column test |
Run this step of the test case |
sphere_transport
|
Add tasks that define variants of sphere transport test cases: nondivergent_2d, divergent_2d, correlated_tracers_2d, rotation_2d |
|
A test case for testing properties of tracer advection |
Set config options for the test case |
|
|
A step for an initial condition for for the cosine bell test case |
Run this step of the task |
|
|
A step for performing forward ocean component runs as part of the sphere transport test case |
|
A step for analyzing the output from sphere transport test cases |
Get convergence parameters |
|
|
A step for analyzing the output from sphere transport test cases |
Run this step of the test case |
|
|
A step for analyzing the output from sphere transport test cases |
Run this step of the test case |
|
|
A step for plotting fields from the cosine bell output |
Run this step of the test case |
Ocean Framework
Conservation utilities
|
Compute the total mass in an ocean model output file using a constant density |
|
Compute the total salt in an ocean model output file |
|
Compute the total heat content an ocean model output file |
Convergence Tests
|
Get the resolution for a step in a convergence task |
|
Get the time step for a forward step in a convergence task |
|
A step for performing forward ocean component runs as part of a spherical convergence test |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
Set the model time step from config options at setup and runtime |
|
|
A step for analyzing the output from convergence tests |
Compute the error for a given resolution |
|
Get convergence parameters |
|
Get the exact solution |
|
Get the model output field at the given time and z index |
|
Compute the error norm for each resolution and produce a convergence plot |
|
Run this step of the test case |
|
Add input files based on resolutions, which may have been changed by user config options |
Spherical Convergence Tests
|
A step for performing forward ocean component runs as part of a spherical convergence test |
Compute the approximate number of cells in the mesh, used to constrain resources |
Ice Shelf
|
A class for tasks with domains containing ice shelves |
Setup ssh_forward and ssh_adjustment steps for all iterations |
|
|
A step for iteratively adjusting the pressure from the weight of the ice shelf to match the sea-surface height as part of ice-shelf 2D test cases |
Adjust the sea surface height or land-ice pressure to be dynamically consistent with one another. |
|
|
A step for performing forward ocean component runs as part of ssh adjustment. |
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
Add model config options, namelist, streams and yaml files using config options or template replacements that need to be set both during step setup and at runtime |
Ocean Model
|
A step that writes input and/or output files for Omega or MPAS-Ocean |
Set up the task in the work directory, including downloading any dependencies. |
|
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) |
|
|
Write out the given dataset, mapping dimension and variable names from MPAS-Ocean to Omega names if appropriate |
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) |
|
|
Open the given dataset, mapping variable and dimension names from Omega to MPAS-Ocean names if appropriate |
|
An Omega or MPAS-Ocean step |
Determine if we will make yaml files or namelists and streams files, then, determine the number of MPI tasks to use based on the estimated mesh size |
|
This method should be overridden to check properties of step outputs |
|
Update the number of MPI tasks to use based on the estimated mesh size |
|
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
A mapping between model config options from MPAS-Ocean to Omega |
|
A mapping between model sections and config options from MPAS-Ocean to Omega |
|
Convert a time interval in days and/or seconds to a string for use in a model config option. |
Equations of state (EOS)
|
Compute the density of seawater based on the equation of state specified in the configuration. |
|
Compute the specific volume of seawater based on the equation of state specified in the configuration. |
|
Compute the density of seawater based on the the linear equation of state with coefficients specified in the configuration. |
|
Compute specific volume from co-located p, CT and SA. |
Reference Potential Energy (RPE)
|
Computes the reference (resting) potential energy for the whole domain |
Vertical coordinates
|
Create a vertical coordinate based on the config options in the |
Compute height z at layer interfaces and midpoints given layer thicknesses and bottom depth. |
|
Compute the depth of the midpoint of each layer from layerThickness. |
|
Generate a vertical grid for a test case, using the config options in the |
|
|
write the vertical grid to a file |
Alter |
|
|
Alter |
Create a sigma (terrain-following) vertical coordinate based on the config options in the vertical_grid` section and the |
|
Update the sigma vertical coordinate layer thicknesses based on the |
|
Compute sigma layer thickness by stretching restingThickness based on ssh and bottom_depth |
|
|
Update the layer thicknesses in ds after the vertical coordinate has already been initialized based on the |
Create a z-level vertical coordinate based on the config options in the |
|
Update the z-level vertical coordinate layer thicknesses based on the |
|
Compute |
|
Compute z-level layer thickness from ssh and bottomDepth |
|
Compute z-level resting thickness by "unstretching" layerThickness based on ssh and bottomDepth |
|
Create a z-star vertical coordinate based on the config options in the |
|
Update the z-star vertical coordinate layer thicknesses based on the |
|
Convert sea pressure to pseudo-height. |
|
Convert pseudo-height to sea pressure. |
|
Compute the pressure at layer interfaces and midpoints given surface pressure, geometric layer thicknesses, and specific volume. |
|
|
Compute the pressure at layer interfaces and midpoints, as well as the specific volume at midpoints given geometric layer thicknesses, temperature and salinity at layer midpoints (i.e. constant in geometric height, not pseudo-height), and surface pressure. |
Sum geometric heights from pseudo-heights and specific volume. |