Skip to main content

MAM4-JAX

A JAX port of the MAM4 (Modal Aerosol Module, 4-mode) aerosol-microphysics box model, validated against the E3SM Fortran reference.

The goal is a modern, readable, reproducible implementation of MAM4's microphysical processes — calcsize, water uptake, gas–aerosol exchange, nucleation, coagulation, and rename — written in JAX with float64 precision and verified element-wise against the Fortran reference to a relative error of 1e-6.

Status: scaffolding. The Fortran reference has been imported; the JAX package is not yet started. See CLAUDE.md for working rules and architecture notes that govern the port.

Repository layout

mam4-jax/
├── CLAUDE.md                 # Working rules, architecture, validation workflow
├── README.md                 # (this file)
└── mam4-original-src-code/   # Vendored Fortran reference — read-only

The JAX package, test harness, validation data, and design docs (ARCHITECTURE.md, PROGRESS.md, PLANS.md, KEY_DECISIONS.md, DEFERRED.md, FEATURES.md) will land as the port progresses.

Fortran reference: provenance

The contents of mam4-original-src-code/ are a frozen snapshot vendored into this repository. They are not a submodule and will not auto-update from upstream.

Field Value
Snapshot taken 2025-12-10
Immediate source https://github.com/reflective-org/MAM4_box_model
Commit 4150e2d582a8fa6debca5009d22ec000496bd405
Upstream project https://github.com/kaizhangpnl/MAM_box_model (Kai Zhang et al., PNNL)

If you need to inspect the Fortran reference's history, diff against later upstream versions, or reproduce the snapshot, clone the source above at the pinned commit.

The vendored snapshot is read-only within this repo — do not modify the files under mam4-original-src-code/. To update the snapshot, replace the directory wholesale from a fresh upstream checkout and record the new commit/date in this table within the same PR.

References

  • Liu, X. et al. (2012). Toward a minimal representation of aerosols in climate models: description and evaluation in the Community Atmosphere Model CAM5. Geosci. Model Dev., 5, 709–739. https://doi.org/10.5194/gmd-5-709-2012
  • Liu, X. et al. (2016). Description and evaluation of a new four-mode version of the Modal Aerosol Module (MAM4) within version 5.3 of the Community Atmosphere Model. Geosci. Model Dev., 9, 505–522. https://doi.org/10.5194/gmd-9-505-2016

License

This project is released under the GPL v3 License - see the LICENSE file for details.

Metadata

Release files for mam4-jax 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mam4-jax 0.4.0
File Size Uploaded
mam4_jax-0.4.0.tar.gz 179.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mam4-jax 0.4.0
File Interpreter ABI Platform
mam4_jax-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 312.2 kB

Release files / mam4_jax-0.4.0.tar.gz

Download URL mam4_jax-0.4.0.tar.gz
Size 179.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2bf943cef404e3677a1d9ff453c16d699dc464e8733e897ac7db304318138502
BLAKE2b-256 checksum
How to use checksums
92dfb5a2f2843bdee062766a337cd3a1fa255bf01f89e3671c53b9d3c3fc4328
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release files / mam4_jax-0.4.0-py3-none-any.whl

Download URL mam4_jax-0.4.0-py3-none-any.whl
Size 132.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
934726ee1a107af74a8311ec80fee26de97594af715a290f588dcd48105c48b7
BLAKE2b-256 checksum
How to use checksums
e3a02a06393a7d443bd5037391eebb0ac4ae420fc108a5e7afa2f2a4eb01d3ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.1

2 release files

This release

0.4.0 This release

2 release files

0.3.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page