Skip to content

API Reference

Each forward model is its own sub-package, importable directly:

from plumax.gauss_plume import simulate_plume
from plumax.les_fvm import simulate_eulerian_dispersion

The pages follow the modelling tiers of the roadmap. NumPyro inference submodules, and the assimilation, matched_filter and radtran packages, are imported lazily, so importing a forward model never pulls in their dependencies.

Modules

Tier Module Contents
0 Meteorology MetField, load_wrf, to_prescribed_wind
I Gaussian plume steady-state plume + emission-rate inference
I Gaussian puff time-resolved puffs, OU turbulence
II Lagrangian particle dispersion
III Eulerian FV advection–diffusion on a C-grid
IV Coupled multi-instrument source inversion
V Population source populations and forecasting
RTM HITRAN LUTs cross-section LUTs, Beer–Lambert
RTM Radiative transfer band-integrated RT, retrieval
RTM Matched filter hyperspectral detection
— Assimilation 3D/4D-Var scaffolding
— Operators · Adapters pipekit integration

Package overview

plumax — forward models for atmospheric plume dispersion.

Sub-packages

  • gauss_plume : steady-state Gaussian plume (JAX + NumPyro).
  • gauss_puff : time-resolved Gaussian puff (JAX + diffrax + NumPyro), with optional Ornstein-Uhlenbeck sub-grid turbulence.
  • les_fvm : Eulerian 3-D advection-diffusion on an Arakawa C-grid (JAX + diffrax + finitevolX) for spatially-varying wind fields and K-theory eddy diffusivity.
  • hapi_lut : HITRAN line-by-line absorption cross-section LUTs (HAPI + xarray) plus a Beer-Lambert forward model and the differential-ratio form for plume-enhancement retrievals. hitran-api is imported lazily.
  • radtran : Band-integrated Beer-Lambert forward model, normalised -brightness LUT, and matched-filter retrieval (multispectral / hyperspectral).
  • matched_filter: hyperspectral matched-filter detection pipeline.
  • assimilation : 3D/4D-Var cost / control / solve scaffolding (optimistix); imported on demand.
  • met : gridded meteorology (MetField) on the les_fvm analysis grid, with a wrfout loader and the adapter that feeds it to the Eulerian solver as wind.

The operators and adapters modules expose the forward models as pipekit operators and pipekit_cycle protocol adapters respectively.

Additional dispersion models (resolved-flow LES, etc.) may be added as sibling sub-packages in future ports.