Skip to main content

am-python

CI status Documentation PyPI version License

Python bindings for Scott Paine's am atmospheric model, via Rust (PyO3).

Install

Pre-built wheels are available on PyPI for Linux:

uv pip install am-python

From source

Requires the am source code (tested on v14.0), a C compiler, and a Rust toolchain.

curl -fsSL "https://zenodo.org/records/13748403/files/am-14.0.tgz?download=1" | tar -xz
export AM_SRC_DIR=$PWD/am-14.0/src
uv pip install .

Usage

Single model

import am

m = am.Model("SPole_JJA_75.amc", [0, "GHz", 350, "GHz", 0.01, "GHz", 35, "deg", 1.0])
m.compute()

# numpy array, GHz
m.frequency
 # dict of computed outputs
m.outputs
# Rayleigh-Jeans brightness temperature, K
m.outputs["tb_rj"]

Parameter sweep

import xarray as xr
import am

params = xr.Dataset(coords={
    "elevation": [30, 45, 60, 75],   # deg
    "pwv":       [0.5, 1.0, 2.0],    # mm
})

ds = am.ModelGrid(
    "SPole_JJA_75.amc",
    params,
    args_fn=lambda elevation, pwv: [
        0, "GHz", 350, "GHz", 0.5, "GHz", elevation, "deg", pwv
    ],
).compute()

# xr.Dataset with dims (elevation, pwv, frequency)
ds["tb_rj"].sel(elevation=45, pwv=1.0)

For irregular grids (e.g. a set of specific elevation/PWV pairs), use variables on a shared dimension instead:

import numpy as np

params = xr.Dataset({
    "elevation": ("obs", elev_array),
    "pwv":       ("obs", pwv_array),
})

Development

This project uses just to orchestrate common tasks and pre-commit for local checks.

# install deps
just sync

# run tests
just test
just test py
just test rs

# run formatting/lint checks
just fmt
just fmt-check
just lint
just typecheck

# build docs
just docs
just docs py
just docs rs

# run pre-commit hooks on all files
just precommit
just prepush

Metadata

Release files for am-python 0.8.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 am-python 0.8.0
File Size Uploaded
am_python-0.8.0.tar.gz 23.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for am-python 0.8.0
File Interpreter ABI Platform
am_python-0.8.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details

Total release size: 45.5 MB

Release files / am_python-0.8.0.tar.gz

Download URL am_python-0.8.0.tar.gz
Size 23.2 MB
Tags Source
SHA-256 checksum
How to use checksums
987b9b1d73aaf3b5bded62d0605a1f7e89db52165c38898d7af7c6563f3876cc
BLAKE2b-256 checksum
How to use checksums
b7a91afb6d4094e80994233b5325ec45661d6c5939a8f2036766b2fe40e84128
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 20, 2026.

Transparency log

Release files / am_python-0.8.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL am_python-0.8.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 22.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
c3f835c7d010cd98a4a5e151b8a5a5a3f25b0f9f48a0afd4c1f9035aa325bc5c
BLAKE2b-256 checksum
How to use checksums
2df6ac5f9795c14c3e3c97787f1cd1ea478058d278891db859f25a5e8f43c202
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.5.0

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