Skip to main content

JAX-RRTMGP: JAX-based RRTMGP Radiative Transfer

JAX-RRTMGP is a JAX-based implementation of the RRTMGP (Rapid Radiative Transfer Model for General circulation models - Parallel) radiative transfer scheme. This package provides fast, differentiable radiative transfer calculations for atmospheric modeling applications.

RRTMGP is a correlated k-distribution model for computing optical depths, source functions, and fluxes for longwave and shortwave radiation in planetary atmospheres. This JAX implementation enables automatic differentiation and efficient execution on GPUs and TPUs.

Features

  • JAX-native implementation: Full compatibility with JAX transformations (jit, grad, vmap, pmap)
  • GPU/TPU acceleration: Efficient execution on modern accelerators
  • Automatic differentiation: Enable gradient-based optimization and sensitivity analysis [IN PROGRESS]
  • Longwave and shortwave radiation: Complete radiative transfer calculations
  • Gas and cloud optics: Support for molecular absorption and cloud scattering/absorption
  • RRTMGP data files included: Pre-computed optical property lookup tables
  • Comprehensive testing: Extensive test suite with reference data

Installation

It is recommended to install in a virtual environment.

git clone https://github.com/climate-analytics-lab/jax-rrtmgp.git
python3 -m pip install -e jax-rrtmgp

Basic Usage

import jax
import jax.numpy as jnp
from rrtmgp import rrtmgp

# Set up atmospheric state
temperature = jnp.array([...])  # Temperature profile [K]
pressure = jnp.array([...])     # Pressure profile [Pa] 
vmr_h2o = jnp.array([...])      # Water vapor volume mixing ratio

# Initialize RRTMGP
config = rrtmgp.get_default_config()
rrtmgp_state = rrtmgp.initialize(config, pressure, temperature, vmr_h2o)

# Compute radiative fluxes
fluxes_lw = rrtmgp.compute_longwave_fluxes(rrtmgp_state, ...)
fluxes_sw = rrtmgp.compute_shortwave_fluxes(rrtmgp_state, ...)

Package Structure

  • rrtmgp: Main RRTMGP interface
  • rrtmgp.optics: Gas and cloud optical property calculations
  • rrtmgp.rte: Radiative transfer equation solvers
  • rrtmgp.optics.rrtmgp_data: Pre-computed lookup tables

Dependencies

  • JAX: Automatic differentiation and JIT compilation
  • NumPy: Numerical computing
  • NetCDF4: Reading RRTMGP data files

Testing

Run the test suite with:

pytest rrtmgp/

Or run individual test modules:

python rrtmgp/optics/gas_optics_test.py
python rrtmgp/rte/two_stream_test.py

License

Licensed under the Apache License, Version 2.0. This implementation is based on the JAX port of the original RRTMGP Fortran code by Eli Mlawer and Robert Pincus, originally included in swirl-jatmos.

Citation

If you use this software, please cite:

  1. The original RRTMGP paper: Pincus, R., Mlawer, E. J., and Delamere, J. S.: Balancing accuracy, efficiency, and flexibility in radiation calculations for dynamical models, J. Adv. Model. Earth Syst., 11, 3074-3089, 2019.

  2. This JAX implementation: [Add citation when published]

Release files for jax-rrtmgp 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 jax-rrtmgp 0.4.0
File Size Uploaded
jax_rrtmgp-0.4.0.tar.gz 57.1 MB Details

Built distribution (wheel)

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

Total release size: 114.3 MB

Release files / jax_rrtmgp-0.4.0.tar.gz

Download URL jax_rrtmgp-0.4.0.tar.gz
Size 57.1 MB
Tags Source
SHA-256 checksum
How to use checksums
88529dce232c2eccf34867f5db164668985d33155e9368603ac9726e5e0691e7
BLAKE2b-256 checksum
How to use checksums
6ab8cc14aaf5bfc54437a09fe69b8199adb8248f7b6a9fe2b16606abfff2942b
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 Sep 19, 2026.

Transparency log

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

Download URL jax_rrtmgp-0.4.0-py3-none-any.whl
Size 57.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e59ce66a4f8f83119ffb0e1ba5a1a46bcd53b7b9028187647f04d29a5c85e792
BLAKE2b-256 checksum
How to use checksums
6858dae35e3c91db0a29e34616fb97635919e2f2dc09195e1dd38d9b33a570b2
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 Sep 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.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