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.mdfor 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)
| File | Size | Uploaded | |
|---|---|---|---|
| mam4_jax-0.4.0.tar.gz | 179.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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