Skip to content

Module thk

This IGM module solves the mass conservation equation for ice to update the thickness based on ice flow (computed by the iceflow module) and surface mass balance (provided by any module that updates smb). The equation is solved using an explicit first-order upwind finite-volume scheme on the 2D working grid. This scheme allows ice mass to move between cells (where thickness and velocities are defined) using edge-defined fluxes (calculated from depth-averaged velocities and ice thickness in the upwind direction).

The scheme is mass-conservative and parallelizable due to its fully explicit nature. However, it is subject to a CFL condition, meaning the time step (defined in the time module) is constrained by the parameter processes.time.cfl. This parameter represents the maximum number of cells crossed in one iteration and cannot exceed one. For more details, refer to the documentation of the time module. Additional information about the scheme can be found in the following paper: (Jouvet et al., 2021)1.

Contributors: Guillaume Cordonnier, Guillaume Jouvet.

Parameters

Default configuration file (thk.yaml):

thk:

  slope_type: superbee                 # limiter used in stock mode (calving_front: false)
  ratio_density: 0.910                 # rho_ice / rho_water for flotation

  calving_front: false                 # true -> enable method below; false -> plain thk
  method: sub_grid                     # sub_grid (Albrecht/PISM) | level_set 

  front_slope_type: godunov            # limiter at the front band; godunov avoids pile-up
  interior_slope_type: superbee        # limiter in deep bulk; equal to front disables hybrid
  only_marine: true                    # restrict calving to cells with topg < water_level
  extend_halo: 2                       # iceflow-facing thk padding width; 0 = partial cells only
  extend_thresh: 0.95                  # halo cells below interior_mean*thresh get padded

  sub_grid:
    href_cap_factor: 2.0               # Href cap = factor * H_threshold (kills cold-start bursts)
    promote_iters: 5                   # passes of partial-cell -> full promotion per outer step
    calve_cliff: true                  # drain thk at front full cells -> actual retreat mechanism

  level_set:                           # Bondzio 2016 / ISSM
    only_near_front: false             # Gaussian-damp calving forcing away from psi=0
    band_cells: 3                      # width of that Gaussian, in cells
    reinit_freq: 5                     # Sussman reinit every N outer steps (0 = never)
    reinit_iter: 5                     # pseudo-time iterations per reinit
    reinit_iter_initial: 50            # iterations for the initial psi build from +/-dx mask
    phi_eps: 1.0e-3                    # floor on phi when recovering thk = M / phi
    cap_partial: false                 # clip partial-cell thk to interior mean (lossy)

Description of the parameters:

Name Description Default value Units
slope_type Type of slope limiter for the ice thickness equation (godunov or superbee). Used in stock mode (`calving_front: false`). superbee
ratio_density Density of ice divided by density of water (used by the flotation term). 0.91
calving_front False
method sub_grid
front_slope_type godunov
interior_slope_type superbee
only_marine True
extend_halo 2
extend_thresh 0.95
sub_grid
Name Description Default value Units
sub_grid.href_cap_factor 2.0
sub_grid.promote_iters 5
sub_grid.calve_cliff True
level_set
Name Description Default value Units
level_set.only_near_front False
level_set.band_cells 3
level_set.reinit_freq 5
level_set.reinit_iter 5
level_set.reinit_iter_initial 50
level_set.phi_eps 0.001
level_set.cap_partial False

  1. Jouvet, G., Cordonnier, G., Kim, B., Lüthi, M., Vieli, A., & Aschwanden, A. (2021). Deep learning speeds up ice flow modelling by several orders of magnitude. Journal of Glaciology, 68(270), 651--664. https://doi.org/10.1017/jog.2021.120