Deep learning tools for predicting snow depth from remote sensing data.
deep-snow is an open-source package that 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 our preprint Brencher et al., 2026.
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 command line interface (CLI) or Python API.
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 interestbatch_sd_timeseries: generate a time series of snow-depth maps over a date range
See docs/github-actions.md for details.
git clone https://github.com/geo-smart/deep-snow.git
cd deep-snow
conda install mamba -n base -c conda-forge # install mamba, if not already installed
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" 25Or 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.
- docs/scientific-context.md: data sources, model formulation, resolution, validation domain, and limitations
- docs/github-actions.md: running batch workflows in GitHub
- docs/local-prediction.md: local CLI and Python usage
The model uses the following input data sources:
- 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 lidar snow depth maps are used for training and evaluation, but not for inference.
Contributions are welcome! No matter what your level of experience, you CAN help make this package better.
If you have a suggestion, please fork the repo and create a pull request. You can also simply open an issue.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Quinn Brencher, gbrench@uw.edu
- Eric Gagliano, egagli@uw.edu
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)
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
- Background notebook
- Spicy-snow tutorial background
- Spicy-snow paper
- Lievens et al. (2022)
- What is SAR? (ASF)
- What is SAR? (NASA Earthdata)
- Sentinel-1 SAR user guide
- ASF HyP3 RTC product guide
This project draws on code, language, ideas, and inspiration from:


