dome test group (
implements variants of the dome test case either at 2000-m uniform or variable
horizontal resolution and 10 vertical layers (see dome). Here,
we describe the shared framework for this test group and the 3 test cases
implemented for each resolution.
The shared config options for the
dome test group are described
in dome in the User’s Guide.
Additionally, the test group has a shared
namelist.landice file with
a few common namelist options related to time step and run duration, and a
streams.landice file that defines
compass.landice.tests.dome.setup_mesh.SetupMesh defines a
step for setting up the mesh for each test case.
For test cases at uniform, 2000-m resolution, the horizontal mesh is
constructed at runtime (using
The variable resolution mesh is downloaded from
In this case, we use
database='' as a trick to download the file from
the LCRC server but without any subdirectory relative to the path pointed
to by the
core_path options in the
section of the config file.
A MALI grid is created with the MPAS-Tools script
create_landice_grid_from_generic_MPAS_grid.py and a graph file is created
to partition the mesh before the model run.
Finally, the initial condition is defined in the private function
compass.landice.tests.dome.run_model.RunModel defines a
step for running MALI from the initial condition produced in
RestartTest test cases, the model will run multiple times with
different namelist and streams files. To support this functionality, this
constructor takes an argument
suffixes, which is a list of suffixes for the
these namelist and streams files. The model runs once for each suffix. The
default is just
compass.landice.tests.dome.visualize.Visualize step is optional
in each test case and can be run manually to plot the results of the test case.
It is control by the config options in the
This step is not run by default by adding it with
step = Visualize(test_case=self, mesh_type=mesh_type)
performs a 200-year run once on 1 core and once on 4 cores. It ensures that
normalVelocity are identical at the end of the two runs
(as well as with a baseline if one is provided when calling
compass.landice.tests.dome.restart_test.RestartTest performs a
2-year run once on 4 cores, then a sequence of 2 1-year runs on 4 cores. It
normalVelocity are identical at the end of
the two runs (as well as with a baseline if one is provided when calling
The restart step works by creating two different namelist and streams files,
one each with
landice as the suffix and one each with
the suffix. The former perform a 1-year run from the initial condition, while
the latter perform a 1-year restart run beginning with the end of the first.