Catalog PyPI
Back to packageRELEASE DETAILS

1.0.1

PyPI

aerosol-masking-utac

Real aerosol-masking / shipping-sulfur unmasking science (IMO 2020) -- deliberately no UTAC/CREP bridge, honest spread of estimates + a relativizing null-result study included

Published31 Aug 2026
Direct dependencies5
Transitive dependenciesNot calculated

README

Version 1.0.1 documentation

aerosol-masking-utac

GenesisAeon CI Python 3.11+ License: MIT DOI

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

For a plain-language explanation of the same topic (German, no jargon, written for general audiences), see WHITEPAPER.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

pip install aerosol-masking-utac
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

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

Citation

See CITATION.cff and .zenodo.json.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 5

Native requirements
5 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
mypy
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
mypy>=1.10.0; extra == "dev"runtime
pre-commit
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
pre-commit>=3.7.0; extra == "dev"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov>=5.0.0; extra == "dev"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
pytest>=8.0.0; extra == "dev"runtime
ruff
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
ruff>=0.6.0; extra == "dev"runtime

Distribution files

2 collected
aerosol_masking_utac-1.0.1-py3-none-any.whl

bdist_wheel · 7.01 KB · Python py3

Source file
aerosol_masking_utac-1.0.1.tar.gz

sdist · 11.79 KB · Python source

Source file

Repository

PENDING
genesisaeon/aerosol-masking-utac

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 20:48 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:a46e829a99396e04404d2e08078a16cb939ea095718e2eac6d07667bb8fe4c4f

Other collected versions

View all collected versions →