RRTMGP.jl
RRTMGP.jl is a Julia implementation of the radiative transfer solver RTE (Radiative Transfer for Energetics) and the RRTMGP (RRTM for General circulation model applications—Parallel) correlated-$k$ gas optics (Pincus et al. [1]), based on the reference Fortran implementation rte-rrtmgp. It computes longwave and shortwave fluxes and heating rates for clear, cloudy, and aerosol-laden atmospheres, as well as an analytic gray-radiation mode for idealized studies, on CPUs and GPUs. It is the radiation scheme of the CliMA Earth System Model.
Quick start
Build an idealized atmospheric column, then solve it: gray radiation uses analytic formulas and needs no input data, while the full gas optics loads NCDatasets to download and parse the lookup tables:
using RRTMGP
profile = RRTMGP.standard_atmosphere(Float64; kind = :tropical)
out = RRTMGP.solve(profile; method = RRTMGP.GrayRadiation()) # gray optics
out.heating_rate[1, 1] # heating rate at bottom layer [K/s]2.8935702803079375e-5using NCDatasets # activates the gas optics
out = RRTMGP.solve(profile) # clear-sky correlated-k
out.lw_up[end, 1] # OLR [W/m²]282.7005931707845Code structure
RRTMGP is split into two parts:
- Optics computes optical properties and source functions given atmospheric conditions (pressure, temperature, gas concentrations, clouds, aerosols).
- RTE computes radiative fluxes given optical properties and source functions.
On top of this functional core sits the RRTMGPSolver, which host models drive through the getter contract, and a standalone front door (solve_gray, standard_atmosphere, solve) for single-column work.
How the documentation is organized
- Tutorials (learning-oriented, runnable end to end): A first radiation calculation and Radiative-convective equilibrium (Manabe's classic climate-sensitivity experiment). Start here if you want to learn about radiative transfer and how to run this code.
- How-to guides (task-oriented recipes): driving RRTMGP from a host model, running on GPUs, caching the lookup tables, per-band fluxes, and the validated test problems. Start here if you are wiring RRTMGP into a climate model.
- Explanation (the concepts and the math): the functional core, the RTE solvers, the optics, and the Fortran and paper concordance for readers coming from rte-rrtmgp.
- Reference: the API and the getter contract.
Authors
RRTMGP.jl is being developed by the Climate Modeling Alliance. It is based on RTE+RRTMGP and its reference Fortran implementation, developed by Robert Pincus, Eli Mlawer, and Jennifer Delamere (Pincus et al. [1]).