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 |
|
Write a surface forcing dataset for Omega's |
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
analysis
|
Add the tasks that analyze a completed Omega simulation |
|
A task of the ocean analysis suite |
Build the steps again now that the user's config file has been read |
|
Get the range of simulation years this task's steps cover |
|
|
A task that plots map-view climatologies of the simulation's fields |
|
A task that plots time series of the simulation's global statistics |
|
A task that plots the time series of globally integrated ocean heat content |
|
A task that plots the global meridional overturning circulation |
|
A task that publishes the results of the other analysis tasks |
Build the publish step again, now that a task it depends on has rebuilt its steps |
|
|
A step that reduces each month of the simulation's monthly means to a few numbers, inheriting the months an earlier analysis of the same simulation already reduced |
Link the monthly means and whatever caches may be inherited |
|
Reduce the months that were not inherited, and hand on the series |
|
|
Link whatever the kernel reads besides the monthly means |
Get the config options that govern this product, as a provenance stamp |
|
Reduce one month of the simulation's output |
|
Do something with the finished series |
|
Get the provenance stamp a cache has to carry to be inherited |
|
|
Read the provenance stamp of a cache file |
|
Get the global attributes a provenance stamp is written to a file as |
|
Get the entries of a provenance stamp that keep a cache from being inherited |
|
A step of the ocean analysis suite |
Write the empty manifest fragment before the step runs |
|
|
Describe one product this step has just made, and update the fragment |
Get the simulation's files, reporting where each path came from |
|
Symlink one file of simulation output into the step's work directory |
|
Symlink a list of simulation files into the step's work directory |
|
Read a few named fields from a file of the simulation, translating their names but nothing else |
|
Get the topmost and bottommost valid layer of each column, from the vertical coordinate the step linked |
|
Report the simulation files this step reads |
|
|
A step that computes monthly, seasonal and annual climatologies of the simulation's monthly-mean output with |
Link the monthly means the climatology is computed from |
|
Compute the climatology with |
|
Get the variables a climatology is computed for, in MPAS-Ocean names |
|
|
A step that plots maps of one field group from the climatology |
Link the mesh the maps are plotted on and the vertical coordinate, and the first monthly mean if this group maps heat content |
|
Plot a map of each field of this group, for each season and each vertical reduction that was asked for |
|
Get the field groups that cover a list of requested fields |
|
Convert a model's camel-case variable name to the lower case with underscores that Polaris config sections and options are spelled with |
|
|
Get the config section with the plotting options for maps of a field |
A step that plots time series of the quantities in the simulation's global statistics output |
|
Link the simulation's global statistics output |
|
Plot a time series of each field's global statistics, and write the data behind each plot beside it |
|
Get the elevation ranges heat content is integrated over |
|
A step that reduces each month of the simulation to globally integrated ocean heat content over a set of elevation ranges, and plots the series |
|
Discover what may be inherited, and declare what is published |
|
Link the mesh and the vertical coordinate |
|
Get the config options and constants that decide what a reduced month contains |
|
Reduce the months that were not inherited, and plot the series |
|
Reduce one month to the globally integrated heat content of each elevation range |
|
Write the series and plot it |
|
Get the name the series over one elevation range is stored under |
|
|
A step that computes the annual climatology of the meridional overturning circulation Omega computes in situ and plots it against latitude and elevation |
Link the simulation's MOC output, if it wrote any |
|
Compute the annual climatology of the streamfunction and its axes over the requested years, and plot it |
|
|
Compute the monthly climatologies and some seasons of a step's monthly means with |
|
Find the |
|
A step that publishes what the analysis steps made and generates the gallery over it |
Publish every product the fragments describe and generate the gallery |
|
Get the root of the staging tree results are published into |
|
|
One file of simulation output, together with the date it covers |
|
One output stream of an Omega analysis group |
|
The configuration file of the simulation being analyzed |
|
Report whether an |
Get the file name or file-name template of an |
|
Report whether an analysis group is writing output |
|
Get the output streams an analysis group writes |
|
|
The files of the simulation being analyzed |
Get the horizontal mesh file |
|
Get the vertical-coordinate file |
|
Get the monthly-mean output files covering a range of years |
|
Get the global statistics output files covering a range of years |
|
Get the output stream the global statistics are read from |
|
Get the meridional overturning circulation output files covering a range of years |
|
|
Read the configuration file of the simulation being analyzed |
|
Expand a file-name template over a range of years |
|
Check that every expanded file exists, reporting the missing years and months rather than a bare list of paths |
|
Check that a monthly mean covers the month the analysis takes it to |
|
Get the key for a range of years, used both for step subdirectories and for the names of published files |
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 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 creates the mesh and initial condition, then performs a 2 day forward run and plots the results. |
|
The short barotropic channel test case creates the mesh and initial condition, then performs a 2 hour forward run and plots the results. |
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 |
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 |
|
|
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. |
feature_masks
|
A feature-mask step for MPAS-Ocean or Omega mesh files. |
Open a native ocean mesh and map it to standard MPAS names. |
|
Map a mask dataset to native ocean names and write it. |
|
|
A configurable task for creating feature masks on native ocean meshes. |
|
Add configurable ocean feature-mask tasks to the ocean component. |
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 |
horiz_press_grad
|
Add tasks for various tests involving the horizonal pressure-gradient acceleration between two adjacent ocean columns |
|
The two-column test case tests convergence of the TEOS-10 pressure-gradient computation in Omega at various horizontal and vertical resolutions. |
Set config options for the test case |
|
A two-column test of discrete hydrostatic consistency: conservative temperature and absolute salinity are horizontally uniform functions of pseudo-height, so specific volume is a function of pressure alone, isobars are level, and the true horizontal pressure-gradient acceleration (HPGA) is identically zero however the coordinate surfaces or the sea floor are tilted between the columns. |
|
|
Set config options for the test case |
|
Get an array at a given set of horizontal points based on values defined at the midpoint (x=0) and their constant gradient with respect to x. |
|
Create a monotone PCHIP interpolator for values defined at z-tilde nodes. |
|
Create a function giving the exact layer mean of a monotone PCHIP profile over a layer's pseudo-height range. |
|
The two-column edge difference |
|
The two-column edge average |
The four coefficients of |
|
|
The edge-shared expansion of |
|
Evaluate the edge-shared profile |
The layer mean of the edge-shared profile, |
|
The first-order fixed-pressure shift |
|
|
|
The two increments of |
|
|
Convert a fixed-pressure height shift into an edge-normal acceleration, |
An upper bound on the magnitude of the two hydrostatic terms that cancel in |
|
|
Everything the matched-pressure integrand needs, computed once per state. |
The index of column |
|
The design's |
|
|
The design's |
|
The design's |
|
The per-layer increments of |
The layer mean of \(\Delta_e z(p)\) over each edge layer. |
|
|
The assembled |
|
The slope of the mean-preserving linear reconstruction, per layer. |
|
The deviation from the layer mean, |
|
Evaluate the reconstruction |
|
Determine the edge that connects the two valid cells in the two-column mesh. |
|
Compute the root mean square over finite values. |
|
Fit |
|
Write the data used in a convergence plot to netCDF, one series per pressure-gradient scheme. |
|
Format an array as a compact list of floats. |
|
Format value/error pairs as readable key-value text. |
|
Continuous, coordinate-invariant HPGA reference a(z̃) at the edge x=0. |
|
Specific volume at x=0 (m³ kg⁻¹). |
|
d(α)/d(edge-normal) at fixed z̃ (m² kg⁻¹ m⁻¹). |
|
Reference HPGA in the edge-normal direction (m s⁻²). |
Layer-averaged HPGA in the edge-normal direction (m s⁻²). |
|
|
A step for creating a mesh and initial condition for two column test cases |
Run this step of the test case |
|
|
Build the two-column state on |
|
This step performs a forward run for a single time step, writing out the normal-velocity tendency (which is just the pressure gradient acceleration) along with other diagnostics. |
Fill in config options in the forward.yaml file based on config options |
|
|
A step for analyzing two-column HPGA errors versus a reference solution and versus the Python-computed initial-state solution. |
Add inputs from init and forward steps |
|
Run this step of the test case |
|
|
A step for analyzing the two-column HPGA in an exact resting state, where the true HPGA is identically zero and no reference solution is needed. |
Add inputs from init and forward steps |
|
Run this step of the test case |
|
|
Build a filename- and directory-safe suffix for one sweep point. |
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 |
frazil
|
A single-column frazil test case that creates the mesh and initial condition for a given melting/freezing case, then performs a forward run for each frazil algorithm ( |
Remove the |
|
|
Check bottom-layer relaxation or frazil depth-limit enforcement. |
Check isolated frazil warming or bottom-layer relaxation. |
|
A step for creating the mesh and initial condition for single-column frazil test cases |
Compute the melting or freezing initial temperature and salinity profiles. |
|
|
A single-layer single-column frazil test initialized at the local freezing point. |
Keep the original RK4 FixedProperty case for MPAS-Ocean. |
|
|
A step for plotting the heat content of the top layer as a function of time for each of the frazil one-layer forward runs |
Plot top-layer evolution, frazil fluxes, and budget residuals. |
|
A two-layer single-column frazil test with a warm top layer over a supercooled bottom layer and no surface forcing. |
|
Keep only the RK4 |
|
A step for plotting the evolution of both layers of the melting_short forward runs, along with the frazil fluxes and conservation residuals |
|
Plot the two-layer evolution, frazil fluxes, and budget residuals. |
|
|
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 |
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 tasks that define convergence tests that use 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 |
Get convergence parameters, with a lower threshold for MPAS-Ocean's unsplit_explicit time integrator, which converges at close to first order until a fix for how it times the manufactured solution forcing is merged into E3SM |
|
|
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 |
|
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 |
|
|
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 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 |
mixed_layer_eddies
|
Add the mixed-layer eddies tasks to the ocean component |
|
A step for creating a mesh and initial condition for mixed-layer eddies tasks on the p-star vertical coordinate |
Add the mesh, vertical coordinate and initial state as outputs |
|
Run this step of the task |
|
Initialize conservative temperature and absolute salinity at the current p-star layer midpoints. |
|
Read the ITP77 salinity profile |
|
|
Compute the background salinity: the profile below the base of the mixed layer and its value at the base above it |
|
Compute the density anomaly of the mixed layer and its fronts, Z_S(z) [Delta rho_y Y_S(y) - Delta rho_z], from Shrestha & Manucharyan (2022), their eq. |
|
A step for performing forward ocean runs as part of mixed-layer eddies tasks |
Set up the step, adding the OmegaMesh.nc symlink for Omega |
|
Compute the approximate number of cells in the mesh, used to constrain resources |
|
|
Add model config options and the yaml file, which depend on config options |
|
Get the lines of constant y between rows of cells in the frontal zone around |
|
Get a mask of the cells in the frontal zone around |
Get the thickness that multiplies velocity in the model's continuity equation: |
|
|
Compute the density from the tracers with the configured equation of state. |
|
Get the geometric layer thickness, converting Omega's pseudo-thickness with the density of each layer if need be |
|
Get the geometric heights of layer midpoints relative to the sea surface from the geometric layer thicknesses |
|
Compute the vertical structure function of Fox-Kemper et al. (2008), zero below the mixed layer. |
Compute the mixed-layer mean cross-front buoyancy gradient from differences of area-weighted means over y-bands one row of cells wide |
|
|
Compute the overturning stream function per unit length along each line, at layer interfaces |
Compute the along-line mean geometric depths of the layer interfaces of each line, relative to the sea surface |
|
|
Compute the eddy overturning along each line in the thickness-weighted, salinity-binned framework of Shrestha & Manucharyan (2022): the residual overturning in salinity classes minus the Eulerian-mean overturning at the mean depth of each class (Abernathey et al. 2011), both averaged over the snapshots. |
|
Fit |
|
Plot one time-averaged flux point per run against a 1:1 reference. |
Read absolute simulation days without changing elapsed-time helpers. |
|
|
Diagnose one snapshot in the central frontal band. |
Evaluate the stream function of the Fox-Kemper et al. (2011) parameterization on edges from model output, as the models discretize it. |
|
Recover the stream function a model's parameterization computed on edges from its eddy velocity, which both models define as minus the difference of the stream function across a layer divided by the layer's mean geometric thickness on the edge |
|
|
Find the edges where the mixed-layer depth in the output is the one the eddy velocity in the output was computed with: the depth lies within the deepest layer with a nonzero eddy velocity. |
|
Compute the potential energy per unit area, g rho z h summed over the column and averaged over the domain (J m-2) |
|
Compute the mean buoyancy frequency squared over the mixed layer of the frontal zone (s-2) |
|
Plot the surface salinity of one snapshot on a panel of a figure, without a colorbar so that panels can share one |
|
The eddy-resolving reference run of the mixed-layer eddies tasks |
|
A step for diagnosing the eddy overturning of the resolved run and comparing it with the scaling of Fox-Kemper et al. (2008), as in Shrestha & Manucharyan (2022). |
Run this step of the task |
|
|
The coarse runs of the mixed-layer eddies tasks, with the submesoscale eddy parameterization off and on |
|
A step for verifying that the coarse runs' submesoscale eddy parameterization produces the stream function its formula gives for the runs' own state |
Run this step of the task |
|
|
The comparison of the coarse runs of the mixed-layer eddies tasks with the eddy-resolving reference run |
|
A step for reporting restratification and combined buoyancy flux. |
Run this step of the task |
overflow
|
Add tasks following the overflow test case of Petersen et al. (2015) doi:10.1016/j.ocemod.2014.12.004. |
|
The short overflow smoke test 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 on a geometric vertical coordinate (z-star or sigma). |
Set up the task in the work directory, including downloading any dependencies. |
|
Run this step of the test case |
|
Build the overflow planar hex mesh, cull it, and add the Coriolis parameter, writing out |
|
|
Compute the overflow continental shelf-like bathymetry, a tanh profile between the shelf depth and the maximum bottom depth. |
|
Compute the in-situ density of the initial state on a geometric vertical coordinate (z-star or sigma), at the hydrostatic pressure of the resting state with zero surface pressure. |
Compute the overflow initial temperature, constant except for a block of cold water on the shelf. |
|
|
A step for creating a mesh and initial condition for overflow test cases on the p-star vertical coordinate. |
Set up the task in the work directory, including downloading any dependencies. |
|
Run this step of the test case |
|
Initialize conservative temperature and absolute salinity at the current p-star layer midpoints: the overflow profile of constant temperature except for a block of cold water on the shelf, and constant salinity. |
|
|
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 |
realistic_global
|
Add tasks for realistic global ocean preprocessing, initialization, forward runs, and dynamic adjustment. |
|
Return an approximate MPAS cell count for the given mesh name, or |
|
Return an approximate cell count for the ocean + sea-ice culled mesh that the ocean model actually runs, or |
realistic_global.mesh_configs
|
Add per-mesh |
|
Get a config containing only the per-mesh |
Get the names of the meshes that have a config file in this package. |
realistic_global.forcing.jra55
|
A task for building a reusable JRA55-do wind-stress product. |
|
Get the shared steps for building the reusable JRA55-do wind-stress product. |
|
A step for deriving a time-invariant global wind-stress product from JRA55-do 10-m winds. |
Declare the raw JRA55-do wind files, whose URLs are built from config. |
|
Average the wind stress over the configured month and write the product. |
|
|
Compute wind stress from 10-m winds with the Large and Yeager (2004, 2009) neutral drag law. |
|
A step for visualizing the derived JRA55-do wind-stress product. |
Set up input and output files for the step. |
|
Plot global maps of the stress components and magnitude, plus the zonal-mean zonal stress. |
realistic_global.analysis_output
Add an |
|
|
A one-year Omega run that writes the monthly means, overturning streamfunction and daily global statistics the ocean analysis reads |
|
A one-year Omega run that writes what the ocean analysis reads |
Raise unless the model is Omega, then set up the step |
|
Add the monthly output over the forward step's own model config |
|
|
Get the names of the monthly files the one-year run writes, which are named for the month after the one they cover; see the note on |
realistic_global.restart
|
A task that checks that a run continued from a restart reproduces the uninterrupted run, history included, shaped like CIME's ERS test. |
|
One forward run of the realistic global restart task, shaped like CIME's ERS test: the full run, or the restart run that continues from it. |
Reject any model but Omega, declare the restart, then set up the forward run |
|
Build this step's stage from config with the task's run duration and output interval, then add this task's overrides for the full run or the restart run on top of the shared forward yaml, which |
|
Make this step's restart directory, and seed the restart run's history file with the full run's history up to the restart |
|
|
Check that a run continued from a restart writes the same history as the same run done in one go. |
Compare the history of the restart run with the history of the uninterrupted run |
realistic_global.forward
Add |
|
Add |
|
|
The initial condition of a cached mesh, from the Polaris input-file database |
|
A short forward run of the configured ocean model for a realistic global ocean simulation on one MPAS mesh. |
|
A forward run of the configured ocean model for a realistic global ocean simulation. |
Add the initial-condition input files, then set up the model step. |
|
Compute the number of cells used to size resources. |
|
|
Render |
|
Model-agnostic settings for a single realistic-global forward run (or one stage of a multi-stage workflow such as dynamic adjustment). |
|
Build a stage from a config section. |
|
Map the stage onto template replacements for |
|
|
|
The name of the global-statistics file |
MPAS-Ocean bottom-drag config options implied by the damping setting. |
|
Template replacements for |
|
Template replacements for |
|
Horizontal mixing options that both models support. |
|
|
The ratio by which the |
This stage with a blank |
|
Vertical mixing options that both models support. |
|
Submesoscale eddy parameterization options that both models support. |
|
Physics options that only MPAS-Ocean has. |
|
Physics options that only Omega has, applied with |
|
|
The global median cell width that Omega scales its horizontal mixing from, computed as Omega does. |
An abstraction for where a forward step's model inputs come from. |
|
Add the model input files this source provides to |
|
|
The local filename the model's forcing streams should read. |
An initial condition provided by an upstream |
|
|
Link the mesh, vertical coordinate, initial state and surface forcing from the init steps' work directories. |
An initial condition staged in the Polaris input-file database, under |
|
|
Add the database files the configured model reads. |
|
The initial-condition file, which is where the wind stress lives. |
|
A step for plotting time series of a forward run's global statistics. |
Link the forward step's statistics file. |
|
Run the step. |
|
|
A step for plotting global maps of a forward run's state, at the start and end of the run, along with the wind stress that forced it. |
Link the forward step's inputs and output. |
|
Plot the wind stress and the state at the start and end of the run. |
realistic_global.hydrography.woa23
|
A task for building a reusable WOA23 hydrography product. |
|
Get the shared steps for building the reusable WOA23 hydrography product. |
|
A step for combining January and annual WOA23 climatologies. |
Set up input files for the step. |
|
Combine January and annual climatologies and derive conservative temperature and absolute salinity. |
|
|
A step for extrapolating WOA23 into missing ocean, land and ice regions. |
Set up input files for the step. |
|
Extrapolate WOA23 horizontally and vertically in two stages. |
|
|
A step for visualizing extrapolated WOA23 hydrography. |
Set up input and output files for the step. |
|
Plot horizontal fields at selected depths and two Antarctic transects. |
realistic_global.init
|
Add |
|
A task for creating a realistic global ocean initial condition on one MPAS mesh for the configured target ocean model. |
|
Get shared steps for the realistic global ocean initialization workflow for one MPAS mesh. |
|
A step that reindexes remapped topography from the base mesh onto the culled ocean mesh cells using the cell index map produced by |
Declare input files from upstream steps. |
|
Reindex all fields with an |
|
|
A step for building the bilinear mapping file from a global latitude-longitude source grid to the culled MPAS ocean mesh. |
Declare input files and compute ntasks from the estimated mesh size. |
|
Update ntasks from cell-count estimate before constraining. |
|
Set up the source and destination grids, then the command that builds the mapping file. |
|
|
A step for building the bilinear mapping file from the WOA23 0.25-degree latitude-longitude grid to MPAS cell centers. |
|
A step for applying the WOA23 mapping weights built by |
Declare the WOA23 input file. |
|
Remap WOA23 CT and SA from the 0.25-degree lat-lon source grid to MPAS cell centers, writing |
|
|
A step for building the bilinear mapping file from the JRA55-do TL319 grid to MPAS cell centers. |
|
A step for applying the JRA55-do mapping weights built by |
Declare the JRA55-do and culled-mesh input files. |
|
Remap the wind stress to MPAS cell centers in Cartesian components, rotate it back to zonal and meridional components, check that no cell is missing, and write |
|
|
Raise an error if any cell is missing from the remapped wind stress. |
Convert zonal and meridional wind stress on a latitude-longitude grid to Cartesian components. |
|
|
Rotate Cartesian wind stress at MPAS cell centers back to zonal and meridional components. |
|
A step that jointly initializes the p-star vertical coordinate and WOA23-derived tracer fields for a global MPAS mesh, writing a model-neutral intermediate product that the downstream |
Declare input files from upstream steps. |
|
Run the coupled p-star and tracer initialization from WOA23 hydrography, writing |
|
Interpolate conservative temperature and absolute salinity from the pre-remapped WOA23 depth levels to the current p-star midpoints. |
|
|
A step that reads |
Declare input and output files based on the configured ocean model. |
|
Build model-specific initial condition files from |
|
|
A step that reads the remapped JRA55-do wind stress and writes the model-specific surface forcing file. |
Declare the input and output files. |
|
Write the model-specific |
|
|
A step for visualizing the realistic global ocean initial condition and vertical-coordinate datasets for either MPAS-Ocean or Omega. |
Declare input and output files based on the configured ocean model. |
|
Create the visualizations and ParaView exports. |
realistic_global.dynamic_adjustment
Add |
|
A staged dynamic-adjustment run of the configured ocean model for a realistic global ocean simulation on one MPAS mesh. |
|
Rebuild the stages if a user's setup-time config changed the schedule. |
|
Get shared steps for the realistic global ocean dynamic-adjustment workflow for one MPAS mesh. |
|
|
The work directory the dynamic-adjustment steps for a mesh live under. |
|
Build the ordered list of restart-chained stages for a mesh. |
|
How much of a stage falls inside the startup window of the sequence. |
|
Raise if the stage's maximum temperature exceeds the threshold. |
|
Raise if the stage's minimum temperature falls below the threshold. |
|
Raise if the stage's maximum salinity exceeds the threshold. |
|
Raise if the stage went above the allowed CFL number at any point. |
|
A step that summarizes a completed dynamic-adjustment sequence as one row of diagnostics per stage (see |
Summarize the sequence. |
|
|
A step that applies the per-stage thresholds to one stage, as soon as that stage has finished. |
Check this stage's tracer and CFL extremes. |
|
|
A step that plots the global-statistics time series of a completed dynamic-adjustment sequence. |
Read each stage's statistics and plot them as one series, then plot how far the adjustment moved temperature and salinity. |
|
|
The change in one tracer over the adjustment: a volume-weighted histogram and the numbers that summarize it. |
|
The change in temperature and salinity from an initial state to the last record of a stage's output, cell by cell and layer by layer, weighted by the initial volume of each cell. |
|
Plot the volume-weighted histograms of tracer change side by side. |
seamount
|
Add tasks following the seamount test case |
|
A step for measuring the spurious circulation in each seamount forward run and comparing the pressure-gradient schemes against each other. |
Run this step of the task |
|
|
The default seamount test case creates the mesh and initial condition, then performs a 6 day forward run, plots the results and measures the spurious circulation. |
Add the steps for the schemes only Omega has, and the analysis step that compares whichever schemes were run. |
|
|
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 |
|
|
The name of the forward step that runs a given pressure-gradient scheme. |
|
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 |
|
|
Compute the target Beckmann and Haidvogel stratification, either the linear profile of their eqn 15 or the exponential profile of their eqn 16. |
|
Compute the temperature and salinity for the configured stratification under the configured equation of state. |
Compute exact layer means of a temperature profile that is linear in pressure, with constant salinity. |
|
|
The short seamount test case creates the mesh and initial condition, then performs a 1 hour forward run. |
|
A step for plotting the results of one seamount forward step |
Run this step of the task |
single_column
|
Add tasks for various single-column tests |
|
The VMix 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 that gathers the conservation errors from each of a task's forward steps into a single log file listing the forward step name and the mass, salt and energy errors. |
|
Write a log file listing the conservation error for each forward step |
|
|
The Thermo single-column test case creates the mesh and initial condition, then performs several short forward runs corresponding to each supported surface thermodynamic forcing variable. |
|
A step that verifies conservation of mass, heat and salt for each of the |
Run this step of the test case |
|
|
A single-column test of penetrating shortwave radiation over a range of Jerlov water types. |
|
A step that checks how the column potential energy of the |
Run this step of the test case |
|
|
A helper step that creates the |
A forward step for the |
|
|
A step for plotting the |
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
Analysis plots
|
Plot a time series of the global statistics of one field |
Global statistics
|
Get the global statistics a model computes |
|
Build the names of the global statistics variables to look for |
|
Get the fields a dataset holds global statistics for |
|
Intersect the requested (field, statistic) pairs with what a dataset holds |
Conservation utilities
|
Compute the total mass in an ocean model output file |
|
Compute the total mass of salt in an ocean model output file using a constant density |
|
Compute the total heat content in 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. |
|
Resolve |
|
|
Register a file the step has just written as one of its outputs |
|
Add the horizontal-mesh input file using a placeholder that is resolved to the configured filename at |
|
Add the vertical-coordinate input file. |
|
Add the initial-condition input file using a placeholder that is resolved to the configured filename at |
|
Add the surface-forcing input file using a placeholder that is resolved to the configured filename at |
Register output files that will be consumed by the ocean model as inputs (horizontal mesh, initial condition, and model-specific files). |
|
Get the configured local filename for the horizontal mesh file. |
|
Get the configured local filename for the vertical coordinate file. |
|
Get the configured local filename for the initial-condition file. |
|
Get the configured local filename for the surface forcing file. |
|
|
Return the dataset containing vertical-coordinate variables ( |
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 |
|
Write a horizontal mesh dataset, validating that all expected mesh variables are present before writing. |
|
Write a surface forcing dataset, renaming to the native model's variable names and adding a |
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 |
|
Check conservation properties of the output files of this step |
|
Check every file Omega wrote for CF compliance: the first file of each write stream in the step's |
|
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 |
Mixin providing access to the |
|
|
Get the mass per unit area of each layer |
|
Ocean model output may or may not include 'daysSinceStartOfSim'. |
|
Get the time axis of a dataset in decimal simulation years |
|
Get the length of a year in days in a given calendar |
|
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. |
|
Convert a single temperature and salinity pair to the |
|
Convert temperature and salinity pairs in |
|
Compute the conservative temperature that gives a target potential density referenced to the surface. |
|
Compute the density of seawater based on the constant equation of state with the value 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. |
|
Compute the conservative temperature that gives a target potential density referenced to the surface. |
Heat content
|
Get the vertically integrated ocean heat content per unit area |
Initial state
Compute |
|
|
Add a quiescent |
Add an in-situ |
|
|
Get the sea (gauge) pressure at layer midpoints used to convert tracers between the TEOS-10 and MPAS-Ocean conventions. |
Reference Potential Energy (RPE)
|
Computes the reference (resting) potential energy for the whole domain |
Overturning
|
Find the edges crossing a line of constant x or y on a planar mesh |
|
Average a cell field to the edges of a line |
|
Compute the transport across a line in each layer of each edge |
|
Compute the overturning stream function at layer interfaces |
|
Sort the transport and thickness on each edge of a line into tracer classes, for overturning in tracer (e.g. density) coordinates. |
Surface pressure
Construct a spatially uniform surface pressure field from the |
Vertical coordinates
|
Create a vertical coordinate based on the config options in the |
Cap each cell's |
|
Extract or compute geometric layer thickness from dataset. |
|
Compute pseudothickness from temperature and salinity in dataset. |
|
|
Compute specific volume from the temperature, salinity and pressure of an ocean state, for Omega output that does not include |
Compute the geometric vertical velocity at layer interfaces, |
|
Compute a vertical pseudo-velocity at layer interfaces from a geometric vertical velocity such as |
|
Get the elevation of layer midpoints and of layer interfaces |
|
Get the elevation of the midpoint of each layer |
|
Get the vertical coordinate field appropriate for a variable at a given location in |
|
The variable location of |
|
|
Compute height z at layer interfaces and midpoints given layer thicknesses and bottom depth. |
|
One way of reducing a field with a vertical dimension to a horizontal map |
Parse one entry of the |
|
Reduce a field with a vertical dimension to a horizontal map |
|
Get the zero-based indices of the topmost and bottommost valid layer of each column |
|
|
Get the label an elevation is identified by in file names and plot titles |
|
Get the label one end of an elevation range is identified by |
|
Whether an elevation range covers every valid layer of every column |
Get the mass per unit area of the part of each layer within an elevation range |
|
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 gauge pressure to pseudo-height. |
|
Convert pseudo-height to sea gauge pressure. |
|
Compute gauge pressure at layer interfaces and midpoints given surface gauge pressure, geometric layer thicknesses, and specific volume. |
|
Compute gauge pressure at layer interfaces and midpoints given surface gauge pressure and pseudo-thicknesses. |
|
|
Compute gauge 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 gauge pressure. |
Sum geometric heights from pseudo-heights and specific volume. |
|
Create a p-star vertical coordinate based on the config options in the |
|
|
Base class for initialization steps that use the p-star vertical coordinate. |
Initialize conservative temperature (CT) and absolute salinity (SA) at p-star layer midpoints for the current outer iteration. |
|
Run the fixed-point iteration that determines BottomPressure (and therefore the p-star coordinate) such that the recovered geometric water-column thickness matches the target within a configurable fractional tolerance. |