Fork me on GitHub
Two Distributed Glacier Surface Mass-Balance and Discharge Models


Welcome to the homepage of two open source glacier surface mass-balance and discharge models (Version 2.1.2):

The models compute glacier surface mass balance (ablation and accumulation) and discharge, with hourly to daily resolution. The mass balance model is fully distributed, i.e. calculations are performed for each grid cell of a digital elevation model. Discharge is calculated by three linear reservoirs corresponding to the different storage properties of firn, snow and glacier ice. Discharge simulations are optional, i.e. the mass balance model can be run independently of the discharge model. Glacier retreat may also be modeled using a simple volume-area scaling. In addition, DEBAM can compute subsurface temperatures, water content and percolation via a 1-D multi-layer snow model that is forced by the surface energy balance.

Minimum data requirements are a digital elevation model and hourly or daily air temperature and precipitation data (DETIM) and temperature, precipitation, wind speed, relative humidity and shortwave incoming radiation (DEBAM).

The models were initially developed by Regine Hock in the mid 1990s, and have since been continuously expanded. In 2006, Carleen Tijm-Reijmer contributed the subsurface snow model used by DEBAM. The models are portable to different platforms (Mac, Linux, Windows ...). The models were made open source in August 2012 with help of Lyman Gillispie.


The models are hosted from our github repository. You can download the source as zip or tar files via:

Alternately, you can also clone the project with Git by running:

$ git clone

from a terminal (i.e. open a terminal and copy the line above (git ....) into the command line). If you plan to modify the model source code, or contribute to the project, this is the preferred method. More information about git can be found at git-scm or at Github.

The download will always include both DETIM and DEBAM. Most files are needed for both models. Note that the master version is always the most up-to-date model version.



To build DEBAM and DETIM, do

$ cd meltmodel
$ make models

The model executables (detim and debam) will now be located in meltmodel/bin

A complete installation guide is available here.


The most recent revision of the manual is available here.

Additional Model Tools

Additional tools have been developed to help with certain tasks related to the model, for example, making model calibration more efficient; a partial list of these may be found at the External Tools page.

Literature And Previous Applications

The models are described in detail in the following papers:

List of references which are based on application of the source code is available here


As of version 1.0.0 (September 2013), we've begun using Semantic Versioning to dictate model version numbers. Roughly speaking, version numbers consist of MAJOR.MINOR.PATCH, which are incremented when

  1. MAJOR: when backwards incompatible changes are made
  2. MINOR: when backwards-compatible functionality is added
  3. PATCH: when backwards-compatible bug fixes are made.

For example, your parameter file (input.txt) of model version 1.0.3 will not work with version 3.6.4 but will work with 1.2.0 and 1.0.4.

The various versions of the model are marked in git with tags and can be reviewed on Github.

Additional Information

For further information contact Regine Hock, (University of Alaska, Fairbanks) or Carleen Tijm-Reijmer (University Utrecht). Note that the model may contain errors and the model manual may not be complete or outdated. User support and further code improvements are available in direct collaboration with us.

If you find errors or have suggestions how the manual (or model) can be improved, please feel free to let up know via the Github Issues page for the models or via email.

Model updates and changes

The model constantly evolves. All significant model changes and updates since 2012 are logged here. If you are interested in contributing to the model directly, for example, by adding new features, check our contributing page. We use git and Github to manage our code.