Skip to content

Reduce number of empty cells in extended high-resolution Greenland Ice Sheet mesh#937

Open
trhille wants to merge 6 commits intoMPAS-Dev:mainfrom
trhille:extended_gris_mesh
Open

Reduce number of empty cells in extended high-resolution Greenland Ice Sheet mesh#937
trhille wants to merge 6 commits intoMPAS-Dev:mainfrom
trhille:extended_gris_mesh

Conversation

@trhille
Copy link
Collaborator

@trhille trhille commented Feb 27, 2026

This merge includes changes needed for a new high-resolution (1–10 km) extended Greenland mesh with variable mesh resolution in the ocean and bare land. The goal is to have high enough resolution in the ocean to resolve fjords for coupling with the ocean, but to use lower resolution where possible to reduce wasted cells. The extended 1–10km without these changes contains 1.4 million cells, only ~350k of which contain ice. With these changes, the extended 1–10km mesh is 870k cells.

Checklist

  • User's Guide has been updated
  • Developer's Guide has been updated
  • API documentation in the Developer's Guide (api.rst) has any new or modified class, method and/or functions listed
  • Documentation has been built locally and changes look as expected
  • The E3SM-Project submodule has been updated with relevant E3SM changes
  • The MALI-Dev submodule has been updated with relevant MALI changes
  • Document (in a comment titled Testing in this PR) any testing that was used to verify the changes
  • New tests have been added to a test suite

andrewdnolan and others added 5 commits February 26, 2026 15:53
Add option to set resolution in ocean based on distance from coast.
Fix grounding line mask definition, which previously marked the entire
ocean as the grounding line used for setting cell widths.
Fix coast mask definition
Remove constraint that forces maximum resolution everywhere on bare
land, which leads to enormous numbers of wasted cells in Greenland.
@trhille trhille added land ice in progress This PR is not ready for review or merging labels Feb 27, 2026
@trhille trhille changed the title Extended gris mesh Reduce number of empty cells in extended high-resolution Greenland Ice Sheet mesh Feb 27, 2026
@trhille
Copy link
Collaborator Author

trhille commented Feb 27, 2026

Testing

Using the .cfg file pasted below, I created a 1–10km mesh containing 870k cells instead of 1.4M. Only ~350k cells contain ice.
image

# config options for high_res_mesh test case
[mesh]

# number of levels in the mesh
levels = 10

# Bounds of GIS mesh. If any bound is set
# to None, the mesh will use the full extent
# of the gridded dataset.
x_min = None
x_max = None
y_min = None
y_max = None

# distance from ice margin to cull (km).
# Set to a value <= 0 if you do not want
# to cull based on distance from margin.
cull_distance = -100.0

# number of processors to use for ESMF_RegridWeightGen
nProcs = 2048

# mesh density parameters
# minimum cell spacing (meters)
min_spac = 1.e3
# maximum cell spacing (meters)
max_spac = 10.e3
# log10 of max speed for cell spacing
high_log_speed = 2.5
# log10 of min speed for cell spacing
low_log_speed = 0.75
# distance at which cell spacing = max_spac
high_dist = 1.e5
# distance within which cell spacing = min_spac
low_dist = 1.e4
# distance at which cell spacing in ocean = max_spac
high_dist_coast = 10.e3
# distance within which cell spaceing in ocean = min_spac
low_dist_coast = 2.e3
# distance at which bed topography has no effect
high_dist_bed = 1.e5
# distance within which bed topography has maximum effect
low_dist_bed = 7.5e4
# Bed elev beneath which cell spacing is minimized
low_bed = 50.0
# Bed elev above which cell spacing is maximized
high_bed = 100.0

# mesh density functions
use_speed = True
use_dist_to_grounding_line = False
use_dist_to_edge = True
use_dist_to_coast = True
use_bed = True

[greenland]
# path to directory containing BedMachine and Measures datasets
# (default value is for Perlmutter)
data_path = /global/cfs/cdirs/fanssie/standard_datasets/GIS_datasets/

# filename of the BedMachine thickness and bedTopography dataset
# (default value is for Perlmutter)
bedmachine_filename = BedMachineGreenland-v6_edits_floodFill_extrap.nc

# filename of the MEaSUREs ice velocity dataset
# (default value is for Perlmutter)
measures_filename = greenland_vel_mosaic500_extrap.nc

# projection of the source datasets, according to the dictionary keys
# create_scrip_file_from_planar_rectangular_grid from MPAS_Tools
src_proj = gis-gimp

# number of processors to use for ESMF_RegridWeightGen
nProcs = 2048

Create a separate .cfg file for the 1–10km Greenland mesh, and
change the default resolution from 3–30km to 4–40km to avoid
out-of-memory errors when running ESMF_RegridWeightGen on a single
Perlmutter node.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in progress This PR is not ready for review or merging land ice

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants