Metadata-Version: 2.4
Name: aerosol-masking-utac
Version: 1.0.0
Summary: Real aerosol-masking / shipping-sulfur unmasking science (IMO 2020) -- deliberately no UTAC/CREP bridge, honest spread of estimates + a relativizing null-result study included
Project-URL: Homepage, https://github.com/GenesisAeon/aerosol-masking-utac
Project-URL: Repository, https://github.com/GenesisAeon/aerosol-masking-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

# aerosol-masking-utac

[![GenesisAeon](https://img.shields.io/badge/GenesisAeon-P88-blue)](https://github.com/GenesisAeon)
[![CI](https://github.com/GenesisAeon/aerosol-masking-utac/actions/workflows/ci.yml/badge.svg)](https://github.com/GenesisAeon/aerosol-masking-utac/actions/workflows/ci.yml)
[![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue)](https://www.python.org)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)

GenesisAeon Package 88 — real aerosol-masking / shipping-sulfur "unmasking"
science (IMO 2020). **Deliberately has no UTAC/CREP/AFET bridge** — see
[DISCLAIMER.md](DISCLAIMER.md).

## What's real here

- Aerosol masking mechanism and the 2020 IMO shipping-fuel sulfur
  regulation (3.5% → 0.5% cap, ~80% SO2 reduction).
- An **honest spread** of independent radiative-forcing estimates (0.06 to
  ~0.2 W/m² across different studies/methods) — not a single cherry-picked
  number.
- Jordan & Henry (2024, *Earth's Future*): up to ~3 years of accelerated
  warming (UKESM1 model).
- **Watson-Parris et al. (2025, *ACP*)**: a real, more recent relativizing
  finding that the global 20-year mean temperature signal is statistically
  consistent with *no* discernible global response — kept front and
  center, not buried.

## Quickstart

```bash
pip install aerosol-masking-utac
```

```python
from aerosol_masking_utac import rf_spread_wm2, watson_parris_2025_summary

low, high = rf_spread_wm2()
print(f"Independent RF estimates span {low}-{high} W/m^2")
print(watson_parris_2025_summary())
```

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