eismint2

The eismint2 test group (compass.landice.tests.eismint2.Eismint2) implements variants of the EISMINT2 test cases at 25-km horizontal resolution and with 10 vertical layers (see eismint2). Here, we describe the shared framework for this test group and the 5 test cases.

framework

The shared config options for the eismint2 test group are described in eismint2 in the User’s Guide.

Additionally, the test group has a shared namelist.landice file with a several namelist options shared across all test cases, and a shared streams.landice file that defines input, restart, output, and globalStatsOutput streams.

setup_mesh

The class compass.landice.tests.eismint2.setup_mesh.SetupMesh defines a step for setting up the mesh for each test case.

The horizontal mesh is constructed at runtime (using mpas_tools.planar_hex.make_planar_hex_mesh()). 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.

run_experiment

The class compass.landice.tests.eismint2.run_experiment.RunExperiment defines a step for setting up the initial condition for an EISMINT2 experiment and running MALI with that initial condition. For the restart_test test cases, the model will run multiple times with different namelist and streams files. To support this functionality, this step has an attribute 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 landice.

The initial condition is defined, based on the experiment letter, in the private function _setup_eismint2_initial_conditions().

standard_experiments

The class compass.landice.tests.eismint2.standard_experiments.StandardExperiments defines a test that sets up the shared mesh, then performs a 200,000-year run for each of the 6 supported EISMINT2 experiments (A, B, C, D, F and G) on 4 cores. It doesn’t contain any Validation.

visualize

The compass.landice.tests.eismint2.standard_experiments.visualize.Visualize step visualizes the results of experiment A by default, but be run manually to plot the results of any of the 6 experiments.It is control by the config options in the eismint2_viz section.

decomposition_test and enthalpy_decomposition_test

The two variants of the compass.landice.tests.eismint2.decomposition_test.DecompositionTest perform a 3,000-year run of experiment F once on 1 core and once on 4 cores. They ensure that thickness, temperature, basalTemperature, and heatDissipation are identical at the end of the two runs (as well as with a baseline if one is provided when calling compass setup). The default variant uses the temperature thermal solver, while the enthalpy variant uses the enthalpy thermal solver.

restart_test and enthalpy_restart_test

The two variants of the compass.landice.tests.eismint2.restart_test.RestartTest perform a 3,000-year run of experiment F once on 4 cores, then a sequence of a 2,000-year and then a 1,000-year run on 4 cores. They ensures that thickness, temperature, basalTemperature, and heatDissipation are identical at the end of the two runs (as well as with a baseline if one is provided when calling compass setup). The default variant uses the temperature thermal solver, while the enthalpy variant uses the enthalpy thermal solver.

The restart step works by creating two different namelist and streams files, one each with landice as the suffix and one each with landice.rst as the suffix. The former perform a 2,000-year run from the initial condition, while the latter perform a 1,000-year restart run beginning with the end of the first.