A new modelling interface for OGGM-Edu

Glacier modeling made even easier

Posted by Erik Holmgren on March 18, 2022

During the last few months we’ve been working on a new interface for the OGGM-Edu notebooks. Our goal is to provide students and educators with an easy and intuitive way to interact and experiment with OGGM, even with limited coding experience.

Today, we are very happy to announce that this new interface is ready to be used! See its tools documented here or, even better, see them in action on the OGGM-Edu notebooks page.

The oggm-edu python package now ships five entirely new classes:

  • Glacier: the main way to evolve and plot a glacier
  • SurgingGlacier: similar to Glacier, but surging!
  • GlacierBed: makes it easy to create linear and non-linear glacier bed.
  • Massbalance: create a simple (or complex!) mass balance profile for the Glacier.
  • GlacierCollection: a storage container for multiple Glaciers, making it possible to perform experiments on multiple glaciers.

Creating a glacier is now very simple! We have also improved the plotting routines greatly:

from oggm_edu import MassBalance, GlacierBed, Glacier

# Create the bed

bed = GlacierBed(top=3400, bottom=1500, width=300)
# And the mass balance

mass_balance = MassBalance(ela=3000, gradient=4)
# And finally the glacier!

glacier = Glacier(bed=bed, mass_balance=mass_balance)
glacier.plot()

To grow the glacier there we can either progress the glacier to a specified year:

glacier.progress_to_year(150)
glacier.plot()

Or progress the glacier to equilibrium:

glacier.progress_to_equilibrium()
glacier.plot()

It is just as easy to inspect the history of the length, volume and area of the glacier:

glacier.plot_history()

This is just a small part of what is possible with the new interface. We hope that you will find this interesting, and are waiting for your feedback!