Product overview¶
Soil moisture observations describe current conditions but do not indicate whether those conditions are typical or extreme. Soil moisture anomaly products provide this context by comparing current observations with long-term climatological records.
Anomalies are computed as the difference between a short-term (rolling window) median and a long-term (climatological) median for the same calendar period.
Anomaly types¶
| Type | API value | Description | Unit |
|---|---|---|---|
| Difference | diff | Absolute difference between the short-term and long-term median | m³/m³ |
| Percentile rank | prank | Percentile rank of the current value within the climatological distribution | percentile (0–100) |
Climatological reference periods¶
| Reference | API value | Description |
|---|---|---|
| 10-year | 10y | Based on the preceding 10 years of data |
| 30-year | 30y | Based on the preceding 30 years of data |
Aggregation windows¶
| Window | API value | Description |
|---|---|---|
| 7-day rolling | r7day | Rolling 7-day median |
| 30-day rolling | r30day | Rolling 30-day median |
Available anomaly products¶
Anomalies are available for all standard, NRT, and forecast products:
d-mssm-anom— Standard D-MSSM anomaliesd-essm-anom— Standard D-ESSM anomaliesd-hssm-anom— Standard D-HSSM anomaliesd-mssm-nrt-anom— NRT D-MSSM anomaliesd-essm-nrt-anom— NRT D-ESSM anomaliesd-hssm-nrt-anom— NRT D-HSSM anomaliesd-mssm-fc-anom— Forecast D-MSSM anomaliesd-essm-fc-anom— Forecast D-ESSM anomaliesd-hssm-fc-anom— Forecast D-HSSM anomalies
When querying anomalies, the parameters anom_type, clim_ref, and clim_window must be provided alongside the product name.
Anomaly netCDF4 structure¶
Anomaly netCDF files contain a single data variable instead of the standard soil moisture variable:
| Variable | Description | Dims | Type | Fill value | Scale factor | Unit |
|---|---|---|---|---|---|---|
diff | Difference between long- and short-term soil moisture medians | (y, x) | int16 | -9999 | 0.005 | m³/m³ |
y | Latitude coordinate | (y) | float64 | NaN | — | degrees_north |
x | Longitude coordinate | (x) | float64 | NaN | — | degrees_east |
spatial_ref | Coordinate reference system | () | int64 | — | — | — |
Additional global attributes¶
| Attribute | Example value |
|---|---|
description | “Soil moisture anomaly difference with respect to 30y climatological reference, aggregated over a ‘r7day’ time window.” |
source | D-MSSM v02.00 |
data_level | L4 |
feed | standard |
Anomaly JSON (point API) response¶
Example (d-mssm-anom, diff, r7day, 30y):
{
"data": [
{
"location": {
"coordinates": {
"lat": 14.0,
"lon": 100.5
}
},
"times": {
"valid_time": "2026-02-10 12:00:00"
},
"values": {
"lat": 14.0,
"lon": 100.5,
"diff": -0.045,
"feed": "standard"
}
}
],
"meta": {
"message": null
}
}Anomaly file naming¶
Anomaly files embed the type, window, and reference period in the product name:
smi.YYYYMMDD.t12z.<resolution>.d-mssm-anom-<anom_type>-<clim_window>-<clim_ref>.<region>.vMAmi.ncWhere:
difforprank— anomaly typer7dayorr30day— aggregation window30yor10y— climatological reference
Example: smi.20260210.t12z.6000m.d-mssm-anom-diff-r7day-30y.global.v0200.nc
Further details: Introducing Spire’s Soil Moisture Insights: Anomalies & Contextual Intelligence