ocean

Ocean()

The collection of all test case for the MPAS-Ocean core

Test Groups

baroclinic_channel

BaroclinicChannel(mpas_core)

A test group for baroclinic channel test cases

configure(resolution, config)

Modify the configuration options for one of the baroclinic test cases

decomp_test.DecompTest(test_group, resolution)

A decomposition test case for the baroclinic channel test group, which makes sure the model produces identical results on 1 and 4 cores.

decomp_test.DecompTest.configure()

Modify the configuration options for this test case.

decomp_test.DecompTest.run()

Run each step of the test case.

default.Default(test_group, resolution)

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.

default.Default.configure()

Modify the configuration options for this test case.

default.Default.run()

Run each step of the test case.

restart_test.RestartTest(test_group, resolution)

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.

restart_test.RestartTest.configure()

Modify the configuration options for this test case.

restart_test.RestartTest.run()

Run each step of the test case.

rpe_test.RpeTest(test_group, resolution)

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.

rpe_test.RpeTest.configure()

Modify the configuration options for this test case.

rpe_test.RpeTest.run()

Run each step of the test case.

rpe_test.analysis.Analysis(test_case, ...)

A step for plotting the results of a series of RPE runs in the baroclinic channel test group

rpe_test.analysis.Analysis.setup()

Set up the test case in the work directory, including downloading any dependencies.

rpe_test.analysis.Analysis.run()

Run this step of the test case

threads_test.ThreadsTest(test_group, resolution)

A thread test case for the baroclinic channel test group, which makes sure the model produces identical results with 1 and 2 threads.

threads_test.ThreadsTest.configure()

Modify the configuration options for this test case.

threads_test.ThreadsTest.run()

Run each step of the test case.

forward.Forward(test_case, resolution[, ...])

A step for performing forward MPAS-Ocean runs as part of baroclinic channel test cases.

forward.Forward.setup()

Set up the test case in the work directory, including downloading any dependencies.

forward.Forward.run()

Run this step of the test case

initial_state.InitialState(test_case, resolution)

A step for creating a mesh and initial condition for baroclinic channel test cases

initial_state.InitialState.setup()

Set up the test case in the work directory, including downloading any dependencies.

initial_state.InitialState.run()

Run this step of the test case

drying_slope

DryingSlope(mpas_core)

A test group for drying slope (wetting-and-drying) test cases

default.Default(test_group, resolution, ...)

The default drying_slope test case

default.Default.configure()

Modify the configuration options for this test case.

forward.Forward(test_case, resolution[, ...])

A step for performing forward MPAS-Ocean runs as part of drying slope test cases.

forward.Forward.run()

Run this step of the test case

initial_state.InitialState(test_case[, ...])

A step for creating a mesh and initial condition for drying slope test cases

initial_state.InitialState.run()

Run this step of the test case

viz.Viz(test_case[, damping_coeffs])

A step for visualizing drying slope results, as well as comparison with analytical solution and ROMS results.

viz.Viz.run()

Run this step of the test case

global_convergence

GlobalConvergence(mpas_core)

A test group for setting up global initial conditions and performing regression testing and dynamic adjustment for MPAS-Ocean

cosine_bell

CosineBell(test_group)

A test case for creating a global MPAS-Ocean mesh

CosineBell.configure()

Set config options for the test case

CosineBell.run()

Run each step of the testcase

mesh.Mesh(test_case, resolution)

A step for creating uniform global meshes

mesh.Mesh.run()

Run this step of the test case

mesh.Mesh.build_cell_width_lat_lon()

Create cell width array for this mesh on a regular latitude-longitude grid

init.Init(test_case, resolution)

A step for an initial condition for for the cosine bell test case

init.Init.run()

Run this step of the testcase

forward.Forward(test_case, resolution)

A step for performing forward MPAS-Ocean runs as part of the cosine bell test case

forward.Forward.setup()

Set namelist options base on config options

forward.Forward.run()

Run this step of the testcase

forward.Forward.get_dt()

Get the time step

analysis.Analysis(test_case, resolutions)

A step for visualizing the output from the cosine bell test case

analysis.Analysis.run()

Run this step of the test case

analysis.Analysis.rmse(resolution)

Compute the RMSE for a given resolution

global_ocean

test cases and steps

GlobalOcean(mpas_core)

A test group for setting up global initial conditions and performing regression testing and dynamic adjustment for MPAS-Ocean

configure

analysis_test.AnalysisTest(test_group, mesh, ...)

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).

analysis_test.AnalysisTest.configure()

Modify the configuration options for this test case

analysis_test.AnalysisTest.run()

Run each step of the testcase

daily_output_test.DailyOutputTest(...)

A test case to test the output for the TimeSeriesStatMonthly analysis member in E3SM.

daily_output_test.DailyOutputTest.configure()

Modify the configuration options for this test case

daily_output_test.DailyOutputTest.run()

Run each step of the testcase

decomp_test.DecompTest(test_group, mesh, ...)

A test case for performing two short forward runs to make sure the results are identical with 4 and 8 cores

decomp_test.DecompTest.configure()

Modify the configuration options for this test case

decomp_test.DecompTest.run()

Run each step of the testcase

files_for_e3sm.FilesForE3SM(test_group, ...)

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

files_for_e3sm.FilesForE3SM.configure()

Modify the configuration options for this test case

files_for_e3sm.FilesForE3SM.run()

Run each step of the test case.

files_for_e3sm.ocean_graph_partition.OceanGraphPartition(...)

A step for creating an E3SM ocean initial condition from the results of a dynamic-adjustment process to dissipate fast waves

files_for_e3sm.ocean_graph_partition.OceanGraphPartition.run()

Run this step of the testcase

files_for_e3sm.ocean_initial_condition.OceanInitialCondition(...)

A step for creating an E3SM ocean initial condition from the results of a dynamic-adjustment process to dissipate fast waves

files_for_e3sm.ocean_initial_condition.OceanInitialCondition.run()

Run this step of the testcase

files_for_e3sm.scrip.Scrip(test_case, ...)

A step for creating SCRIP files from the MPAS-Ocean mesh

files_for_e3sm.scrip.Scrip.run()

Run this step of the testcase

files_for_e3sm.seaice_initial_condition.SeaiceInitialCondition(...)

A step for creating an E3SM sea-ice initial condition from variables from an MPAS-Ocean restart file

files_for_e3sm.seaice_initial_condition.SeaiceInitialCondition.run()

Run this step of the testcase

files_for_e3sm.diagnostics_files.DiagnosticsFiles(...)

A step for creating files needed for the Meridional Overturning Circulation analysis member and diagnostics from MPAS-Analysis

files_for_e3sm.diagnostics_files.DiagnosticsFiles.run()

Run this step of the testcase

init.Init(test_group, mesh, ...)

A test case for creating initial conditions on a global MPAS-Ocean mesh

init.Init.configure()

Modify the configuration options for this test case

init.Init.run()

Run each step of the testcase

init.initial_state.InitialState(test_case, ...)

A step for creating a mesh and initial condition for baroclinic channel test cases

init.initial_state.InitialState.setup()

Set up the test case in the work directory, including downloading any dependencies.

init.initial_state.InitialState.run()

Run this step of the testcase

init.ssh_adjustment.SshAdjustment(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

init.ssh_adjustment.SshAdjustment.setup()

Set up the test case in the work directory, including downloading any dependencies

init.ssh_adjustment.SshAdjustment.run()

Run this step of the testcase

mesh.Mesh(test_group, mesh_name)

A test case for creating a global MPAS-Ocean mesh

mesh.Mesh.configure()

Modify the configuration options for this test case

mesh.Mesh.run()

Run each step of the testcase

mesh.cull.cull_mesh([with_cavities, ...])

First step of initializing the global ocean:

mesh.mesh.MeshStep(test_case, mesh_name, ...)

A step for creating a global MPAS-Ocean mesh

mesh.mesh.MeshStep.setup()

Set up the test case in the work directory, including downloading any dependencies.

mesh.mesh.MeshStep.run()

Run this step of the test case

mesh.mesh.MeshStep.build_cell_width_lat_lon()

A function for creating cell width array for this mesh on a regular latitude-longitude grid.

mesh.ec30to60.EC30to60Mesh(test_case, ...)

A step for creating EC30to60 and ECwISC30to60 meshes

mesh.ec30to60.EC30to60Mesh.build_cell_width_lat_lon()

Create cell width array for this mesh on a regular latitude-longitude grid

mesh.ec30to60.dynamic_adjustment.EC30to60DynamicAdjustment(...)

A test case performing dynamic adjustment (dissipating fast-moving waves) from an initial condition on the EC30to60 MPAS-Ocean mesh

mesh.ec30to60.dynamic_adjustment.EC30to60DynamicAdjustment.configure()

Modify the configuration options for this test case

mesh.ec30to60.dynamic_adjustment.EC30to60DynamicAdjustment.run()

Run each step of the testcase

mesh.qu240.QU240Mesh(test_case, mesh_name, ...)

A step for creating QU240 and QUwISC240 meshes

mesh.qu240.QU240Mesh.build_cell_width_lat_lon()

Create cell width array for this mesh on a regular latitude-longitude grid

mesh.qu240.dynamic_adjustment.QU240DynamicAdjustment(...)

A test case performing dynamic adjustment (dissipating fast-moving waves) from an initial condition on the QU240 MPAS-Ocean mesh

mesh.qu240.dynamic_adjustment.QU240DynamicAdjustment.configure()

Modify the configuration options for this test case

mesh.qu240.dynamic_adjustment.QU240DynamicAdjustment.run()

Run each step of the testcase

mesh.so12to60.SO12to60Mesh(test_case, ...)

A step for creating SOwISC12to60 meshes

mesh.so12to60.SO12to60Mesh.build_cell_width_lat_lon()

Create cell width array for this mesh on a regular latitude-longitude grid

mesh.so12to60.dynamic_adjustment.SO12to60DynamicAdjustment(...)

A test case performing dynamic adjustment (dissipating fast-moving waves) from an initial condition on the SO12to60 MPAS-Ocean mesh

mesh.so12to60.dynamic_adjustment.SO12to60DynamicAdjustment.configure()

Modify the configuration options for this test case

mesh.so12to60.dynamic_adjustment.SO12to60DynamicAdjustment.run()

Run each step of the testcase

mesh.wc14.WC14Mesh(test_case, mesh_name, ...)

A step for creating SOwISC12to60 meshes

mesh.wc14.WC14Mesh.build_cell_width_lat_lon()

Create cell width array for this mesh on a regular latitude-longitude grid

mesh.wc14.dynamic_adjustment.WC14DynamicAdjustment(...)

A test case performing dynamic adjustment (dissipating fast-moving waves) from an initial condition on the WC14 MPAS-Ocean mesh

mesh.wc14.dynamic_adjustment.WC14DynamicAdjustment.configure()

Modify the configuration options for this test case

mesh.wc14.dynamic_adjustment.WC14DynamicAdjustment.run()

Run each step of the testcase

performance_test.PerformanceTest(test_group, ...)

A test case for performing a short forward run with an MPAS-Ocean global initial condition assess performance and compare with previous results

performance_test.PerformanceTest.configure()

Modify the configuration options for this test case

performance_test.PerformanceTest.run()

Run each step of the testcase

restart_test.RestartTest(test_group, mesh, ...)

A test case for performing two forward run, one without a restart and one with to make sure the results are identical

restart_test.RestartTest.configure()

Modify the configuration options for this test case

restart_test.RestartTest.run()

Run each step of the testcase

threads_test.ThreadsTest(test_group, mesh, ...)

A test case for performing two short forward runs to make sure the results are identical with 1 and 2 thread per MPI process

threads_test.ThreadsTest.configure()

Modify the configuration options for this test case

threads_test.ThreadsTest.run()

Run each step of the testcase

dynamic_adjustment.DynamicAdjustment(...)

A parent test case for performing dynamic adjustment (dissipating fast-moving waves) from an MPAS-Ocean initial condition.

dynamic_adjustment.DynamicAdjustment.run()

Run each step of the testcase

forward.ForwardTestCase(test_group, mesh, ...)

A parent class for test cases for forward runs with global MPAS-Ocean mesh

forward.ForwardTestCase.configure()

Modify the configuration options for this test case

forward.ForwardTestCase.run()

Run each step of the testcase

forward.ForwardStep(test_case, mesh, init, ...)

A step for performing forward MPAS-Ocean runs as part of global ocean test cases.

forward.ForwardStep.setup()

Set up the test case in the work directory, including downloading any dependencies

forward.ForwardStep.run()

Run this step of the testcase

global_ocean framework

configure.configure_global_ocean(test_case, mesh)

Modify the configuration options for this test case

metadata.get_e3sm_mesh_names(config, levels)

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).

metadata.add_mesh_and_init_metadata(...)

Add MPAS mesh and initial condition metadata to NetCDF outputs of the given step

gotm

Gotm(mpas_core)

A test group for General Ocean Turbulence Model (GOTM) test cases

default

Default(test_group)

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.

Default.validate()

Validate variables against a baseline

init.Init(test_case)

A step for creating a mesh and initial condition for General Ocean Turbulence Model (GOTM) test cases

init.Init.run()

Run this step of the test case

forward.Forward(test_case)

A step for performing forward MPAS-Ocean runs as part of General Ocean Turbulence Model (GOTM) test cases.

forward.Forward.run()

Run this step of the test case

analysis.Analysis(test_case)

A step for plotting the results of the default General Ocean Turbulence Model (GOTM) test case

analysis.Analysis.run()

Run this step of the test case

hurricane

test cases and steps

Hurricane(mpas_core)

A test group for hurricane simulations with MPAS-Ocean

configure

mesh.Mesh(test_group, mesh_name)

A test case for creating a global MPAS-Ocean mesh

mesh.Mesh.configure()

Modify the configuration options for this test case

mesh.Mesh.run()

Run each step of the testcase

mesh.dequ120at30cr10rr2.DEQU120at30cr10rr2Mesh(...)

A step for creating DEQU120at30cr10rr2 meshes

mesh.dequ120at30cr10rr2.DEQU120at30cr10rr2Mesh.build_cell_width_lat_lon()

Create cell width array for this mesh on a regular latitude-longitude grid

init.Init(test_group, mesh, storm)

A test case for creating initial conditions on a global MPAS-Ocean mesh

init.Init.configure()

Modify the configuration options for this test case

init.Init.run()

Run each step of the testcase

init.create_pointstats_file.CreatePointstatsFile(...)

A step for creating the input file for the pointwiseStats analysis member

init.create_pointstats_file.CreatePointstatsFile.create_pointstats_file(...)

Find grid points nearest to observation stations and create pointwiseStats file

init.create_pointstats_file.CreatePointstatsFile.run()

Run this step of the testcase

init.initial_state.InitialState(test_case, mesh)

A step for creating a mesh and initial condition for hurricane test cases

init.initial_state.InitialState.setup()

Set up the test case in the work directory, including downloading any dependencies.

init.initial_state.InitialState.run()

Run this step of the testcase

init.interpolate_atm_forcing.InterpolateAtmForcing(...)

A step for interpolating the atmospheric wind velocities and pressure onto the MPAS-Ocean mesh to be used as time varying forcing in the forward run

init.interpolate_atm_forcing.InterpolateAtmForcing.interpolate_data_to_grid(...)

Interpolate time snaps of gridded data field to MPAS mesh

init.interpolate_atm_forcing.InterpolateAtmForcing.plot_interp_data(...)

Plot original gridded data and interpolated fields

init.interpolate_atm_forcing.InterpolateAtmForcing.write_to_file(...)

Write data to netCDF file

init.interpolate_atm_forcing.InterpolateAtmForcing.run()

Run this step of the test case

forward.Forward(test_group, mesh, storm, init)

A test case for performing a forward run for a hurricane case

forward.Forward.configure()

Modify the configuration options for this test case

forward.Forward.run()

Run each step of the testcase

forward.forward.ForwardStep(test_case, mesh, ...)

A step for performing forward MPAS-Ocean runs as part of hurricane test cases.

forward.forward.ForwardStep.setup()

Set up the test case in the work directory, including downloading any dependencies

forward.forward.ForwardStep.run()

Run this step of the testcase

analysis.Analysis(test_case, storm)

A step for producing ssh validation plots at observation stations

analysis.Analysis.setup()

Setup test case and download data

analysis.Analysis.read_pointstats(...)

Read the pointwiseStats data from the MPAS-Ocean run

analysis.Analysis.read_station_data(...)

Read the observed ssh timeseries data for a given station

analysis.Analysis.read_station_file(station_file)

Read file containing station locations and names

analysis.Analysis.run()

Run this step of the test case

ice_shelf_2d

IceShelf2d(mpas_core)

A test group for ice-shelf 2D test cases

configure(resolution, coord_type, config)

Modify the configuration options for this test case

