The ismip6_run test group (compass.landice.tests.ismip6_run) sets up experiments from the ISMIP6 experimental protocol. (see ismip6_run).


There is no shared functionality for the ismip6_run test group. Shared functions may be added if additional test cases are added and the needed functionality can be generalized.


The compass.landice.tests.ismip6_run.ismip6_ais_proj2300.Ismip6AisProj2300 sets up an ensemble of ISMIP6 Antarctica 2300 simulations. The constructor (__init__) does nothing other than allow the ismip6_ais_proj2300 test case to be listed by compass list without having all individual experiments listed in a verbose listing. Each individual experiment is a step rather than a test case to avoid having excessive subdirectories.

The configure method is where the experiments to be set up are determined. The config option exp_list is parsed and each experiment to be included is set up as a step of the test case by calling the SetUpExperiment constructor (__init__). All of the experiments are removed from steps_to_run, because the experiments (steps) are not meant to be run together through the test case, which is a contrary design to most compass test cases.

The run method of the test case generates an error instructing the user to submit batch jobs for each experiment individually.


The class compass.landice.tests.ismip6_run.ismip6_ais_proj2300.set_up_experiment.SetUpExperiment defines a step for a single ISMIP6 experiment (model run). The constructor (__init__) stores the experiment name.

The setup method actually sets up an experiment by taking a baseline configuration and then namelist and streams as necessary to define the ISMIP6 experiment requested. See the ISMIP6 website for the list of experiment definitions.

A file is created for each run. Additionally, a job script is written for the run so that the run can be submitted as an independent slurm job. Finally, a symlink to the compass load script is added to the run work directory, which compass does not do by default.

The run method runs MALI for the given experiment.