Global MODIS snow phenology: snow appearance date, snow disappearance date, and maximum consecutive snow days, water years 2015–2025
收藏资源简介:
Overview Annual global maps of three snow phenology metrics at 500 m resolution, derived from the MODIS/Terra MOD10A2 Version 61 8-day maximum snow extent product for water years 2015–2025: SAD_DOWY — snow appearance date: the first day of the longest continuous snow-covered period of the water year. SDD_DOWY — snow disappearance date: the first snow-free day following that period. max_consec_snow_days — the length of that period, in days. Dates are expressed as day of water year (DOWY), not calendar day of year. DOWY 1 is 1 October in the northern hemisphere and 1 April in the southern hemisphere, so a water year is defined hemisphere-locally: northern WY2020 spans 1 Oct 2019 – 30 Sep 2020, southern WY2020 spans 1 Apr 2020 – 31 Mar 2021. In leap years SDD_DOWY can reach 367. Data details Source: MODIS/Terra Snow Cover 8-Day L3 Global 500m SIN Grid, Version 61 (MOD10A2.061), NASA NSIDC DAAC Temporal coverage: water years 2015–2025 (observations span 1 Oct 2014 – 31 Mar 2026) Spatial coverage: global; 314 of the 648 MODIS land tiles contain data (176 northern, 138 southern) Grid: MODIS sinusoidal, 86,400 × 43,200 pixels, 463.313 m posting CRS: +proj=sinu +R=6371007.181 +nadgrids=@null +wktext Dimensions: (water_year: 11, y: 43200, x: 86400) Data type: int16, fill value -32768 Format: Zarr v3 with sharding — shards of (1, 2400, 2400) (one tile-year per shard), inner chunks of (1, 600, 600), Blosc/zstd level 5. Delivered as a single ZIP archive. The fill value marks every pixel with no detected snow period: ocean, permanently snow-free land, and pixels with too few usable observations in the water year. It is not a distinction between “no snow” and “not observed”. Opening the data The archive is stored uncompressed (the Zarr chunks are already compressed), so it can be read without unzipping: import xarray as xrimport zarrimport rioxarray # registers the .rio accessor # 1. Open the archive directly — no extraction neededstore = zarr.storage.ZipStore("modis_snow_phenology_v1.zarr.zip", mode="r")ds = xr.open_zarr(store, zarr_format=3, consolidated=False, decode_coords="all") # 2. Clip to a bounding box around Mount Rainier in EPSG:4326 (lon/lat)rainier_ds = ds.rio.clip_box(minx=-121.95, miny=46.7, maxx=-121.45, maxy=46.95, crs="EPSG:4326") # 3. Select max_consec_snow_days for water year 2020rainier_da = rainier_ds["max_consec_snow_days"].sel(water_year=2020) # 4. Reproject out of the MODIS sinusoidal grid to UTM zone 10Nrainier_utm_da = rainier_da.rio.reproject("EPSG:32610") # 5. Plotrainier_utm_da.plot.imshow(cmap="viridis", vmin=0, vmax=366) To unpack it into a normal directory store instead: unzip modis_snow_phenology_v1.zarr.zip -d modis_snow_phenology_v1.zarr, then xr.open_zarr("modis_snow_phenology_v1.zarr", zarr_format=3, consolidated=False, decode_coords="all"). Requires zarr ≥ 3.0 (the store uses Zarr v3 sharding); reading a single tile-year does not require loading the globe. Processing Each MODIS tile is processed independently over a window spanning the target water year plus one full year on either side, so gap-filling has context across water year boundaries. In order: Fetch MOD10A2.061 granules from the NSIDC archive via NASA Earthdata (CMR). Polar night correction (tiles in the extreme polar rows only): scenes dominated by no-decision/night values are identified, required to persist over a rolling 4-scene window, and their apparent snow-free pixels are recoded as cloud so winter darkness is not misread as snow-free ground. Cloud gap-filling after Wrzesien et al. (2019): cloud, darkness and no-decision observations are filled both forward and backward in time, and a gap is labelled snow only where the preceding and following clear observations both show snow. The full multi-year series is filled as one unit rather than per water year. Water year assignment using the hemisphere-local definition above, with each water year seeded by the last observation of the preceding one so snow already on the ground at the start of the year is detected. Water years with fewer than 5 usable observations are discarded. Metrics: a per-pixel scan along the time axis finds the longest continuous snow-covered run, whose bounds become SAD_DOWY and SDD_DOWY and whose length becomes max_consec_snow_days. Median input is 46–47 eight-day composites per tile-year. Pixels with at least 56 consecutive snow days — the threshold used downstream to define seasonal snow — number 239–250 million per water year (51.3–53.6 million km²), a spread of only 4.4% across the eleven years. Counting every pixel with any detected snow period instead gives 344–377 million, but that count is inflated by very short detections and should not be read as snow extent (see limitations). Known limitations The fill value is not a snow/no-snow flag. A pixel set to -32768 may be ocean, permanently snow-free land, or a pixel with too few usable observations that water year. The dataset does not distinguish these cases. Only the longest snow-covered period of each water year is described. A pixel that goes through several distinct snow periods retains no record of any but the longest, so SAD_DOWY and SDD_DOWY should not be read as the first and last snow of the year. Short-duration detections are not reliable and should be thresholded out. Globally, 15–18% of pixels with a valid snow period have max_consec_snow_days ≤ 8 days, i.e. a single 8-day composite; in individual arid and tropical tiles that share exceeds 90%, where snow is often implausible. Apply a duration threshold for any snow-climatology use — 56 days is the threshold used downstream to define seasonal snow. The count of short detections grows over the record; do not read it as a trend in snow. Pixels with any detected snow period rise 8.1% in WY2025 relative to the WY2015–2023 mean, and the ≤ 8-day share climbs from 15.2% (WY2015) to 18.4% (WY2025), in both hemispheres and including regions where snow is implausible. Seasonal snow extent (≥ 56 days) is unaffected, sitting 0.9% below the same baseline. This is consistent with the gradual degradation of MODIS/Terra snow retrievals as Terra's orbit drifts from its original 10:30 crossing time, and is a property of the input product rather than of this processing. Cloud gap-filling is conservative about snow. A gap is labelled snow only when bracketed by snow on both sides, so a snow period that begins or ends under prolonged cloud is truncated, and brief snow entirely hidden by cloud is missed. Differences from the water years 2015–2024 record This dataset supersedes 10.5281/zenodo.15692530. It is a complete reprocessing with new source data, not an extension, so values differ from the earlier record everywhere not only in the added year: Water year 2025 added. Source moved from the Microsoft Planetary Computer MOD10A2 mirror, which stopped updating in mid-2025, to the authoritative NSIDC archive. MODIS/Terra was not decommissioned and MOD10A2 is still produced; only the mirror lapsed. New polar night correction for Arctic and Antarctic tiles, where sensor no-decision and nighttime values during winter darkness had been treated as snow-free. Water years are now processed with the hemisphere-local definition applied consistently, and each is only produced once its season has fully elapsed plus a 90-day buffer, so end-of-season cloudy pixels have the trailing observations that backward filling needs. Storage moved from Zarr v2 to Zarr v3 with sharding, so one tile-year is one object. The earlier record remains available and citable for reproducing work that used it. Source code The full reproducible pipeline — processing library, tile-parallel GitHub Actions workflows, and the export notebook that produced this archive — is at https://github.com/egagli/MODIS_snow_phenology. References Hall, D. K., & Riggs, G. A. (2021). MODIS/Terra Snow Cover 8-Day L3 Global 500m SIN Grid, Version 61 [Data set]. NASA NSIDC DAAC. https://doi.org/10.5067/MODIS/MOD10A2.061 Wrzesien, M. L., Pavelsky, T. M., Durand, M. T., Dozier, J., & Lundquist, J. D. (2019). Characterizing biases in mountain snow accumulation from global data sets. Water Resources Research, 55(11), 9873–9891. https://doi.org/10.1029/2019WR025350 Contact Eric Gagliano, University of Washington — egagli@uw.edu. Please open an issue at https://github.com/egagli/MODIS_snow_phenology/issues for problems with the data.



