Metadata-Version: 2.5
Name: snowpack-elevation-warming-utac
Version: 1.0.0
Summary: The seasonal snow buffer is eroding -- Pepin et al. 2015's elevation-dependent-warming mechanism review, Matiu et al. 2021's European Alps snow depth trends, Notarnicola 2022's global mountain snow cover trends (incl. the Karakoram anomaly), and Mote et al. 2018's western US snowpack decline -- quantifies P103's unquantified 'snow (seasonal)' buffer category, no UTAC/CREP bridge
Project-URL: Homepage, https://github.com/GenesisAeon/snowpack-elevation-warming-utac
Project-URL: Repository, https://github.com/GenesisAeon/snowpack-elevation-warming-utac
Author: Römer, Johann
License: MIT
License-File: LICENSE
Requires-Python: >=3.11
Provides-Extra: dev
Requires-Dist: mypy>=1.10.0; extra == 'dev'
Requires-Dist: pre-commit>=3.7.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.6.0; extra == 'dev'
Description-Content-Type: text/markdown

# snowpack-elevation-warming-utac

GenesisAeon Package 110 — the seasonal snow buffer is eroding.
Quantifies a buffer type that
[distributed-buffer-resilience-utac](https://github.com/GenesisAeon/distributed-buffer-resilience-utac)
(P103) names but leaves unquantified: "snow (seasonal)" as one of
five hydrological buffer types. Also extends
[glacier-buffer-utac](https://github.com/GenesisAeon/glacier-buffer-utac)
(P99)'s "peak water" framing to the faster, annually-recurring
seasonal snowpack. **Deliberately has no UTAC/CREP/AFET bridge** —
see [DISCLAIMER.md](DISCLAIMER.md).

## Deliberately not one-sided

This package includes a real, important **complication** of the
"snow is disappearing everywhere, in every season" narrative, not
just confirmation of it. `is_snow_decline_spatially_universal()`
returns `False` on purpose — northern High Mountain Asia (Karakoram,
Kunlun Shan, Pamir) shows a *positive* snow cover extent trend, and
global spring (MAM) snow cover extent trends positive even as winter
(DJF) declines steeply.

## What's real here

- **Pepin, Bradley, Diaz, Baraer, Caceres, Forsythe et al. (2015,
  *Nature Climate Change*)** — a real synthesis review: warming is
  amplified with elevation in many mountain regions, via up to five
  candidate mechanisms (snow-albedo feedback, water vapor/latent
  heat, radiative flux, surface heat loss, aerosols) that produce
  **contrasting regional patterns**, not one uniform global rate —
  this package deliberately does not attribute a single global
  degrees-per-decade figure to this citation, because the paper
  itself does not report one.
- **Matiu, Crespi, Bertoldi, Carmagnola, Marty, Morin et al. (2021,
  *The Cryosphere*)** — a real, large European Alps station network
  (2,000+ stations, 800+ used for trend assessment, six countries,
  1971–2019): seasonal mean snow depth declined **-8.4%/decade**,
  maximum snow depth and snow cover duration each declined
  **-5.6%/decade**, with southern Alpine regions declining measurably
  faster than northern ones.
- **Notarnicola (2022, *Scientific Reports*)** — the honesty check: a
  real satellite-based global mountain analysis (1982–2020) found
  overall snow cover extent down **-3.6%±2.7%** and duration down
  **-15.1±11.6 days**, but winter (DJF) declined steeply
  (**-11.5%±6.9%**) while spring (MAM) trended **positive**
  (**+10.0%±5.9%**), and northern High Mountain Asia (Karakoram,
  Kunlun Shan, Pamir) shows a positive trend — consistent with the
  independently documented "Karakoram anomaly" in glacier mass
  balance — while southern High Mountain Asia declines.
- **Mote, Li, Lettenmaier, Xiao, Engel (2018, *npj Climate and
  Atmospheric Science*)** — a real, large western US snow-course/
  SNOTEL network (1,766 sites, since 1915): more than 90% of sites
  show a decline, about a third of those declines are individually
  statistically significant, and the average decline is 15–30% since
  the start of record.

## Quickstart

```bash
pip install snowpack-elevation-warming-utac
```

```python
from snowpack_elevation_warming_utac import (
    edw_candidate_mechanisms,
    is_globally_uniform_pattern,
    ALPINE_SNOW_TREND,
    is_decline_spatially_uniform,
    GLOBAL_SNOW_TREND,
    winter_vs_spring_extent_trend_pct,
    is_snow_decline_spatially_universal,
    WEST_US_SNOWPACK_TREND,
    majority_of_sites_declining,
)

print(edw_candidate_mechanisms())
print(is_globally_uniform_pattern())            # False
print(ALPINE_SNOW_TREND.seasonal_mean_depth_pct_per_decade)  # -8.4
print(GLOBAL_SNOW_TREND.extent_pct)              # -3.6
print(winter_vs_spring_extent_trend_pct())       # {"winter_djf": -11.5, "spring_mam": 10.0}
print(is_snow_decline_spatially_universal())     # False
print(WEST_US_SNOWPACK_TREND.pct_sites_declining)  # 90
print(majority_of_sites_declining())             # True
```

## Development

```bash
pip install -e ".[dev]"
pre-commit install
ruff check src tests
mypy src
pytest
```

## Citation

See [CITATION.cff](CITATION.cff) and [.zenodo.json](.zenodo.json).
