Skip to content

geo-smart/deep-snow

Repository files navigation

deep-snow

CI

Machine learning tools for predicting snow depth from remote sensing data.

Overview

deep-snow provides models and workflows to estimate snow depth from Sentinel-1, Sentinel-2, SNODAS, terrain, and forest-cover inputs.

The focus is on a simple, reproducible pipeline that can be run locally or via GitHub Actions. For model details and evaluation, see Brencher et al., 2026.

Choose Your Workflow

There are two main ways to use deep-snow. Use GitHub Actions for quick runs or large batch jobs with minimal setup. Use a local install if you want to develop, debug, or build custom workflows with the CLI or Python API.

Quickstart

Option 1: GitHub Actions

Fork the repo and run workflows from the Actions tab:

  • batch_predict_sd: generate one snow-depth map for a target date over an area of interest
  • batch_sd_timeseries: generate a time series of snow-depth maps over a date range

See docs/github-actions.md for details.

Option 2: Local install

git clone https://github.com/geo-smart/deep-snow.git
cd deep-snow
conda install mamba -n base -c conda-forge
mamba env create -f environment.yml
conda activate deep-snow
pip install -e .

Make a prediction using the CLI:

deep-snow predict-sd 20240320 20230910 "-108.20 37.55 -108.00 37.75" 25

Add --predict-swe True if you also want Hill-model SWE and density outputs alongside depth.

Or make a prediction using the Python API:

from deep_snow import predict_sd

aoi = {
    "minlon": -108.20,
    "minlat": 37.55,
    "maxlon": -108.00,
    "maxlat": 37.75,
}

ds = predict_sd(
    aoi=aoi,
    target_date="20240320",
    snowoff_date="20230910",
    out_dir="data/application",
    predict_swe=True,
)

See docs/local-prediction.md for details.

Documentation

Data

The model uses the following as inputs:

  • Sentinel-1 RTC backscatter data (snow-on and snow-off)
  • Sentinel-2 imagery (snow-on)
  • SNODAS snow depth
  • Fractional forest cover
  • COP30 digital elevation model

Sentinel-1 and Sentinel-2 inputs are selected close in time to the target date. Inputs are co-registered to a common grid and assembled into model-ready datasets. Airborne Snow Observatory lidar snow depth maps are used for training and evaluation, but not for inference.

Contributing

Contributions are welcome!

Collaborators

2023 GeoSMART Hackweek team:

  • Bareera Mirza
  • Ibrahim Alabi
  • Dawn URycki
  • Taylor Ganz
  • Mansa Krishna
  • Taryn Black
  • Will Rosenbluth
  • Yen-Yi Wu
  • Fadji Maina
  • Hui Gao
  • Jacky Chen Xu
  • Nicki Shobert
  • Kathrine Udell-Lopez
  • Abner Bogan (Helper)

2024 NASA Earth Sciences and UW Hackweek team:

  • Ekaterina (Katya) Bashkova
  • Manda Chasteen
  • Sarah Kilpatrick
  • Isabella Chittumuri
  • Kavita Mitkari
  • Shashank Bhushan (Helper)
  • Adrian Marziliano (Helper)

Citation

George Brencher, Eric Gagliano, Taylor Ganz, Dawn URycki, Taryn Black, Mansa Krishna, Manda Chasteen, Isabella Chittumuri, Zachary Hoppinen, wrosenbluth, Yen-Yi Wu, nshobert, kudelllopez, Ibrahim O Alabi, fadjimaina, Shashank Bhushan, Hui, Handsome Jacky Chen, Bareera Mirza, … Abner Bogan. (2026). geo-smart/deep-snow: v0.1.0 (v0.1.0). Zenodo. https://doi.org/10.5281/zenodo.18968780

Additional Resources

Acknowledgements

This project draws on code, ideas, and inspiration from:

About

Machine learning models for remote sensing snow depth retrieval

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages