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 are imported lazily, so importing a forward model never pulls in NumPyro. Radiative transfer, the matched filter and the 3D-Var retrieval are in radtrax.
Modules¶
| Tier | Module | Contents |
|---|---|---|
| 0 | Meteorology | MetField, load_wrf, load_era5, LocalFrame, TimeAxis, surface_layer_from_met, to_prescribed_wind |
| 0 | Observations | load_tropomi_l2, load_emit_l2b, load_ghgsat_l2, ColumnObservation |
| 0 | Priors | load_inventory, per_tile_background |
| I | Gaussian plume | steady-state plume + emission-rate inference |
| I | Plume rise | BriggsPlumeRise, briggs_plume_rise, effective_height: Briggs rise of buoyant and momentum sources |
| I | Column observation | ColumnObservation, the column + averaging-kernel observation shared by every tier |
| I | Likelihoods | GaussianNoise, StudentTNoise, HeteroscedasticNoise: the observation noise of the Tier I inference |
| I | Multi-source | MaskedSources, MultiSourcePosterior: masked-K source slots and their posterior (infer_multi_source) |
| I | Gaussian puff | time-resolved puffs, OU turbulence |
| II | Lagrangian | particle dispersion |
| II | Gridded wind | GriddedWind, gridded_wind_from_met, gridded_wind_from_prescribed: the C-grid wind at each particle |
| II | Met ensemble | ensemble_footprints, ensemble_inversion, transport_covariance: footprints per met member and the inversion over them |
| III | Eulerian FV | advection–diffusion on a C-grid |
| IV | Coupled | multi-instrument source inversion |
| V | Population | source populations and forecasting |
| — | Plume vetting | vet_candidate, select_seeds, background_pool, null_masks, null_pvalue on radtrax's absorption-shape test |
| — | Plume operators (geo) | PlumeMask, PlumeFootprint, IMEEstimate, CrossSectionalFlux, ColumnToMass and five more, and PlumeVetting, on GeoTensors, behind [geo] |
| — | Operators · Adapters | pipekit integration |
Package overview¶
plumax — forward models for atmospheric plume dispersion.
Sub-packages¶
coupled: multi-instrument coupled source inversion that composes a transport tier with the observation operator (Tier IV).gauss_plume: steady-state Gaussian plume (JAX + NumPyro).gauss_puff: time-resolved Gaussian puff (JAX + diffrax + NumPyro), with optional Ornstein-Uhlenbeck sub-grid turbulence.geo: plume operators on GeoTensors ported from geotoolz (masks, footprints, IME, cross-sectional flux), behind the[geo]extra; loaded on first use.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.lagrangian: Markov-1 Langevin particle dispersion with forward concentrations, backward footprints and the Gaussian / lognormal source inversions (Tier II).met: gridded meteorology (MetField) on theles_fvmanalysis grid, with awrfoutloader and the adapter that feeds it to the Eulerian solver as wind.obs: satellite L2 methane products (TROPOMI, EMIT, GHGSat) ascoupled.Instruments with observed enhancements.population: source-population products assembled from per-event posteriors: catalogs, point processes, size distributions (Tier V).priors: inventory prior mean on the analysis grid and the per-tile observation background.vetting: plume-candidate vetting on arrays (seeds, background pool, scene null) on radtrax's absorption-shape test.
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.