ismip7_run
The landice/ismip7_run test group sets up one or more experiments from the
ISMIP7 protocol for both the
Antarctic Ice Sheet (AIS) and the Greenland Ice Sheet (GrIS).
This functionality assumes the forcing files have already been generated using the ismip7_forcing test group and organized into the expected directory layout. It creates a consistent set of run directories for the requested experiments. Each experiment directory is self-contained with namelists, streams, forcing symlinks, and a job script ready for submission.
The test group includes two test cases:
ismip7_ais— Antarctic Ice Sheet experimentsismip7_gris— Greenland Ice Sheet experiments
Note
This test group is not meant for automated running of experiments. Expert knowledge is recommended for conducting the actual simulations. Each experiment (step) should be submitted manually via its job script.
Experiment Matrix
The ISMIP7 core protocol defines 11 experiments per ice sheet:
Experiment |
Scenario |
Start |
End |
ESM |
|---|---|---|---|---|
|
Historical |
≥1850 |
2014 |
CESM2-WACCM |
|
Historical |
≥1850 |
2014 |
MRI-ESM2-0 |
|
SSP370 |
2015 |
2100 |
CESM2-WACCM |
|
SSP370 |
2015 |
2100 |
MRI-ESM2-0 |
|
SSP126 |
2015 |
2300 |
CESM2-WACCM |
|
SSP126 |
2015 |
2300 |
MRI-ESM2-0 |
|
SSP585 |
2015 |
2300 |
CESM2-WACCM |
|
SSP585 |
2015 |
2300 |
MRI-ESM2-0 |
|
CTRL2015 |
2015 |
2300 |
CESM2-WACCM |
|
CTRL2015 |
2015 |
2300 |
MRI-ESM2-0 |
|
OCX |
1990 |
2025 |
(reanalysis) |
Unlike ISMIP6, ISMIP7 requires a separate historical simulation per ESM.
Projection experiments automatically symlink their restart file from the
corresponding ESM’s historical run (e.g.,
ssp585_CESM2-WACCM → ../historical_CESM2-WACCM/rst.2015-01-01.nc).
Usage
Process forcing data using ismip7_forcing.
Organize output into the expected directory layout:
{forcing_basepath}/ ├── CESM2-WACCM_historical/ │ ├── atmosphere/ │ │ └── {mesh}_SMB_CESM2-WACCM_historical_*.nc │ ├── ocean_thermal_forcing/ │ │ └── {mesh}_2dThermalForcing_*.nc (GrIS) │ │ └── {mesh}_3dThermalForcing_*.nc (AIS; optional for GrIS) │ └── shelf_collapse/ │ └── {mesh}_ice_shelf_collapse_mask_*.nc ├── CESM2-WACCM_ssp585/ │ ├── atmosphere/ │ ├── ocean_thermal_forcing/ │ └── shelf_collapse/ └── ...The
shelf_collapsesubdirectory (ISMIP7 Path C ice shelf collapse mask, produced by fracture) is required forssp*experiments unlessuse_hydrofracture_forcingis set tofalse; see Mask Calving (Path C) below.Create a user config file overriding the
NotAvailablepaths.Set up and run:
compass setup landice/ismip7_run/ismip7_ais -f my_ismip7_ais.cfg # Then submit job scripts from individual experiment directories
If
gia_modelis set to1dSLMorFastIsostasy,compass setupalso adds amapping_filesorfastiso_mapping_filessubdirectory (respectively). These must be run (via their job script, orcompass runfrom within that subdirectory) before submitting any individual experiment, since the experiments’ job scripts assume the mapping files already exist.
config options
All config options should be reviewed and altered as needed.
AIS config ([ismip7_run_ais]):
[ismip7_run_ais]
# Experiment list: "all", "historical", "projections", "ctrl",
# or comma-delimited experiment names
exp_list = all
# Number of MPI tasks
ntasks = 128
pio_stride = 128
# Base path to pre-processed forcing
forcing_basepath = NotAvailable
# Initial condition and parameter files
init_cond_path = NotAvailable
melt_params_path = NotAvailable
reference_surface_path = NotAvailable
region_mask_path = NotAvailable
# Climatology files for CTRL2015 experiments
ctrl_tf_climatology_path = NotAvailable
ctrl_atm_climatology_path = NotAvailable
# OCX forcing path
ocx_forcing_path = NotAvailable
# Calving: restore or von_mises
calving_method = restore
von_mises_parameter_path = NotAvailable
# Whether to apply the ISMIP7 Path C ice shelf collapse mask as
# hydrofracture-gated mask calving (not used for historical, ctrl, or
# ocx experiments). If true, setup fails when the mask file is missing
# for an experiment that should have one.
use_hydrofracture_forcing = true
# Ice fracture toughness (Pa m^0.5) for the hydrofracture vulnerability
# criterion gating mask calving, used only when use_hydrofracture_forcing
# is true.
calving_fracture_toughness = 2.0e5
# Face melting
use_face_melting = false
# Glacial isostatic adjustment (GIA) coupling: none, 1dSLM, or FastIsostasy
gia_model = none
# Sea-level model coupling (used if gia_model = 1dSLM)
slm_input_ice = NotAvailable
slm_input_earth = NotAvailable
slm_earth_structure = prem_512.l60K2C.sum18p6.dum19p2.tz19p4.lm22
slm_input_others = NotAvailable
nglv = 2048
# FastIsostasy (regional bedrock/GIA) coupling (used if
# gia_model = FastIsostasy)
fastiso_path = NotAvailable
fastiso_earth_structure_filename = weak-earth.nc
fastiso_mask_filename = None
fastiso_res_km = 8
Note
fastiso_res_km sets the resolution (in km) of the regular grid
FastIsostasy runs on, which should match one of the standard ISMIP7
grid resolutions (2, 4, 8, or 16 km for AIS). As of this writing,
resolutions finer than 8 km have been found to yield numerically
unstable results.
Note
fastiso_path is a directory holding both the Earth-structure
(rheology) file named by fastiso_earth_structure_filename and,
optionally, an interactive-sea-level activation mask file named by
fastiso_mask_filename. Leaving fastiso_mask_filename = None
uses FastIsostasy’s built-in fallback, which activates interactive
sea level only over the un-padded ice domain – a hard cutoff at the
domain/padding boundary that can show up as a ring-shaped artifact in
bed-topography change near the edge of the ice sheet. Supplying a mask
file (NetCDF with dims x/y, 1-D coordinate variables x/y
in meters, and a 2-D variable M) lets you activate it over a wider
region, e.g. the full padded domain, instead.
GrIS config ([ismip7_run_gris]) is similar (including
reference_surface_path) but without sea-level model or FastIsostasy
coupling options, and adds use_3d_thermal_forcing (default false):
# Whether to additionally force with 3D ocean thermal forcing (built by
# the build_3d_thermal_forcing step of landice/ismip7_forcing/ocean_thermal)
# alongside the 2D forcing. Requires melt_params_path.
use_3d_thermal_forcing = false
GrIS always reads ismip6_2dThermalForcing (the authoritative ISMIP7 2D
ocean forcing) from *2dThermalForcing_*.nc at monthly intervals. When
use_3d_thermal_forcing is true, it additionally reads
ismip6shelfMelt_3dThermalForcing and ismip6shelfMelt_zOcean from
*3dThermalForcing_*.nc at monthly intervals (the 3D forcing is split
across multiple year-block files addressed via a $Y template), plus
ismip6shelfMelt_deltaT, ismip6shelfMelt_basin, and
ismip6shelfMelt_gamma0 from the file at melt_params_path (which must
be supplied in that case).
Forcing Streams
ISMIP7 uses more forcing fields than ISMIP6, at mixed temporal resolutions:
Monthly forcing (input_interval = 0000-01-00_00:00:00):
sfcMassBal— surface mass balancesurfaceAirTemperature— surface air temperatureismip6Runoff— ice sheet runoffismip6_2dThermalForcing(GrIS, always) — 2D ocean thermal forcingismip6shelfMelt_3dThermalForcing(GrIS whenuse_3d_thermal_forcing = true) — 3D ocean thermal forcing
Annual forcing (input_interval = 0001-00-00_00:00:00):
sfcMassBalLapseRate— SMB elevation lapse ratesurfaceAirTemperatureLapseRate— temperature lapse rateismip6shelfMelt_3dThermalForcing(AIS, always) — 3D ocean thermal forcing
Static (input_interval = initial_only):
ismip6shelfMelt_zOcean— ocean depth coordinates (AIS; GrIS whenuse_3d_thermal_forcing = true)ismip6shelfMelt_deltaT,ismip6shelfMelt_basin,ismip6shelfMelt_gamma0— melt parameterization coefficients
For CTRL2015 experiments, all forcing intervals are set to
initial_only (constant climate).
Mask Calving (Path C)
ismip7_ais can optionally apply the ISMIP7 Path C ice shelf collapse
mask produced by fracture. The mask is looked
up under the same forcing_basepath used for the atmosphere/ocean
forcing, at
{forcing_basepath}/{model}_{scenario}/shelf_collapse/*ice_shelf_collapse_mask_*.nc.
historical, ctrl, and ocx experiments never use this pathway,
regardless of use_hydrofracture_forcing.
When use_hydrofracture_forcing is true (the default) for any other
experiment (e.g. ssp126, ssp370, ssp585), a matching mask file
is required: if it is missing, compass setup fails with an error rather
than silently skipping mask calving. When found, the mask is symlinked into
the run directory and used to force calving:
config_apply_calving_maskis set to.true.config_restore_calving_frontis set to.false.config_require_extensional_stresses_for_mask_calvingis set to.true., so the mask only removes floating ice that is also vulnerable to hydrofracture per the fracture-toughness criterion of Lai et al. (2020) / Reynolds and Nowicki (2026). The threshold depends onconfig_calving_fracture_toughness.
Set use_hydrofracture_forcing = false to disable mask calving and the
hydrofracture gating entirely; experiments then use their normal
calving_method configuration instead.
ismip7_ais
landice/ismip7_run/ismip7_ais sets up AIS experiments with 3D ocean
thermal forcing (30 vertical layers) and optional sea-level model and/or
FastIsostasy coupling.
ismip7_gris
landice/ismip7_run/ismip7_gris sets up GrIS experiments with 2D
(depth-averaged) ocean thermal forcing (always), plus optional 3D forcing
(matching the AIS convention) when use_3d_thermal_forcing = true and the
GrIS build_3d_thermal_forcing step (see
ocean_thermal) has been run. Both the 2D and 3D
forcings are delivered to MALI simultaneously when 3D is enabled. Sea-level
model coupling is not currently supported for GrIS. Crevasse-depth calving is
the default.