Repository navigation
Add FastIsostasy coupling setup for ISMIP7 AIS test case - #970
Merged
trhille merged 8 commits intoSep 24, 2026
Merged
Conversation
hollyhan
force-pushed
the
landice/add_fastisostasy_to_ismip7
branch
3 times, most recently
from
July 21, 2026 19:13
becdeee to
64f63ae
Compare
hollyhan
force-pushed
the
landice/add_fastisostasy_to_ismip7
branch
2 times, most recently
from
September 18, 2026 06:28
716950c to
52837d0
Compare
hollyhan
force-pushed
the
landice/add_fastisostasy_to_ismip7
branch
4 times, most recently
from
September 19, 2026 03:09
7b66b51 to
6ad3ac5
Compare
Contributor
Author
|
@matthewhoffman , @trhille . This is ready to be tested and merged. |
hollyhan
force-pushed
the
landice/add_fastisostasy_to_ismip7
branch
from
September 19, 2026 16:28
e99b233 to
eb8e8ae
Compare
trhille
requested changes
Sep 21, 2026
This commit adds functionality to set up coupled MALI-FastIsostasy simulations in the
ISMIP7 AIS test case, following the same pattern as the existing Sea Level Model (SLM)
integration.
New files:
- create_fastiso_mapping_files.py: Step class for generating mapping files
* Includes create_ismip7_grid_file() function copied from MPAS-Tools
* Creates MALI -> FastIsostasy mapping (conserve method)
* Creates FastIsostasy -> MALI mapping (bilinear method)
Modified files:
- __init__.py: Added CreateFastIsoMappingFiles step when fastisostasy=true
- set_up_experiment.py: Added FastIsostasy configuration and validation
- ismip7_ais.cfg: Added fastisostasy, fastiso_res_km, and icesheet options
- ismip7_ais_test.cfg: Added same configuration options
Configuration options:
- fastisostasy (bool): Enable FastIsostasy coupling
- fastiso_res_km (int): Grid resolution in km (2, 4, 8, or 16 for AIS)
- icesheet (str): Ice sheet identifier ('AIS' or 'GrIS')
The ismip7_run test group had no api.rst entry at all, even for the pre-existing base/SLM functionality. Adds the full listing, including the new CreateFastIsoMappingFiles step and create_ismip7_grid_file function. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Rename fastiso_earth_structure_path to fastiso_path so it can house both the Earth-structure rheology file and a new optional activation mask for FastIsostasy's interactive sea level. Without a mask file, FastIsostasy activates interactive sea level only over the un-padded ice domain, producing a hard cutoff at the domain/padding boundary that shows up as a ring artifact in bed-topography change near the ice sheet edge; a supplied mask lets that region be widened (e.g. to the full padded domain) instead. - Add fastiso_mask_filename config option (default "None", matching FastIsostasy's own no-mask convention). - Template mask_file in namelist.fastisostasy.template instead of hardcoding "None". - Symlink the mask file alongside the Earth-structure file in SetUpExperiment.setup() when configured. - Update user's and developer's guide docs accordingly. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
And address review comments.
hollyhan
force-pushed
the
landice/add_fastisostasy_to_ismip7
branch
from
September 21, 2026 18:29
96091c0 to
c10fa75
Compare
trhille
self-requested a review
September 24, 2026 17:17
trhille
approved these changes
Sep 24, 2026
Collaborator
There was a problem hiding this comment.
I tested this with MALI built at the current head of https://github.com/MALI-Dev/E3SM/tree/matthewhoffman/mali/fastisostasy (commit 1580599).
Here is my .cfg file:
Click to expand
[ismip7_run_ais]
# List of experiments to set up.
# Can be "all", "historical", "projections", "ctrl", or a
# comma-delimited list of experiment names.
# Valid experiment names:
# historical_CESM2-WACCM, historical_MRI-ESM2-0,
# ssp126_CESM2-WACCM, ssp126_MRI-ESM2-0,
# ssp370_CESM2-WACCM, ssp370_MRI-ESM2-0,
# ssp585_CESM2-WACCM, ssp585_MRI-ESM2-0,
# ctrl_CESM2-WACCM, ctrl_MRI-ESM2-0,
# ocx
exp_list = ocx
# historical_CESM2-WACCM,ssp585_CESM2-WACCM
# Number of tasks to use for each run
ntasks = 512
# Value to use for config_pio_stride.
# Should be divisible into ntasks
pio_stride = 128
# Base path to the pre-processed ISMIP7 forcing files.
# Expected layout:
# {forcing_basepath}/{model}_{scenario}/atmosphere/
# {forcing_basepath}/{model}_{scenario}/ocean_thermal_forcing/
# User has to supply.
forcing_basepath = /global/cfs/cdirs/m4288/users/trhille/ISMIP7/test_processing/AIS/
# Path to the initial condition file. User has to supply.
init_cond_path = /pscratch/sd/t/trhille/ISMIP7/AIS/mesh_gen_20260805/2008/4to20km/optimization/molho/budd/20260914/AIS_4to20km_r03_20260915.nc
# Path to the file for the basal melt parametrization coefficients.
melt_params_path = /pscratch/sd/t/trhille/ISMIP7/AIS/test_MALI-Dev_PR187_and_COMPASS_PR989/ismip6shelfMelt_params.nc
# Path to the reference surface elevation file
reference_surface_path = /pscratch/sd/t/trhille/ISMIP7/AIS/test_MALI-Dev_PR187_and_COMPASS_PR989/upper_surface.nc
# Path to the region mask file
region_mask_path = /global/cfs/cdirs/fanssie/MALI_input_files/AIS_4to20km_r03/AIS_4to20km_r03_20260905_ismip6_regionMasks.nc
# Path to the ocean thermal forcing climatology file for CTRL2015 runs.
# This is the constant-climate 30-year mean (2000-2029) thermal forcing.
# User has to supply if running ctrl experiments.
ctrl_tf_climatology_path = NotAvailable
# Path to the atmosphere climatology files for CTRL2015 runs.
# Directory containing constant-climate SMB, temperature, etc.
# User has to supply if running ctrl experiments.
ctrl_atm_climatology_path = NotAvailable
# Path to OCX (observationally constrained experiment) forcing.
# User has to supply if running the ocx experiment.
ocx_forcing_path = /global/cfs/cdirs/m4288/users/trhille/ISMIP7/test_processing/AIS/OCX_main
# Calving method to use. Options: restore, von_mises
calving_method = restore
# Path to the file containing the von Mises parameter fields.
# Only required if calving_method is set to 'von_mises'.
von_mises_parameter_path = NotAvailable
# Whether to apply the ISMIP7 Path C ice shelf collapse mask (from
# ismip7_forcing fracture) as hydrofracture-gated mask calving. Expected
# layout: {forcing_basepath}/{model}_{scenario}/shelf_collapse/*.nc
# Not used for historical, ctrl, or ocx experiments. If true and the mask
# file is missing for an experiment that should have one, setup fails.
use_hydrofracture_forcing = true
# Ice fracture toughness (K_IC, Pa m^0.5) used in the hydrofracture
# vulnerability criterion gating mask calving. Only used when
# use_hydrofracture_forcing is true.
calving_fracture_toughness = 2.0e5
gia_model = FastIsostasy
# Path to the directory containing globally defined ice thickness
# field for the sea-level model
slm_input_ice = NotAvailable
# Path to the directory containing earth model for the sea-level model
slm_input_earth = NotAvailable
# Earth structure profile filename
slm_earth_structure = prem_512.l60K2C.sum18p6.dum19p2.tz19p4.lm22
# Path to the directory containing other SLM input files
slm_input_others = NotAvailable
# Number of gauss-legendre nodes in latitude (typically multiple of 512)
nglv = 2048
fastiso_path = /global/cfs/cdirs/fanssie/MALI_projects/FastIsostasy_Inputs/
fastiso_earth_structure_filename = weak-earth.nc
fastiso_mask_filename = mask_full_domain.nc
fastiso_res_km = 16
[parallel]
parallel_executable = srun --label --cpu-bind=cores
Bed topography change 2008–2012 (not 100% sure which way the sign points because of the way Paraview programmable filter works):
Collaborator
|
Note that we're getting a little ahead of ourselves by merging this before merging the MALI-Dev PR MALI-Dev/E3SM#183. I should have checked that this works with |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds functionality to set up coupled MALI-FastIsostasy simulations in the ISMIP7 AIS test case, following the same pattern as the existing Sea Level Model (SLM) integration.
Checklist
api.rst) has any new or modified class, method and/or functions listedUpdate (09/22/2026): Test results of coupled modeling based on realistic climate forcing and Earth sturcture can be found here: MALI-Dev/E3SM#183
July 2026: test results with a simple climate forcing

The signs of bedrock change and thickness change seem reasonable (ice thickening → bedrock subsiding & ice thinning → bedrock uplifting)