ocean
|
The collection of all test case for the MPAS-Ocean core |
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_gyre
|
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 barotropic gyre test case |
|
Compute the error for a given resolution |
|
Exact solution to the sea surface height for the linearized Munk layer experiments. |
Run the step. |
|
|
Compute the approximate maximum time step for stability |
|
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 |
|
|
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. |
|
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 |
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 the cosine bell test case |
|
Get the exact solution |
|
A step for plotting fields from the cosine bell output |
Run this step of the test case |
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 |
|
If the ocean model is Omega, set up maps between Omega and MPAS-Ocean variable names |
|
|
A step for visualizing the output from the manufactured solution test case |
Run this step of the test case |
single_column
|
Add tasks for various single-column tests |
|
A step for performing forward ocean component runs as part of baroclinic channel test cases. |
|
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 |
|
|
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 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. |
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
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 |
|
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 |
If the ocean model is Omega, set up maps between Omega and MPAS-Ocean variable names |
|
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 |
|
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. |
Spherical Base Mesh Step
|
Add a shared step for creating spherical base mesh with the given resolution to the ocean component (if one has not already been added) |
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 |
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 |
|
|
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 |
Visualization
|
build a sequence of quads showing the transect intersecting mpas cells. |
|
plot a transect showing the field on the MPAS-Ocean mesh and save to a file |
|
Find "nodes" where the transect intersects the edges of the triangles that make up MPAS cells. |
Find "nodes" where the transect intersects the edges of the triangles that make up MPAS cells. |
|
|
Make a KD-Tree for finding triangle edges that are near enough to transect segments that they might intersect |
|
Construct a dataset in which each MPAS cell is divided into the triangles connecting pairs of adjacent vertices to cell centers. |
Construct a vertical coordinate for a transect produced by |
|
Interpolate an MPAS-Ocean DataArray with dimensions |
|
Interpolate an MPAS-Ocean DataArray with dimensions |