The landice/dome test group implements variants of the dome test case from Halfar (1983) and Bueler et al. (2005).

The domain is approximately rectangular with a circularly symmetric ice sheet at its center. This dome of ice has no accumulation or ablation and simply relaxes under its weight, flowing out radially. This diffusive behavior has an analytic solution when using the shallow-ice approximation for dynamics. See the MALI User’s Guide, section 12.1 for the equations solved.


Halfar test case results after 200 years of dome evolution. This figure is generated by the visualization script.

Variants of the test case are available in COMPASS at 2000-m uniform or variable (~1200 m to ~16700 m) horizontal resolution. Both default to 10 vertical layers.

The test cases in this test group can run with either the SIA or FO velocity solvers. Running with the FO solver requires a build of MALI that includes Albany, but the SIA variant of the test can be run without Albany.

The test group includes 3 test cases. All test cases have 3 steps, setup_mesh, which defines the mesh and initial conditions for the model; run_model (given another name in many test cases to distinguish multiple forward runs), which performs time integration of the model; and visualize, which optionally plots the results of the test case (PNG files, plot windows, or both).

config options

All 3 test cases share the same set of default config options:

# namelist options for dome test cases

# sizes (in cells) for the 2000m uniform mesh
nx = 30
ny = 34

# resolution (in m) for the 2000m uniform mesh
dc = 2000.0

# number of levels in the mesh
levels = 10

# the dome type ('halfar' or 'cism')
dome_type = halfar

# Whether to center the dome in the center of the cell that is closest to the
# center of the domain
put_origin_on_a_cell = True

# whether to add a small shelf to the test
shelf = False

# whether to add hydrology to the initial condition
hydro = False

# namelist options related to visualization for dome test cases

# which time index to visualize
time_slice = 0

# whether to save image files
save_images = True

# whether to hide figures (typically when save_images = True)
hide_figs = True


landice/dome/2000m/smoke_test and landice/dome/varres/smoke_test are the default version of the dome test case which is meant as a minimal example test to set up and run. There is optional validation against the analytic solution. The SIA version of this test runs for 200 years, while the FO version is configured to only run for 2 years, given the greater expense of the FO solver. These default durations can be modified in the namelist.landice file in the run_step directory.


landice/dome/2000m/decomposition_test and landice/dome/varres/decomposition_test run short (1 year) integrations of the model forward in time on 1 (1proc_run step) and then on 4 processors (4proc_run step) to make sure the resulting prognostic variables are bit-for-bit identical between the two runs.


landice/dome/2000m/restart_test and landice/dome/varres/restart_test first run a short (2 year) integration of the model forward in time (full_run step). Then, a second step (restart_run) performs 2 1-year runs, where the second begins from a restart file saved by the first. Prognostic variables are compared between the “full” and “restart” runs at year 2 to make sure they are bit-for-bit identical.