Skip to content
@SPIReS-Organization

SPIReS-Organization

Snow Property Inversion from Remote Sensing (SPIReS) — retrieving snow-covered area, grain size & dust from multispectral satellite imagery.

SPIReS

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.

The pipeline

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

Documentation

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>/).

Original work

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.

Contributors

A collaboration of Leidos · UC Santa Barbara · NASA JPL · CU Boulder (INSTAAR).

Funding

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.

Popular repositories Loading

  1. spires-inversion spires-inversion Public

    Python

  2. spires-contract spires-contract Public

    Data-interface contracts (xarray schemas + validators) for the SPIReS package family

    Python

  3. spires-io spires-io Public

    SPIReS I/O: MODIS/Sentinel-2/Landsat loaders, reprojection, and coordinate transforms

    Python

  4. spires-lut spires-lut Public

    SPIReS lookup tables: create, read, and write reflectance LUTs

    Python 1

  5. spires-r0 spires-r0 Public

    SPIReS background (R_0) reflectance production

    Python

  6. spires-postprocess spires-postprocess Public

    SPIReS postprocessing: cloud gap-fill and tree masking/inpainting

    Jupyter Notebook

Repositories

Showing 9 of 9 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…