OGGM

Simulate glacier mass balance, dynamics, and runoff with the OGGM flowline model.

155|6|Updated Mar 31, 2026
One-click install
npx skills add https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation --skill oggm-lzwei196
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: OGGM
Source: https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation/tree/main/models/OGGM
Command: npx skills add https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation --skill oggm-lzwei196

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires oggm, netCDF4, numpy, and includes scripts (resource) and references (resource) components.

What problem does it solve? Running the Open Global Glacier Model correctly requires operational expertise scattered across documentation and practice: preparing RGI glacier inventories, calibrating mass balance against geodetic observations, avoiding silent errors like hydrological-year misalignment and double-counted melt, and recovering from known failure modes. This Skill packages that expertise so an AI agent can run, validate, and couple OGGM simulations reliably. ## Core Features & Use Cases - Six-stage glacier pipeline: 18 executable tools covering glacier inventory (RGI intersection), preprocessing (GDir creation at levels L0-L5), climate input (W5E5/CRU/CMIP6), mass-balance calibration against Hugonnet 2021 geodetic data, historical and SSP-scenario simulation, and VIC hydrological coupling. - Diagnostic recovery: 26 symptom-diagnosis-remedy triplets in diagnostics/triplets.yaml plus a preflight_check.py that verifies the environment, model package, tools, and cached data before any run. - Validation contract: dag.yaml defines outputs (specific_mass_balance as the rank-1 headline variable, volume, area, length, hydro components) with units, observability, and cited validation bands. - Use Case: Model glacier contribution to discharge in the Yarlung Tsangpo basin under CMIP6 SSP scenarios, then inject OGGM melt into a VIC+CaMa-Flood routing pipeline while avoiding the double-counting trap. ## Quick Start Run python preflight_check.py in this directory, then ask the agent to find glaciers in your basin shapefile and run an OGGM historical simulation with monthly hydrological output.

Frequently Asked Questions about OGGM

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run an OGGM glacier simulation for a river basin?

Intersect your basin shapefile with the RGI inventory using find_glaciers_in_basin.py, initialize pre-processed L5 glacier directories, calibrate mass balance against Hugonnet 2021 geodetic data, then run run_glacier_simulation.py with store_monthly_hydro enabled.

How do I couple OGGM glacier melt with the VIC hydrology model?

Use Mode A post-VIC injection: run VIC normally, run OGGM for basin glaciers, then add OGGM melt to VIC runoff at glacier cells during routing. Handle double-counting by masking VIC glacier cells or subtracting VIC snowmelt on glacier areas.

What Python environment does OGGM require?

OGGM needs Python 3.9-3.11 with numpy below 2.0, installed via conda from conda-forge to handle GDAL/GEOS dependencies. Python 3.12 and numpy 2.0 break current OGGM and salem compatibility.

Why is my OGGM melt seasonal cycle shifted by three months?

OGGM monthly hydro output uses a hydrological year starting October 1 (Northern Hemisphere), so month index 1 is October, not January. Always use the actual datetime coordinates in the NetCDF output instead of month indices when merging with calendar-year data.

When should I skip running OGGM for a basin?

Skip OGGM when glacier fraction is below 0.1% of basin area since glaciers are negligible. Between 0.1% and 1% it is optional, above 1% it is recommended, and above 10% glaciers are a major discharge component requiring explicit modeling.

What does a CFL condition violated error mean in OGGM?

The FluxBasedModel explicit solver becomes unstable at steep icefalls or thin ice, forcing impractically small timesteps. Switch to the SemiImplicitModel, which is unconditionally stable and the v1.6 default.