S3 Snow Index for snow applications

When to use

  • Long-term environmental monitoring
  • Cryosphere and water resource tracking
  • Climate-sensitive area assessment
  • Multi-temporal change detection
  • Integration with climate models
  • Snow

Limitations

  • Spatial resolution may be insufficient for small features
  • Mixed pixels at boundaries require sub-pixel methods
  • Atmospheric and bidirectional effects need correction
  • Validation data may be sparse for remote regions
  • Phenological timing affects detection accuracy

General Formula

N 770-900 nm
R 630-690 nm
S1 1550-1750 nm

Sensor-Specific Formulas

Most-used sensors — click to show code below

SensorProviderFormulaBand Mapping
USGS/NASA(B5 * (B4 - B6)) / ((B5 + B4) * (B5 + B6))N→B5, R→B4, S1→B6
ESA(B8 * (B4 - B11)) / ((B8 + B4) * (B8 + B11))N→B8, R→B4, S1→B11
MAXAR(NIR1 * (Red - SWIR3)) / ((NIR1 + Red) * (NIR1 + SWIR3))N→NIR1, R→Red, S1→SWIR3

Spectral Band Visualization — Landsat 8/9

Code Examples

Adapted for Landsat 8/9 bands —

s3_landsat-8-9.py

Frequently Asked Questions

What is the S3 (S3 Snow Index) and when should I use it?

S3 Snow Index for snow applications This index belongs to a specialized category of spectral analysis. S3 is particularly suited for snow. The general formula is (N * (R - S1)) / ((N + R) * (N + S1)), which requires N and R and S1 spectral bands.

Which satellite sensors can I use to calculate S3?

S3 is supported by 4 satellite sensors in our database, including Landsat 8/9, Sentinel-2, SuperView-2, WorldView 3. Each sensor uses different band designations — for example, Landsat 8/9 uses the formula (B5 * (B4 - B6)) / ((B5 + B4) * (B5 + B6)), while Sentinel-2 uses (B8 * (B4 - B11)) / ((B8 + B4) * (B8 + B11)). Select a sensor above to see its specific band mapping.

What spectral bands does S3 require and why?

S3 requires N (770-900 nm), R (630-690 nm), S1 (1550-1750 nm). These wavelength regions target the specific spectral features that this index is designed to measure.

How do I calculate S3 in Python or R?

Both Python and R code samples are provided above. In Python, use rasterio to load individual band GeoTIFF files and numpy for the arithmetic. In R, the terra package handles raster operations efficiently. The key is to load bands as floating-point arrays to avoid integer division, and to handle division-by-zero cases where the denominator equals zero. For production use, consider applying a valid data mask to exclude no-data pixels before calculation.

S3 vs other environmental indices

IndexNameHow it differs
SWISnow Water IndexAlternative environmental index — different band combination

Related Environmental Indices

References

https://doi.org/10.3178/jjshwr.12.28

Need help choosing?

Ask our AI assistant for sensor recommendations, code examples, or how S3 compares to other indices for your specific use case.

Ask AI →