ocean¶
  | 
The collection of all test case for the MPAS-Ocean core  | 
Test Groups¶
baroclinic_channel¶
  | 
A test group for baroclinic channel test cases  | 
  | 
Modify the configuration options for one of the baroclinic test cases  | 
  | 
A decomposition test case for the baroclinic channel test group, which makes sure the model produces identical results on 1 and 4 cores.  | 
Modify the configuration options for this test case.  | 
|
Run each step of the test case.  | 
|
  | 
The default test case for the baroclinic channel test group simply creates the mesh and initial condition, then performs a short forward run on 4 cores.  | 
Modify the configuration options for this test case.  | 
|
Run each step of the test case.  | 
|
  | 
A restart test case for the baroclinic channel test group, which makes sure the model produces identical results with one longer run and two shorter runs with a restart in between.  | 
Modify the configuration options for this test case.  | 
|
Run each step of the test case.  | 
|
  | 
The reference potential energy (RPE) test case for the baroclinic channel test group 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.  | 
|
Run each step of the test case.  | 
|
  | 
A step for plotting the results of a series of RPE runs in the baroclinic channel test group  | 
Set up the test case in the work directory, including downloading any dependencies.  | 
|
Run this step of the test case  | 
|
  | 
A thread test case for the baroclinic channel test group, which makes sure the model produces identical results with 1 and 2 threads.  | 
Modify the configuration options for this test case.  | 
|
Run each step of the test case.  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of baroclinic channel test cases.  | 
Set up the test case in the work directory, including downloading any dependencies.  | 
|
Run this step of the test case  | 
|
  | 
A step for creating a mesh and initial condition for baroclinic channel test cases  | 
Set up the test case in the work directory, including downloading any dependencies.  | 
|
Run this step of the test case  | 
global_convergence¶
  | 
A test group for setting up global initial conditions and performing regression testing and dynamic adjustment for MPAS-Ocean  | 
cosine_bell¶
  | 
A test case for creating a global MPAS-Ocean mesh  | 
Set config options for the test case  | 
|
Run each step of the testcase  | 
|
  | 
A step for creating uniform global meshes  | 
Run this step of the test case  | 
|
Create cell width array for this mesh on a regular latitude-longitude grid  | 
|
  | 
A step for an initial condition for for the cosine bell test case  | 
Run this step of the testcase  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of the cosine bell test case  | 
Set namelist options base on config options  | 
|
Run this step of the testcase  | 
|
Get the time step  | 
|
  | 
A step for visualizing the output from the cosine bell test case  | 
Run this step of the test case  | 
|
  | 
Compute the RMSE for a given resolution  | 
global_ocean¶
test cases and steps¶
  | 
A test group for setting up global initial conditions and performing regression testing and dynamic adjustment for MPAS-Ocean  | 
  | 
A test case for performing a short forward run with an MPAS-Ocean global initial condition and check nearly all MPAS-Ocean analysis members to make sure they run successfully and output is identical to a baseline (if one is provided).  | 
Modify the configuration options for this test case  | 
|
Run each step of the testcase  | 
|
A test case to test the output for the TimeSeriesStatMonthly analysis member in E3SM.  | 
|
Modify the configuration options for this test case  | 
|
Run each step of the testcase  | 
|
  | 
A test case for performing two short forward runs to make sure the results are identical with 4 and 8 cores  | 
Modify the configuration options for this test case  | 
|
Run each step of the testcase  | 
|
  | 
A test case for assembling files needed for MPAS-Ocean and MPAS-Seaice initial conditions in E3SM as well as files needed for diagnostics from the Meridional Overturning Circulation analysis member and MPAS-Analysis  | 
Modify the configuration options for this test case  | 
|
Run each step of the test case.  | 
|
  | 
A step for creating an E3SM ocean initial condition from the results of a dynamic-adjustment process to dissipate fast waves  | 
  | 
Run this step of the testcase  | 
  | 
