🌨️ Deep Learning–Based Snow Monitoring in California
By Mohammadreza Narimani, PhD Candidate at UC Davis
Published: Summer 2025 | Digital Agriculture Laboratory
Introduction
California's water system depends heavily on Sierra Nevada snowpack, which acts as a natural reservoir that slowly releases water to rivers, reservoirs, and agriculture. With climate change and prolonged drought, it is increasingly important to monitor snow cover accurately and automatically.
As a PhD Candidate at UC Davis working in remote sensing and environmental monitoring, I mentored my undergraduate mentee through a full research project in the ESEARCH Summer 2025 program. Together, we developed a deep learning–based snow detection pipeline using Sentinel-2 imagery, Google Earth Engine, and open-source Python tools. My mentee presented our work at the UC Davis College of Engineering poster showcase, highlighting how deep learning can support snowpack and drought management.
This blog post summarizes our workflow, poster, and GitHub repository.
Project Overview
Project Title: Deep Learning–Based Snow Monitoring in California Using Sentinel-2 Satellite Data for Management of Snowpack Resources
Authors: Vivian Jiaheng Sun, Mohammadreza Narimani
Affiliation: Computer Science and Biological & Agricultural Engineering, UC Davis – Digital Agriculture Lab
The project builds an end-to-end, reproducible workflow for:
- Interactively sampling 512×512 pixel regions of interest (ROIs) from Sentinel-2
- Downloading multi-band Sentinel-2 imagery for each ROI
- Visualizing snow, clouds, and bright surfaces using RGB and false-color composites
- Training a convolutional encoder–decoder network to perform pixel-wise snow classification
- Producing snow probability maps that can scale across California and beyond
Why Snow Monitoring Matters in California
- Snowpack in the Sierra Nevada is a vital seasonal water source, supplying rivers, reservoirs, and irrigation during the dry season
- Declining snowpack and more frequent droughts increase uncertainty for water managers
- Continuous snow monitoring supports:
- Drought resilience and early warning
- Year-to-year water supply forecasting
- Sustainable allocation between urban, agricultural, and environmental needs
Our study uses open Sentinel-2 satellite data and deep learning to create an affordable, scalable monitoring solution.
Sentinel-2 and Spectral Bands for Snow Detection
Sentinel-2 provides 13 spectral bands from visible (VIS) to shortwave infrared (SWIR). For snow detection:
- Standard RGB composites make snow, clouds, and bright urban features all appear white
- By using a false-color composite (B11 – SWIR, B8 – NIR, B4 – Red), snow becomes spectrally distinct from clouds and other bright surfaces
- SWIR bands B11 and B12 are especially sensitive to snow vs. cloud differences and wet vs. dry surfaces
This spectral design forms the foundation of our deep learning model.
Deep Learning Workflow
Our GitHub repository implements a full training and analysis pipeline:
1️⃣ ROI Drawing & Sentinel-2 Download
Using interactive notebooks, we can:
- Draw square ROIs directly on an interactive Sentinel-2 map
- Automatically save each ROI as a shapefile
- Batch-download bands B1–B12 (excluding B10) for each ROI
2️⃣ Dataset Creation
We compile:
- 100 snow-covered images
- 100 non-snow images (agriculture, desert, urban, ocean)
- Each image clipped to 512×512 pixels
- Converted into stacked multi-band TIFFs
3️⃣ Encoder–Decoder Network
A convolutional encoder–decoder architecture that outputs:
- Input: Sentinel-2 bands (RGB + SWIR)
- Output: 512×512 probability map
- Data splits: 60% training, 15% validation, 25% testing
4️⃣ Drought Context & Visualization
We generate Palmer Drought Severity Index (PDSI) time series, showing long-term wet and dry periods in California and emphasizing the need for robust snowpack monitoring.
Results
The deep learning model shows strong performance in distinguishing snow vs. non-snow pixels:
- Accuracy: 0.895
- Precision: 0.869
- Recall: 0.930
- F1-Score: 0.899
- Intersection over Union (IoU): 0.816
A confusion matrix confirms clear separation between snow and non-snow classes, leading to reliable snow cover maps suitable for large-scale monitoring. These metrics demonstrate that combining Sentinel-2 spectral features with deep learning provides high-quality data for water resource planning and snowpack management.
Repository Features
The Sentinel2_Snow_Monitoring repository offers:
- ✅ Interactive ROI selection and auto-saving of shapefiles
- ✅ Batch Sentinel-2 download for B1–B12 (excluding B10)
- ✅ Cloud and date filtering for clean imagery
- ✅ Visualization utilities for RGB and B11–B8–B4 composites
- ✅ Deep learning training notebook for snow segmentation
- ✅ Drought analysis notebook linking snow to long-term climate variability
This makes it an excellent teaching and research resource for snow monitoring, hydrology, and environmental remote sensing.
About the Author
Mohammadreza Narimani
PhD Candidate, University of California, Davis
Remote Sensing • Digital Agriculture • Earth Observation • Deep Learning for Environmental Monitoring
I mentor undergraduate and graduate students in satellite data processing, Python, Google Earth Engine, and AI-based environmental applications as part of the Digital Agriculture Lab at UC Davis.
📧 mnarimani@ucdavis.edu
🎓 Google Scholar Profile
Conclusion
The Sentinel2_Snow_Monitoring project demonstrates how Sentinel-2 multispectral imagery, deep learning, and open-source geospatial tools can come together to create a robust, scalable snow monitoring workflow for California and other snow-dependent regions.
Through this project, my mentee gained hands-on experience in remote sensing, machine learning, and scientific communication, while we developed a tool that supports drought resilience and sustainable water management.