default.Default(test_group, resolution, ...)

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

default.Default.configure()

Modify the configuration options for this test case.

default.Default.run()

Run each step of the test case.

restart_test.RestartTest(test_group, ...)

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.

restart_test.RestartTest.configure()

Modify the configuration options for this test case.

restart_test.RestartTest.run()

Run each step of the test case.

forward.Forward(test_case, resolution[, ...])

A step for performing forward MPAS-Ocean runs as part of ice-shelf 2D test cases.

forward.Forward.setup()

Set up the test case in the work directory, including downloading any dependencies.

forward.Forward.run()

Run this step of the test case

initial_state.InitialState(test_case, resolution)

A step for creating a mesh and initial condition for ice-shelf 2D test cases

initial_state.InitialState.run()

Run this step of the test case

ssh_adjustment.SshAdjustment(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

ssh_adjustment.SshAdjustment.setup()

Set up the test case in the work directory, including downloading any dependencies.

ssh_adjustment.SshAdjustment.run()

Run this step of the test case

viz.Viz(test_case)

A step for visualizing a cross-section through the 2D ice-shelf domain

viz.Viz.run()

Run this step of the test case

internal_wave

InternalWave(mpas_core)

A test group for General Ocean Turbulence Model (GOTM) test cases

default.Default(test_group)

The default test case for the internal wave test

default.Default.validate()

Validate variables against a baseline

rpe_test.RpeTest(test_group)

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.

rpe_test.analysis.Analysis(test_case, nus)

A step for plotting the results of a series of RPE runs in the internal wave test group

rpe_test.analysis.Analysis.run()

Run this step of the test case

ten_day_test.TenDayTest(test_group)

The default test case for the internal wave test

ten_day_test.TenDayTest.validate()

Validate variables against a baseline

forward.Forward(test_case[, name, subdir, ...])

A step for performing forward MPAS-Ocean runs as part of internal wave test cases.

forward.Forward.run()

Run this step of the test case

initial_state.InitialState(test_case)

A step for creating a mesh and initial condition for internal wave test cases

initial_state.InitialState.run()

Run this step of the test case

viz.Viz(test_case)

A step for visualizing a cross-section through the internal wave

viz.Viz.run()

Run this step of the test case

isomip_plus

IsomipPlus(mpas_core)

A test group for ice-shelf 2D test cases

ocean_test.OceanTest(test_group, resolution, ...)

An ISOMIP+ test case

ocean_test.OceanTest.configure()

Modify the configuration options for this test case.

ocean_test.OceanTest.run()

Run each step of the test case

viz.Viz(test_case, resolution, experiment)

A step for visualizing output from an ISOMIP+ simulation

viz.Viz.run()

Run this step of the test case

viz.file_complete(ds, fileName)

Find out if the file already has the same number of time slices as the monthly-mean data set

viz.plot.TimeSeriesPlotter([inFolder, ...])

A plotter object to hold on to some info needed for plotting time series from ISOMIP+ simulation results

viz.plot.TimeSeriesPlotter.plot_melt_time_series([...])

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

viz.plot.TimeSeriesPlotter.plot_time_series(da, ...)

viz.plot.MoviePlotter(inFolder, ...)

A plotter object to hold on to some info needed for plotting images from ISOMIP+ simulation results

viz.plot.MoviePlotter.plot_barotropic_streamfunction([...])

Plot a series of image of the barotropic streamfunction

viz.plot.MoviePlotter.plot_overturning_streamfunction([...])

Plot a series of image of the overturning streamfunction

viz.plot.MoviePlotter.plot_melt_rates([...])

Plot a series of image of the melt rate

viz.plot.MoviePlotter.plot_ice_shelf_boundary_variables()

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

viz.plot.MoviePlotter.plot_temperature()

Plot a series of images of temperature at the sea surface or ice-ocean interface, sea floor and in an x-z section

viz.plot.MoviePlotter.plot_salinity()

Plot a series of images of salinity at the sea surface or ice-ocean interface, sea floor and in an x-z section

viz.plot.MoviePlotter.plot_potential_density()

Plot a series of images of salinity at the sea surface or ice-ocean interface, sea floor and in an x-z section

viz.plot.MoviePlotter.plot_horiz_series(da, ...)

Plot a series of image of a given variable

viz.plot.MoviePlotter.plot_3d_field_top_bot_section(da, ...)

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

viz.plot.MoviePlotter.plot_layer_interfaces([...])

Plot layer interfaces, the sea surface height and the bottom topography of the cross section at fixed y.

viz.plot.MoviePlotter.images_to_movies(outFolder)

Convert all the image sequences into movies with ffmpeg

evap.update_evaporation_flux(...)

Update the "evaporation" fluxes used to keep sea level under control for the ISOMIP+ experiments.

forward.Forward(test_case, resolution, ...)

A step for performing forward MPAS-Ocean runs as part of ice-shelf 2D test cases.

forward.Forward.setup()

Set up the test case in the work directory, including downloading any dependencies.

forward.Forward.run()

Run this step of the test case

geom.process_input_geometry(inFileName, ...)

Process the BISICLES input geometry from ISOMIP+.

geom.interpolate_ocean_mask(dsMesh, dsGeom, ...)

Interpolate the ocean mask from the original BISICLES grid to the MPAS mesh.

initial_state.InitialState(test_case, ...)

A step for creating a mesh and initial condition for ISOMIP+ test cases

initial_state.InitialState.run()

Run this step of the test case

misomip.Misomip(test_case, resolution, ...)

A step for interpolating output to the MISOMIP1 grid from an ISOMIP+ simulation

misomip.Misomip.run()

Run this step of the test case

ssh_adjustment.SshAdjustment(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

ssh_adjustment.SshAdjustment.setup()

Set up the test case in the work directory, including downloading any dependencies.

ssh_adjustment.SshAdjustment.run()

Run this step of the test case

streamfunction.Streamfunction(test_case, ...)

A step for computing the barotropic and overturning streamfunctions from ISOMIP+ simulation results

streamfunction.Streamfunction.run()

Run this step of the test case

planar_convergence

PlanarConvergence(mpas_core)

A test group for testing horizontal advection in MPAS-Ocean

conv_init.ConvInit(test_case, resolution)

A step for creating a mesh for a given resolution in a planar convergence test case.

conv_init.ConvInit.run()

Run this step of the test case

conv_test_case.ConvTestCase(test_group, name)

A test case for various convergence tests on in MPAS-Ocean with planar, doubly periodic meshes

conv_test_case.ConvTestCase.configure()

Set config options for the test case

conv_test_case.ConvTestCase.run()

Run each step of the testcase

conv_test_case.ConvTestCase.update_cores()

Update the number of cores and min_cores for each forward step

forward.Forward(test_case, resolution)

A step for performing forward MPAS-Ocean runs as part of a planar convergence test case

forward.Forward.setup()

Set namelist options base on config options

forward.Forward.run()

Run this step of the testcase

forward.Forward.get_dt_duration()

Get the time step and run duration as namelist options from config options

horizontal_advection

HorizontalAdvection(test_group)

A test case for testing horizontal advection in MPAS-Ocean with planar, doubly periodic meshes

HorizontalAdvection.configure()

Set config options for the test case

HorizontalAdvection.run()

Run each step of the testcase

init.Init(test_case, resolution)

A step for creating an initial_condition for advection convergence test case

init.Init.run()

Run this step of the test case

analysis.Analysis(test_case, resolutions)

A step for visualizing the output from the advection convergence test case

analysis.Analysis.run()

Run this step of the test case

analysis.Analysis.rmse(resolution, variable)

Compute the RMSE for a given resolution

soma

Soma(mpas_core)

A test group for Simulating Ocean Mesoscale Activity (SOMA) test cases

soma_test_case.SomaTestCase(test_group, ...)

The class for all test cases in the SOMA test group.

soma_test_case.SomaTestCase.validate()

Test cases can override this method to perform validation of variables

analysis.Analysis(test_case, resolution)

A step for verifying that temperature and salinity profiles for SOMA case from particle interpolations are consistent with initialized profiles

analysis.Analysis.run()

Run this step of the test case

forward.Forward(test_case, resolution, ...)

A step for performing forward MPAS-Ocean runs as part of SOMA test cases.

forward.Forward.run()

Run this step of the test case

initial_state.InitialState(test_case, ...)

A step for creating a mesh and initial condition for SOMA test cases

initial_state.InitialState.run()

Run this step of the test case

sphere_transport

SphereTransport(mpas_core)

A test group for testing algorithms for passive tracer advection on the sphere

correlated_tracers_2d

CorrelatedTracers2D(test_group)

A test case for 2D transport on the sphere

CorrelatedTracers2D.configure()

Set config options for the test case

CorrelatedTracers2D.run()

Run each step of the testcase

mesh.Mesh(test_case, resolution)

A step for creating uniform global meshes

mesh.Mesh.run()

Run this step of the test case

mesh.Mesh.build_cell_width_lat_lon()

Create cell width array for this mesh on a regular latitude-longitude grid

init.Init(test_case, resolution)

A step for an initial condition for for the cosine bell test case

init.Init.run()

Run this step of the testcase

forward.Forward(test_case, resolution, ...)

A step for performing forward MPAS-Ocean runs as part of the

forward.Forward.setup()

Set namelist options base on config options

forward.Forward.run()

Run this step of the testcase

forward.Forward.get_timestep_str()

These tests expect the time step to be input in units of minutes, but MPAS requires an "HH:MM:SS" string.

analysis.Analysis(test_case, resolutions)

A step for visualizing the output from the correlatedTracers2D test case

analysis.Analysis.run()

Run this step of the test case

divergent_2d

Divergent2D(test_group)

A test case for 2D transport on the sphere

Divergent2D.configure()

Set config options for the test case

Divergent2D.run()

Run each step of the testcase

mesh.Mesh(test_case, resolution)

A step for creating uniform global meshes

mesh.Mesh.run()

Run this step of the test case

mesh.Mesh.build_cell_width_lat_lon()

Create cell width array for this mesh on a regular latitude-longitude grid

init.Init(test_case, resolution)

A step for an initial condition for for the cosine bell test case

init.Init.run()

Run this step of the testcase

forward.Forward(test_case, resolution, ...)

A step for performing forward MPAS-Ocean runs as part of the divergent_2d

forward.Forward.setup()

Set namelist options base on config options

forward.Forward.run()

Run this step of the testcase

forward.Forward.get_timestep_str()

These tests expect the time step to be input in units of minutes, but MPAS requires an "HH:MM:SS" string.

analysis.Analysis(test_case, resolutions)

A step for visualizing the output from the divergent2D test case

analysis.Analysis.run()

Run this step of the test case

nondivergent_2d

Nondivergent2D(test_group)

A test case for 2D transport on the sphere

Nondivergent2D.configure()

Set config options for the test case

Nondivergent2D.run()

Run each step of the testcase

mesh.Mesh(test_case, resolution)

A step for creating uniform global meshes

mesh.Mesh.run()

Run this step of the test case

mesh.Mesh.build_cell_width_lat_lon()

Create cell width array for this mesh on a regular latitude-longitude grid

init.Init(test_case, resolution)

A step for an initial condition for for the cosine bell test case

init.Init.run()

Run this step of the testcase

forward.Forward(test_case, resolution, ...)

A step for performing forward MPAS-Ocean runs as part of the

forward.Forward.setup()

Set namelist options base on config options

forward.Forward.run()

Run this step of the testcase

forward.Forward.get_timestep_str()

These tests expect the time step to be input in units of minutes, but MPAS requires an "HH:MM:SS" string.

analysis.Analysis(test_case, resolutions)

A step for visualizing the output from the nondivergent2D test case

analysis.Analysis.run()

Run this step of the test case

rotation_2d

Rotation2D(test_group)

A test case for 2D transport on the sphere

Rotation2D.configure()

Set config options for the test case

Rotation2D.run()

Run each step of the testcase

mesh.Mesh(test_case, resolution)

A step for creating uniform global meshes

mesh.Mesh.run()

Run this step of the test case

mesh.Mesh.build_cell_width_lat_lon()

Create cell width array for this mesh on a regular latitude-longitude grid

init.Init(test_case, resolution)

A step for an initial condition for for the cosine bell test case

init.Init.run()

Run this step of the testcase

forward.Forward(test_case, resolution, ...)

A step for performing forward MPAS-Ocean runs as part of the rotation_2d

forward.Forward.setup()

Set namelist options base on config options

forward.Forward.run()

Run this step of the testcase

forward.Forward.get_timestep_str()

These tests expect the time step to be input in units of minutes,

analysis.Analysis(test_case, resolutions)

A step for visualizing the output from the rotation_2d test case

analysis.Analysis.run()

Run this step of the test case

sphere_transport framework

process_output.compute_error_from_output_ncfile(dataset)

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.

process_output.compute_convergence_rates(...)

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.

process_output.print_error_conv_table(...)

Print error values and approximate convergence rates to the console as a table.

process_output.read_ncl_rgb_file(cmap_filename)

Read a .rgb file from the NCAR Command Language, and return a matplotlib colormap.

process_output.plot_sol(fig, tcname, dataset)

Plot the solution at time 0, t = T/2, and T=T for test cases in the sphere_transport test group.

process_output.make_convergence_arrays(tcdata)

Collects data from a set of test case runs at different resolutions to use for convergence data analysis and plotting.

process_output.print_data_as_csv(tcname, tcdata)

Print test case data in csv format

process_output.plot_convergence(ax, tcname, ...)

Creates a convergence plot for a test case from the sphere_transport test group.

process_output.plot_filament(ax, tcname, ...)

Plot the "filament norm," as in figure 5 of LSPT2012.

process_output.plot_over_and_undershoot_errors(ax, ...)

Plots over- and under-shoot error as a function of time.

ziso

Ziso(mpas_core)

A test group for Zonally Invariant Southern Ocean (ZISO) test cases

configure(name, resolution, config)

Modify the configuration options for this test case

ZisoTestCase(test_group, resolution, ...)

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.

ZisoTestCase.configure()

Modify the configuration options for this test case.

ZisoTestCase.run()

Run each step of the test case.

with_frazil.WithFrazil(test_group, resolution)

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.

with_frazil.WithFrazil.configure()

Modify the configuration options for this test case.

with_frazil.WithFrazil.run()

Run each step of the test case.

forward.Forward(test_case, resolution[, ...])

A step for performing forward MPAS-Ocean runs as part of ZISO test cases.

forward.Forward.setup()

Set up the test case in the work directory, including downloading any dependencies.

forward.Forward.run()

Run this step of the test case

initial_state.InitialState(test_case, ...)

A step for creating a mesh and initial condition for ZISO test cases

initial_state.InitialState.run()

Run this step of the test case

ocean framework

haney.compute_haney_number(ds_mesh, ...[, ...])

Compute the Haney number rx1 for each edge, and interpolate it to cells

iceshelf.compute_land_ice_pressure_and_draft(...)

Compute the pressure from and overlying ice shelf and the ice-shelf draft

iceshelf.adjust_ssh(variable, ...)

Adjust the sea surface height or land-ice pressure to be dynamically consistent with one another.

particles.write(init_filename, ...[, types, ...])

Write an initial condition for particles partitioned across cores

particles.remap_particles(init_filename, ...)

Remap particles onto a new grid decomposition.

plot.plot_initial_state([input_file_name, ...])

creates histogram plots of the initial condition

plot.plot_vertical_grid(grid_filename, config)

Plot the vertical grid

vertical.init_vertical_coord(config, ds)

Create a vertical coordinate based on the config options in the vertical_grid section and the bottomDepth and ssh variables of the mesh data set.

vertical.grid_1d.generate_1d_grid(config)

Generate a vertical grid for a test case, using the config options in the vertical_grid section

vertical.grid_1d.write_1d_grid(interfaces, ...)

write the vertical grid to a file

vertical.partial_cells.alter_bottom_depth(...)

Alter bottomDepth and maxLevelCell for full or partial top cells, if requested

vertical.partial_cells.alter_ssh(config, ...)

Alter ssh and maxLevelCell for full or partial top cells, if requested

vertical.zlevel.init_z_level_vertical_coord(...)

Create a z-level vertical coordinate based on the config options in the vertical_grid section and the bottomDepth and ssh variables of the mesh data set.

vertical.zlevel.compute_min_max_level_cell(...)

Compute minLevelCell and maxLevelCell indices as well as a cell mask for the given reference grid and top and bottom topography.

vertical.zlevel.compute_z_level_layer_thickness(...)

Compute z-level layer thickness from ssh and bottomDepth

vertical.zlevel.compute_z_level_resting_thickness(...)

Compute z-level resting thickness by "unstretching" layerThickness based on ssh and bottomDepth

vertical.zstar.init_z_star_vertical_coord(...)

Create a z-star vertical coordinate based on the config options in the vertical_grid section and the bottomDepth and ssh variables of the mesh data set.