Snow Property Inversion from Remote Sensing
SPIReS retrieves snow properties — fractional snow-covered area, grain size, and light-absorbing-particle (dust) concentration — from multispectral satellite imagery by inverting reflectance spectra against Mie-scattering lookup tables.
SPIReS is built as a family of single-purpose packages joined by a shared data
contract (spires-contract),
so each stage can be developed and tested independently:
io + lut + r0 → inversion → postprocess
spires-io, spires-lut, and spires-r0 are three independent inputs to the
inversion (R₀ is built from a stack of spires-io reflectances, not from the
LUT), whose retrieval spires-postprocess then refines.
| Repo | Role |
|---|---|
| spires-io | Load & reproject MODIS / VIIRS granules |
| spires-lut | Create/read/write Mie-scattering reflectance lookup tables |
| spires-r0 | Background (R₀) reflectance production |
| spires-inversion | Core inversion engine (hybrid Python/C++) |
| spires-postprocess | Cloud gap-fill, tree masking / canopy correction |
| spires-contract | Executable xarray boundary validators |
| spires-batch | Scale-out (dask / slurm) over stacks of granules |
| spires | Metapackage (import spires), installer & umbrella docs |
The family's documentation is a unified Read the Docs portal at
spires.readthedocs.io — one site with a
shared search index, where each package is an independently-built subproject
(spires.readthedocs.io/projects/<pkg>/).
The SPIReS algorithm was developed by Bair, Stillinger, & Dozier (and others). This organization hosts a modern Python/C++ reimplementation of the method described in:
Bair, E. H., Stillinger, T., & Dozier, J. (2021). Snow Property Inversion From Remote Sensing (SPIReS): A Generalized Multispectral Unmixing Approach With Examples From MODIS and Landsat 8 OLI. IEEE Transactions on Geoscience and Remote Sensing, 59(9), 7270–7284. https://doi.org/10.1109/TGRS.2020.3040328
The original MATLAB implementation is at
edwardbair/SPIRES. For authorship and
citation of each package, see the CITATION.cff in the individual repositories.
A collaboration of Leidos · UC Santa Barbara · NASA JPL · CU Boulder (INSTAAR).
The original SPIReS development — through December 2025, when the lookup-table, R₀, I/O, and post-processing stages all still lived within the core inversion package — was supported by Contract W913E523C0002, "Climate and natural hazards, snow-covered and mountain environment sensing research," under the Broad Agency Announcement Program of the Cold Regions Research and Engineering Laboratory, monitored by the U.S. Army Engineer Research and Development Center, Hanover, NH 03755.
Approved for public release; distribution is unlimited.