.. _landice_dome: dome ==== 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. .. figure:: images/halfar.png :width: 700 px :align: center 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 three families of test cases: smoke, decomposition and restart. All of these test cases have three 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 of these test cases share the same set of default config options: .. code-block:: cfg # namelist options for dome test cases [dome] # 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 [dome_viz] # 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 smoke_test ---------- The smoke-test variants are ``landice/dome/2000m/sia_smoke_test``, ``landice/dome/2000m/fo_smoke_test``, ``landice/dome/variable_resolution/sia_smoke_test`` and ``landice/dome/variable_resolution/fo_smoke_test``. These are the default minimal example tests to set up and run. There is optional validation against the analytic solution. The SIA versions run for 200 years, while the FO versions are configured to run for only 2 years because the FO solver is more expensive. These default durations can be modified in the ``namelist.landice`` file in the ``run_model`` step directory. decomposition_test ------------------ The decomposition-test variants are ``landice/dome/2000m/sia_decomposition_test``, ``landice/dome/2000m/fo_decomposition_test``, ``landice/dome/variable_resolution/sia_decomposition_test`` and ``landice/dome/variable_resolution/fo_decomposition_test``. They 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 compare the resulting prognostic variables between the two runs. restart_test ------------ The restart-test variants are ``landice/dome/2000m/sia_restart_test``, ``landice/dome/2000m/fo_restart_test``, ``landice/dome/variable_resolution/sia_restart_test`` and ``landice/dome/variable_resolution/fo_restart_test``. Each first runs a short (2 year) integration of the model forward in time (``full_run`` step). Then, a second step (``restart_run``) performs two 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.