A step for creating an E3SM ocean initial condition from the results of a dynamic-adjustment process to dissipate fast waves  | 
  | 
Run this step of the testcase  | 
  | 
A step for creating SCRIP files from the MPAS-Ocean mesh  | 
Run this step of the testcase  | 
|
  | 
A step for creating an E3SM sea-ice initial condition from variables from an MPAS-Ocean restart file  | 
  | 
Run this step of the testcase  | 
A step for creating files needed for the Meridional Overturning Circulation analysis member and diagnostics from MPAS-Analysis  | 
|
Run this step of the testcase  | 
|
  | 
A test case for creating initial conditions on a global MPAS-Ocean mesh  | 
Modify the configuration options for this test case  | 
|
Run each step of the testcase  | 
|
  | 
A step for creating a mesh and initial condition for baroclinic channel test cases  | 
Set up the test case in the work directory, including downloading any dependencies.  | 
|
Run this step of the testcase  | 
|
  | 
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  | 
Set up the test case in the work directory, including downloading any dependencies  | 
|
Run this step of the testcase  | 
|
  | 
A test case for creating a global MPAS-Ocean mesh  | 
Modify the configuration options for this test case  | 
|
Run each step of the testcase  | 
|
  | 
First step of initializing the global ocean:  | 
  | 
A step for creating a global MPAS-Ocean mesh  | 
Set up the test case in the work directory, including downloading any dependencies.  | 
|
Run this step of the test case  | 
|
A function for creating cell width array for this mesh on a regular latitude-longitude grid.  | 
|
  | 
A step for creating EC30to60 and ECwISC30to60 meshes  | 
Create cell width array for this mesh on a regular latitude-longitude grid  | 
|
  | 
A test case performing dynamic adjustment (dissipating fast-moving waves) from an initial condition on the EC30to60 MPAS-Ocean mesh  | 
  | 
Modify the configuration options for this test case  | 
  | 
Run each step of the testcase  | 
  | 
A step for creating QU240 and QUwISC240 meshes  | 
Create cell width array for this mesh on a regular latitude-longitude grid  | 
|
A test case performing dynamic adjustment (dissipating fast-moving waves) from an initial condition on the QU240 MPAS-Ocean mesh  | 
|
  | 
Modify the configuration options for this test case  | 
Run each step of the testcase  | 
|
  | 
A step for creating SOwISC12to60 meshes  | 
Create cell width array for this mesh on a regular latitude-longitude grid  | 
|
  | 
A test case performing dynamic adjustment (dissipating fast-moving waves) from an initial condition on the SO12to60 MPAS-Ocean mesh  | 
  | 
Modify the configuration options for this test case  | 
  | 
Run each step of the testcase  | 
  | 
A step for creating SOwISC12to60 meshes  | 
Create cell width array for this mesh on a regular latitude-longitude grid  | 
|
A test case performing dynamic adjustment (dissipating fast-moving waves) from an initial condition on the WC14 MPAS-Ocean mesh  | 
|
  | 
Modify the configuration options for this test case  | 
Run each step of the testcase  | 
|
  | 
A test case for performing a short forward run with an MPAS-Ocean global initial condition assess performance and compare with previous results  | 
Modify the configuration options for this test case  | 
|
Run each step of the testcase  | 
|
  | 
A test case for performing two forward run, one without a restart and one with to make sure the results are identical  | 
Modify the configuration options for this test case  | 
|
Run each step of the testcase  | 
|
  | 
A test case for performing two short forward runs to make sure the results are identical with 1 and 2 thread per MPI process  | 
Modify the configuration options for this test case  | 
|
Run each step of the testcase  | 
|
A parent test case for performing dynamic adjustment (dissipating fast-moving waves) from an MPAS-Ocean initial condition.  | 
|
Run each step of the testcase  | 
|
  | 
A parent class for test cases for forward runs with global MPAS-Ocean mesh  | 
Modify the configuration options for this test case  | 
|
Run each step of the testcase  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of global ocean test cases.  | 
Set up the test case in the work directory, including downloading any dependencies  | 
|
Run this step of the testcase  | 
global_ocean framework¶
  | 
Modify the configuration options for this test case  | 
  | 
Get short and long E3SM mesh name from config options and the given number of vertical levels (typically taken from an initial condition or restart file).  | 
Add MPAS mesh and initial condition metadata to NetCDF outputs of the given step  | 
gotm¶
  | 
A test group for General Ocean Turbulence Model (GOTM) test cases  | 
default¶
  | 
The default test case for the General Ocean Turbulence Model (GOTM) test group creates an initial condition on a 4 x 4 cell, doubly periodic grid, performs a short simulation, then vertical plots of the velocity and viscosity.  | 
Validate variables against a baseline  | 
|
  | 
A step for creating a mesh and initial condition for General Ocean Turbulence Model (GOTM) test cases  | 
Run this step of the test case  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of General Ocean Turbulence Model (GOTM) test cases.  | 
Run this step of the test case  | 
|
  | 
A step for plotting the results of the default General Ocean Turbulence Model (GOTM) test case  | 
Run this step of the test case  | 
ice_shelf_2d¶
  | 
A test group for ice-shelf 2D test cases  | 
  | 
Modify the configuration options for this test case  | 
  | 
The default ice-shelf 2D test case, which performs a short forward run with the z-star vertical coordinate and with 15 iterations of adjustment to make the pressure from the weight of the ice shelf match the sea-surface height  | 
Modify the configuration options for this test case.  | 
|
Run each step of the test case.  | 
|
  | 
A restart test case for the ice-shelf 2D test case test group, which makes sure the model produces identical results with one longer run and two shorter runs with a restart in between.  | 
Modify the configuration options for this test case.  | 
|
Run each step of the test case.  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of ice-shelf 2D test cases.  | 
Set up the test case in the work directory, including downloading any dependencies.  | 
|
Run this step of the test case  | 
|
  | 
A step for creating a mesh and initial condition for ice-shelf 2D test cases  | 
Run this step of the test case  | 
|
  | 
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  | 
Set up the test case in the work directory, including downloading any dependencies.  | 
|
Run this step of the test case  | 
|
  | 
A step for visualizing a cross-section through the 2D ice-shelf domain  | 
Run this step of the test case  | 
internal_wave¶
  | 
A test group for General Ocean Turbulence Model (GOTM) test cases  | 
  | 
The default test case for the internal wave test  | 
Validate variables against a baseline  | 
|
  | 
The reference potential energy (RPE) test case for the internal wave test group performs a 20-day integration of the model forward in time at 5 different values of the viscosity at the given resolution.  | 
  | 
A step for plotting the results of a series of RPE runs in the internal wave test group  | 
Run this step of the test case  | 
|
  | 
The default test case for the internal wave test  | 
Validate variables against a baseline  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of internal wave test cases.  | 
Run this step of the test case  | 
|
  | 
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  | 
isomip_plus¶
  | 
A test group for ice-shelf 2D test cases  | 
  | 
An ISOMIP+ test case  | 
Modify the configuration options for this test case.  | 
|
Run each step of the test case  | 
|
  | 
A step for visualizing output from an ISOMIP+ simulation  | 
Run this step of the test case  | 
|
  | 
Find out if the file already has the same number of time slices as the monthly-mean data set  | 
  | 
A plotter object to hold on to some info needed for plotting time series from ISOMIP+ simulation results  | 
Plot a series of image for each of several variables related to melt at the ice shelf-ocean interface: mean melt rate, total melt flux, mean thermal driving, mean friction velocity  | 
|
  | 
A plotter object to hold on to some info needed for plotting images from ISOMIP+ simulation results  | 
Plot a series of image of the barotropic streamfunction  | 
|
  | 
