FROST is a data assimilation framework tailored for glacier modeling. It couples the 3D glacier model IGM with an Ensemble Kalman Filter to calibrate glacier-specific surface mass balance parameters using remote sensing observations. The method is derivative-free, and scalable. It also provides uncertainty estimates alongside calibrated results.
-
Clone the repository
git clone [email protected]:FAU-glacier-systems/FROST.git
-
Create a virtual environment with conda
cd FROST conda env create -f environment.yml conda activate frost_env
-
Duplicate the
experiments/test_defaultfolder and rename it to your custom experiment name, e.g.,experiments/my_run. Adapt theconfig.ymlto your target glacier and desired setup e.g. rgi_id and experiment_name -
Download elevation change product and adapt the path in
config.ymle.g. 'data/raw/hugonnet/11_rgi60_2000-01-01_2020-01-01' https://www.sedoo.fr/theia-publication-products/?uuid=c428c5b9-df8f-4f86-9b75-e04c778e29b9 -
Run the pipeline
python frost_pipeline.py --config experiments/<experiment-name>/pipeline_config.yml
-
View the results:
-
Calibration Results
data/results/<experiment-name>/glaciers/<rgi-id>/calibration_results.json -
Monitoring Images
data/results/<experiment-name>/glaciers/monitor/status.png
A schematic overview of the FROST calibration workflow:
If you use FROST, please cite:
Herrmann, O. et al. (2025) ‘A Kalman filter-based framework for assimilating remote sensing observations into a surface mass balance model’, Annals of Glaciology, 66, p. e23. doi:10.1017/aog.2025.10020.


