DOI: 10.5281/zenodo.16953614
title: A global high-resolution dataset of snowmelt runoff onset timing from Sentinel-1 SAR, 2015-2024

description: Overview

This dataset provides the first comprehensive global characterization of snowmelt runoff onset timing at high spatial resolution. Using Sentinel-1 C-band SAR data combined with a custom MODIS-derived snow phenology dataset, we detect characteristic backscatter minima that coincides with snowmelt runoff onset. The dataset covers nearly all seasonal snow on Earth for water years 2015–2024.

The methodology leverages multi-orbit Sentinel-1 observations to identify the timing of minimum C-band backscatter, which coincides with peak liquid water content in snowpack during the transition to sustained runoff. A custom MODIS-derived snow phenology dataset constrains the temporal search windows, ensuring detection occurs when and where seasonal snow exists. 

This dataset was validated against 900+ automated weather stations in the Western U.S. (median difference: -1.0 days, MAD: 9.0 days), with empirically-derived performance recommendations based on environmental controls.

The associated publication contains the complete methodology for dataset creation and validation, as well as the context for proper interpretation and application of this dataset. Use of this dataset without consulting the associated publication is discouraged and may lead to inappropriate applications or misinterpretation of results. If you use this dataset in research, please cite the accompanying paper. 

Details



Product Source: Sentinel-1 C-band SAR VV-polarization (Microsoft Planetary Computer), MODIS MOD10A2 snow cover (Microsoft Planetary Computer)

Format: Cloud-optimized Zarr archive (please make sure to extract the .tar.xz file first!)

Spatial Coverage: Global (60°S to 81.1°N, 180°W to 180°E), ~43.7 million km² total coverage

Temporal Coverage:  Water Years 2015-2024 (October 1, 2014 and March 31, 2025) 

Coordinate system: WGS84 Geographic Coordinate System (EPSG:4326)

Spatial Resolution: 80 meters (derived from Sentinel-1 RTC COG overviews)

Temporal Resolution: Variable by location and year (average 9.3 days globally, near daily in some locations)

Array Dimensions:



Annual variables: (water_year: 10, latitude: 195970, longitude: 499998)

Composite variables: (latitude: 195970, longitude: 499998)



Data type: int16 with scale factors

NoData: -9999


Variables



runoff_onset: Annual snowmelt runoff onset dates (day of water year) [dimensions: water_year, lat, lon]



Values: integer DOWY, valid range 1-366

Physical meaning: Timing of SAR backscatter minimum indicating runoff onset



temporal_resolution: Temporal resolution in days for each pixel/year [dimensions: water_year, lat, lon]



Values: decimal days, precision limited to 0.1 days, valid range 0-30 days

Physical meaning: Average time between Sentinel-1 observations used in runoff onset estimation



runoff_onset_median: 10-year median runoff onset timing [dimensions: lat, lon]



Values: integer DOWY, valid range 1-366

Physical meaning: Median runoff onset date throughout WY2015-2024 (requires >=3 valid years)



runoff_onset_mad: 10-year median absolute deviation of runoff onset [dimensions: lat, lon]



Values: decimal days, precision limited to 0.1 days, valid range 1>days

Physical meaning: Median absolute deviation in runoff onset timing throughout WY2015-2024 (requires >=3 valid years)



temporal_resolution_median: 10-year median temporal resolution [dimensions: lat, lon]



Values: decimal days, precision limited to 0.1 days, valid range 0-30 days

Physical meaning: Median temporal resolution throughout WY2015-2024 (requires >=3 valid years)




Water Year Definition



Northern Hemisphere: October 1st of previous calendar year - September 30th of current calendar year 



e.g. WY 2015 is 2014-10-01 to 2015-09-30 (DOWY 1 = Oct 1, 2014)



Southern Hemisphere: April 1st of current calendar year - March 31st of the following calendar year



e.g. WY 2015 is 2015-04-01 to 2016-03-31 (DOWY 1 = Apr 1, 2015)




 

Example usage

import xarray as xr
import rioxarray
import matplotlib.pyplot as plt

# 1. Open the global snowmelt runoff onset Zarr dataset, use consolidated=True and decode_coords='all'
global_ds = xr.open_zarr("global_snowmelt_runoff_onset.zarr", 
                          consolidated=True, decode_coords='all')

# 2. clip to Mt. Rainier, WA 
rainier_ds = global_ds.rio.clip_box(
    minx=-121.95, miny=46.7, maxx=-121.45, maxy=46.95, crs="EPSG:4326"
)

# 3. Reproject to UTM Zone 10N visualization of global 10-year median runoff onset
rainier_utm_ds = rainier_ds.rio.reproject("EPSG:32610")

# 4. Create a quick plot of the composite variables
f,axs = plt.subplots(ncols=3,nrows=1)
rainier_utm_ds["runoff_onset_median"].plot.imshow(ax=axs[0], cmap='viridis', vmin=80, vmax=260)
rainier_utm_ds["runoff_onset_mad"].plot.imshow(ax=axs[1], cmap='Reds', vmin=0, vmax=60)
rainier_utm_ds["temporal_resolution_median"].plot.imshow(ax=axs[2], cmap='summer', vmin=1, vmax=20)

# 5. Create maps of runoff onset and temporal resolution for each water year
rainier_utm_ds["runoff_onset"].plot.imshow(col='water_year', cmap='viridis', vmin=80, vmax=260)
rainier_utm_ds["temporal_resolution"].plot.imshow(col='water_year', cmap='summer', vmin=1, vmax=20)

 

Publication citation

[will update this here later]

Resources



global_snowmelt_runoff_onset github repository https://github.com/egagli/global_snowmelt_runoff_onset

Snow phenology Zenodo https://zenodo.org/records/15692530

Snow phenology github repository https://github.com/egagli/MODIS_seasonal_snow_mask