Plot a series of image of the overturning streamfunction  | 
Plot a series of image of the melt rate  | 
|
Plot a series of image for each of several variables related to the ice shelf-ocean interface: heat flux from the ocean, heat flux into the ice, thermal driving, haline driving, and the friction velocity under ice  | 
|
Plot a series of images of temperature at the sea surface or ice-ocean interface, sea floor and in an x-z section  | 
|
Plot a series of images of salinity at the sea surface or ice-ocean interface, sea floor and in an x-z section  | 
|
Plot a series of images of salinity at the sea surface or ice-ocean interface, sea floor and in an x-z section  | 
|
Plot a series of image of a given variable  | 
|
  | 
Plot a series of images of a given 3D variable showing the value at the top (sea surface or ice-ocean interface), sea floor and in an x-z section  | 
Plot layer interfaces, the sea surface height and the bottom topography of the cross section at fixed y.  | 
|
  | 
Convert all the image sequences into movies with ffmpeg  | 
Update the "evaporation" fluxes used to keep sea level under control for the ISOMIP+ experiments.  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of ice-shelf 2D test cases.  | 
Set up the test case in the work directory, including downloading any dependencies.  | 
|
Run this step of the test case  | 
|
  | 
Process the BISICLES input geometry from ISOMIP+.  | 
  | 
Interpolate the ocean mask from the original BISICLES grid to the MPAS mesh.  | 
  | 
A step for creating a mesh and initial condition for ISOMIP+ test cases  | 
Run this step of the test case  | 
|
  | 
A step for interpolating output to the MISOMIP1 grid from an ISOMIP+ simulation  | 
Run this step of the test case  | 
|
  | 
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  | 
Set up the test case in the work directory, including downloading any dependencies.  | 
|
Run this step of the test case  | 
|
  | 
A step for computing the barotropic and overturning streamfunctions from ISOMIP+ simulation results  | 
Run this step of the test case  | 
planar_convergence¶
  | 
A test group for testing horizontal advection in MPAS-Ocean  | 
  | 
A step for creating a mesh for a given resolution in a planar convergence test case.  | 
Run this step of the test case  | 
|
  | 
A test case for various convergence tests on in MPAS-Ocean with planar, doubly periodic meshes  | 
Set config options for the test case  | 
|
Run each step of the testcase  | 
|
Update the number of cores and min_cores for each forward step  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of a planar convergence test case  | 
Set namelist options base on config options  | 
|
Run this step of the testcase  | 
|
Get the time step and run duration as namelist options from config options  | 
horizontal_advection¶
  | 
A test case for testing horizontal advection in MPAS-Ocean with planar, doubly periodic meshes  | 
Set config options for the test case  | 
|
Run each step of the testcase  | 
|
  | 
A step for creating an initial_condition for advection convergence test case  | 
Run this step of the test case  | 
|
  | 
A step for visualizing the output from the advection convergence test case  | 
Run this step of the test case  | 
|
  | 
Compute the RMSE for a given resolution  | 
soma¶
  | 
A test group for Simulating Ocean Mesoscale Activity (SOMA) test cases  | 
  | 
The class for all test cases in the SOMA test group.  | 
Test cases can override this method to perform validation of variables  | 
|
  | 
A step for verifying that temperature and salinity profiles for SOMA case from particle interpolations are consistent with initialized profiles  | 
Run this step of the test case  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of SOMA test cases.  | 
Run this step of the test case  | 
|
  | 
A step for creating a mesh and initial condition for SOMA test cases  | 
Run this step of the test case  | 
sphere_transport¶
  | 
A test group for testing algorithms for passive tracer advection on the sphere  | 
divergent_2d¶
  | 
A test case for 2D transport on the sphere  | 
Set config options for the test case  | 
|
Run each step of the testcase  | 
|
  | 
A step for creating uniform global meshes  | 
Run this step of the test case  | 
|
Create cell width array for this mesh on a regular latitude-longitude grid  | 
|
  | 
A step for an initial condition for for the cosine bell test case  | 
Run this step of the testcase  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of the divergent_2d  | 
Set namelist options base on config options  | 
|
Run this step of the testcase  | 
|
These tests expect the time step to be input in units of minutes, but MPAS requires an "HH:MM:SS" string.  | 
|
  | 
A step for visualizing the output from the divergent2D test case  | 
Run this step of the test case  | 
nondivergent_2d¶
  | 
A test case for 2D transport on the sphere  | 
Set config options for the test case  | 
|
Run each step of the testcase  | 
|
  | 
A step for creating uniform global meshes  | 
Run this step of the test case  | 
|
Create cell width array for this mesh on a regular latitude-longitude grid  | 
|
  | 
A step for an initial condition for for the cosine bell test case  | 
Run this step of the testcase  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of the  | 
Set namelist options base on config options  | 
|
Run this step of the testcase  | 
|
These tests expect the time step to be input in units of minutes, but MPAS requires an "HH:MM:SS" string.  | 
|
  | 
A step for visualizing the output from the nondivergent2D test case  | 
Run this step of the test case  | 
rotation_2d¶
  | 
A test case for 2D transport on the sphere  | 
Set config options for the test case  | 
|
Run each step of the testcase  | 
|
  | 
A step for creating uniform global meshes  | 
Run this step of the test case  | 
|
Create cell width array for this mesh on a regular latitude-longitude grid  | 
|
  | 
A step for an initial condition for for the cosine bell test case  | 
Run this step of the testcase  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of the rotation_2d  | 
Set namelist options base on config options  | 
|
Run this step of the testcase  | 
|
These tests expect the time step to be input in units of minutes,  | 
|
  | 
A step for visualizing the output from the rotation_2d test case  | 
Run this step of the test case  | 
sphere_transport framework¶
Given a netCDF4 Dataset associated with the output.nc file from a test case in the sphere_transport test group, this function computes the linf and l2 relative error values by comparing the final time step to the initial condition.  | 
|
Given a set of approximate mesh sizes (dlambda) and the corresponding linf and l2 relative error values, this function computes the approximate convergence rates for each error.  | 
|
Print error values and approximate convergence rates to the console as a table.  | 
|
  | 
Read a .rgb file from the NCAR Command Language, and return a matplotlib colormap.  | 
  | 
Plot the solution at time 0, t = T/2, and T=T for test cases in the   | 
Collects data from a set of test case runs at different resolutions to use for convergence data analysis and plotting.  | 
|
  | 
Print test case data in csv format  | 
  | 
Creates a convergence plot for a test case from the   | 
  | 
Plot the "filament norm," as in figure 5 of LSPT2012.  | 
Plots over- and under-shoot error as a function of time.  | 
ziso¶
  | 
A test group for Zonally Invariant Southern Ocean (ZISO) test cases  | 
  | 
Modify the configuration options for this test case  | 
  | 
The default test case for the ZISO test group simply creates the mesh and initial condition, then performs a short forward run with analysis members but without frazil.  | 
Modify the configuration options for this test case.  | 
|
Run each step of the test case.  | 
|
  | 
The with frazil test case for the ZISO test group simply creates the mesh and initial condition, then performs a short forward run including frazil formation.  | 
Modify the configuration options for this test case.  | 
|
Run each step of the test case.  | 
|
  | 
A step for performing forward MPAS-Ocean runs as part of ZISO test cases.  | 
Set up the test case in the work directory, including downloading any dependencies.  | 
|
Run this step of the test case  | 
|
  | 
A step for creating a mesh and initial condition for ZISO test cases  | 
Run this step of the test case  | 
ocean framework¶
  | 
Compute the Haney number rx1 for each edge, and interpolate it to cells  | 
Compute the pressure from and overlying ice shelf and the ice-shelf draft  | 
|
  | 
Adjust the sea surface height or land-ice pressure to be dynamically consistent with one another.  | 
  | 
Write an initial condition for particles partitioned across cores  | 
  | 
Remap particles onto a new grid decomposition.  | 
  | 
creates histogram plots of the initial condition  | 
  | 
Plot the vertical grid  | 
  | 
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 z-level vertical coordinate based on the config options in 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   |