Metadata-Version: 2.5
Name: ocean-acidification-utac
Version: 1.0.0
Summary: Real ocean acidification planetary-boundary science, including the boundary metric's own active scientific revision -- no UTAC/CREP/AFET bridge
Project-URL: Homepage, https://github.com/GenesisAeon/ocean-acidification-utac
Project-URL: Repository, https://github.com/GenesisAeon/ocean-acidification-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

# ocean-acidification-utac

GenesisAeon Package 122 — real ocean acidification planetary-boundary
science, including the boundary metric's own active scientific
revision. **Deliberately has no UTAC/CREP/AFET bridge** — see
[DISCLAIMER.md](DISCLAIMER.md).

For a plain-language explanation of the same topic (German, no jargon,
written for general audiences), see [WHITEPAPER.md](WHITEPAPER.md).

## Where this package came from

Surfaced via a six-document multi-AI gap-analysis of the GenesisAeon
climate/ecology portfolio (`KlimaAktuell/`, 2026-09-01), then
independently deep-dive verified before building — alongside
`tropical-glacier-ecosystem-rle-utac` (P123),
`marine-compound-stressors-utac` (P124), `assisted-gene-flow-utac`
(P125), and `climate-landuse-biodiversity-nexus-utac` (P126).

## What's real here

- **Findlay et al. (2025, *Global Change Biology*)** — the ocean
  acidification planetary boundary has been crossed globally: ~40% of
  surface ocean and ~60% of subsurface ocean (to 200m), crossing
  estimated to have begun around 2020. The boundary's own explicit
  framing: this is **not** a tipping point — no abrupt, self-reinforcing
  regime shift is implied, and reversal via reduced emissions is
  theoretically possible.
- **Findlay & Feely (2026, *National Science Review*)** — the SAME lead
  author revisiting the boundary and finding it doesn't hold up on its
  own terms: the original 80%-of-preindustrial threshold was meant to
  (1) prevent polar undersaturation and (2) protect warm-water coral
  reefs — but Arctic waters are **already** undersaturated today, and
  reefs would actually need an 85%, not 80%, threshold.

## Quickstart

```bash
pip install ocean-acidification-utac
```

```python
from ocean_acidification_utac import (
    surface_ocean_boundary_crossed_pct,
    subsurface_ocean_boundary_crossed_pct,
    is_boundary_crossing_a_tipping_point,
    does_80pct_threshold_meet_original_criteria,
    is_arctic_already_undersaturated_today,
)

print(surface_ocean_boundary_crossed_pct())      # 40.0
print(subsurface_ocean_boundary_crossed_pct())   # 60.0
print(is_boundary_crossing_a_tipping_point())    # False
print(does_80pct_threshold_meet_original_criteria())  # False -- the honesty check
print(is_arctic_already_undersaturated_today())  # 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).
