A modular open source glacier model in Python

The model accounts for glacier geometry (including contributory branches) and includes an explicit ice dynamics module. It can simulate past and future mass-balance, volume and geometry of (almost) any glacier in the world in a fully automated and extensible workflow. We rely exclusively on publicly available data for calibration and validation.


“Develop a global scale, modular, and open source numerical model framework for consistently simulating past and future global scale glacier change”

Global not only in the sense of leading to meaningful results for all glaciers combined, but also for any small ensemble of glaciers, e.g. at the headwater catchment scale. Modular to allow different approaches to the representation of ice flow and surface mass balance to be combined and compared against each other. Open source so that the code can be read and used by anyone and so that new modules can be added and discussed by the community, following the principles of transparency and open governance. Consistent in order to provide well-defined uncertainty measures at all realizable scales.



  • Extract glacier outlines from a reference dataset (RGI)
  • Project outlines onto a local gridded map of the glacier (Fig. 1a).
  • Download suitable DEM data and interpolate to the local grid (map spatial resolution depending on glacier size).


  • Compute glacier centerlines using a geometrical routing algorithm (Fig. 1b)
  • Filter and slightly modify centerlines to derive “flowlines” with a fixed grid spacing (Fig. 1c).

Catchment areas and widths

  • Obtain geometrical widths along the flowlines
  • Calculate catchment areas for each tributary and the main flowline
  • Correct the geometrical widths so that the flowline representation is in close accordance with the actual altitude-area distribution (Fig. 1d).

Climate data and mass-balance

  • Interpolate gridded monthly climate data to glacier location
  • Correct for altitude at each grid point along the flowline
  • Compute past mass-balances using a carefully calibrated temperature-index model

Ice thickness inversion

  • Estimate ice flux along each glacier cross-section using mass-balance data
  • Compute thickness of the glacier along the flowlines and the total volume of the glacier based on assumptions about the shape of the cross-section (parabolic or rectangular) and the physics of ice flow (Fig. 1e).

Glacier evolution

  • Simulate glacier advance and retreat under preselected climate time series using a dynamical flowline model. Fig. 1f shows an example of a 120-yrs long random climate sequence that leads to a glacier advance.
Figure 1. OGGM workflow and results exemplified using the Tasman Glacier, New Zealand.

Get involved

We welcome anyone to contribute to the project!