The ocean core currently includes 5 Test Suites that can be used to run a series of ocean test cases and optionally compare them against a baseline run of the same tests.
nightly test suite¶
compass suite -c ocean -t nightly ...
nightly test suite includes the following test cases:
ocean/baroclinic_channel/10km/default ocean/baroclinic_channel/10km/threads_test ocean/baroclinic_channel/10km/decomp_test ocean/baroclinic_channel/10km/restart_test ocean/global_ocean/QU240/mesh ocean/global_ocean/QU240/PHC/init ocean/global_ocean/QU240/PHC/performance_test ocean/global_ocean/QU240/PHC/restart_test ocean/global_ocean/QU240/PHC/decomp_test ocean/global_ocean/QU240/PHC/threads_test ocean/global_ocean/QU240/PHC/analysis_test ocean/global_ocean/QU240/PHC/RK4/performance_test ocean/global_ocean/QU240/PHC/RK4/restart_test ocean/global_ocean/QU240/PHC/RK4/decomp_test ocean/global_ocean/QU240/PHC/RK4/threads_test ocean/global_ocean/QU240/EN4_1900/init ocean/global_ocean/QU240/EN4_1900/performance_test ocean/global_ocean/QU240/PHC_BGC/init ocean/global_ocean/QU240/PHC_BGC/performance_test ocean/ice_shelf_2d/5km/restart_test ocean/ziso/20km/default ocean/ziso/20km/with_frazil
These are all meant to be short tests that are appropriate for regression testing. They cover much (but by no means all) of the features of MPAS-Ocean. These tests should expose problems with the tools for creating meshes and initial conditions as well as unexpected changes in any operations, such as advection and diffusion, that affect the 4 main prognostic variables: layer thickness, velocity, temperature and salinity.
Several additional tests determine that the model behavior is exactly the same
for a long run or a shorter continuation run from a restart file
restart_test). Others ensure that the code produces the same result when
it is run on different numbers of cores (
decomp_test) or threads
threads_test). Several tests are run with both the split-explicit and RK4
time integrators (see performance_test test case).
One test (analysis_test test case) ensures that the so-called “analysis members”, which can perform analysis as the model runs, are functioning properly and that their results do not change unexpectedly.
Two tests (
restart_test from ice_shelf_2d and
from ziso) include checks for proper functioning of frazil ice
One test (
restart_test from ice_shelf_2d) checks that
freshwater fluxes under ice shelves are working as expected.
default test from ziso tests that Lagrangian particles are
quwisc240 test suite¶
compass suite -c ocean -t quwisc240 ...
ocean/global_ocean/QUwISC240/mesh ocean/global_ocean/QUwISC240/PHC/init ocean/global_ocean/QUwISC240/PHC/performance_test ocean/global_ocean/QUwISC240/PHC/restart_test ocean/global_ocean/QUwISC240/PHC/decomp_test ocean/global_ocean/QUwISC240/PHC/threads_test ocean/global_ocean/QUwISC240/PHC/analysis_test ocean/global_ocean/QUwISC240/PHC/RK4/performance_test ocean/global_ocean/QUwISC240/PHC/RK4/restart_test ocean/global_ocean/QUwISC240/PHC/RK4/decomp_test ocean/global_ocean/QUwISC240/PHC/RK4/threads_test ocean/global_ocean/QUwISC240/EN4_1900/init ocean/global_ocean/QUwISC240/EN4_1900/performance_test ocean/global_ocean/QUwISC240/PHC_BGC/init ocean/global_ocean/QUwISC240/PHC_BGC/performance_test
This test suite performs exactly the same set of tests for the QUwISC240 mesh
that are performed on the QU240 mesh in the nightly test suite. Since
the QUwISC240 initial condition is a bit more time consuming to produce and
equilibrate (see Sea surface height adjustment), it is not included in the
nightly suite but regression testing on this mesh should also be performed
on a regular basis to ensure no unexpected changes to MPAS-Ocean and E3SM
configurations with ice-shelf cavities.
qu240_for_e3sm test suite¶
compass suite -c ocean -t qu240_for_e3sm ...
ocean/global_ocean/QU240/mesh ocean/global_ocean/QU240/PHC/init ocean/global_ocean/QU240/PHC/dynamic_adjustment ocean/global_ocean/QU240/PHC/files_for_e3sm
This suite includes all the tests needed to spin up an initial condition for E3SM on the QU240 mesh.
quwisc240_for_e3sm test suite¶
compass suite -c ocean -t quwisc240_for_e3sm ...
ocean/global_ocean/QUwISC240/mesh ocean/global_ocean/QUwISC240/PHC/init ocean/global_ocean/QUwISC240/PHC/dynamic_adjustment ocean/global_ocean/QUwISC240/PHC/files_for_e3sm
This suite includes all the tests needed to spin up an initial condition for E3SM on the QUwISC240 mesh.
ec30to60 test suite¶
compass suite -c ocean -t ec30to60 ...
ocean/global_ocean/EC30to60/mesh ocean/global_ocean/EC30to60/PHC/init ocean/global_ocean/EC30to60/PHC/performance_test ocean/global_ocean/EC30to60/PHC/dynamic_adjustment ocean/global_ocean/EC30to60/PHC/files_for_e3sm
This suite is included for convenience so all the tests needed to spin up an initial condition for E3SM on the EC30to60 mesh can be run with a single command. A short performance test is also included.
ecwisc30to60 test suite¶
compass suite -c ocean -t ec30to60 ...
ocean/global_ocean/ECwISC30to60/mesh ocean/global_ocean/ECwISC30to60/PHC/init ocean/global_ocean/ECwISC30to60/PHC/performance_test ocean/global_ocean/ECwISC30to60/PHC/dynamic_adjustment ocean/global_ocean/ECwISC30to60/PHC/files_for_e3sm
Similarly to the previous 3 suites, this suite is included for convenience so all the tests needed to spin up an initial condition for E3SM on the ECwISC30to60 mesh can be run with a single command. A short performance test is also included.