ismip6_run

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

framework

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.

ismip6_ais_proj2300

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.

set_up_experiment

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 graph.info 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.