Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

plumax — Roadmap & Architecture

Mathematical models for plume simulation, methane retrieval, source identification, and emission estimation.

This page is the index for the architecture roadmap. The detail for each tier lives in its own file so they can grow independently as design decisions land. The high-level overview (philosophy, tier table, principles) stays here; each tier page expands the math, module layout, validation strategy, and open questions.


The Data-Driven Modeling Cycle

Every tier in plumax follows the same loop:

┌─────────────────────────────────────────────────────────────────┐
│   (1) Simple Model                                              │
│       ↓                                                         │
│   (2) Model-Based Inference                                     │
│       ↓                                                         │
│   (3) Model Emulator          ← skip if model is cheap          │
│       ↓                                                         │
│   (4) Emulator-Based Inference                                  │
│       ↓                                                         │
│   (5) Amortized Inference (Predictor)                           │
│       ↓                                                         │
│   (6) Improve  ───────────────────────────────────────────────┐ │
│       ↑         upgrade model / data / emulator / posterior   │ │
│       └───────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘

Tier overview

plumax tier table — forward models, complexity, and links to detail pages.

TierForward modelComplexityWhen to useDetail
0 (prereq)Met field + AK operatorData interfaceAll tiers depend on itPrerequisites
IGaussian plume / puffAnalyticalFast prototyping, validationTier I — Gaussian family
IILagrangian particle / footprintStochastic ODEWind-realistic transportTier II — Lagrangian
IIIEulerian finite-volume PDEPDEHigh-fidelity spatial fieldsTier III — Eulerian FV
—Radiative transfer (parallel track)Multi-physicsConnects any tier to radiancesRTM stack
IVCoupled transport + RTMEnd-to-endOperational satellite → source posteriorTier IV — Coupled E2E
VPopulation & forecasting (TMTPP)Stochastic point processAggregate per-event posteriors → wait times, totalsTier V — Population (and V.A, V.B, V.C, V.D)

The build order is roughly: Prerequisites → Tier I → RTM stack (parallel) → Tier II → Tier III → Tier IV → Tier V. RTM is independent of transport tier, so it can be developed in parallel by a different person without coordination cost. Tier V depends on at least Tier I being usable end-to-end (per-event posteriors are the input), but does not need Tiers II–IV — it can launch with Tier I posteriors and absorb richer ones later.


Architectural principles


Status snapshot (2026-09-15)

Module-level status is tracked per tier; every scheduled ☐ / 🚧 row on a tier page links to its GitHub issue, grouped under one epic per tier (#69–#75); the unlinked ☐ rows — Step 3 / 5 / 6 items in Tiers III–IV and the RTM stack, plus Tier III diagnostics and multi-species coupling — are later-phase work deliberately not filed yet. Since the previous snapshot (2026-04-29) the July correctness epics (#19 les_fvm BCs / staggering / CFL, #20 plume / puff, #21 gaussx / finitevolx primitives, #22 retrieval robustness, #23 Lagrangian / assimilation) closed and v0.1.1 shipped. The overall picture: Tiers I–III have Steps 1–2 (forward model + model-based inference) at v1; the RTM stack and Tier IV have Step 1 plus a linear Step 2 (matched filter, closed-form column fusion) with the iterated optimal-estimation retrieval and the nonlinear end-to-end inversion still open; Tier V has its v1 core with the importance-corrected likelihood open; no tier has reached Step 3 (emulator) or Step 5 (amortized predictor); of the Tier 0 data layer only the WRF loader exists.

TierLandedEpicNext
0 — PrerequisitesMetField + WRF loader (plumax.met); partial PG stability; radiance observation model#69ERA5 loader #77 on the same MetField; L2 ingest with AKs #80
I — GaussianPlume + puff forward, turbulence, MAP / MCMC for both#70Shared column + AK pipeline #83
II — LagrangianParticles, Hanna + homogeneous turbulence, forward concentration, backward footprint, Gaussian / lognormal inversion#71C-grid wind interpolator #88
III — EulerianFull FV stack, end-to-end 4D-Var with exact AD adjoint, Gauss-Newton Laplace covariance, PG eddy diffusivity#72Spatial per-cell control vector #91
RTMLUTs, Beer–Lambert, SRF / instrument / background, matched filter, gaussx linear solve#73Optimal-estimation retrieval #96
IV — CoupledTier I + AK multi-instrument closed-form fusion with per-instrument bias; nonlinear + linearised radiance operators#74Tier II / III backends #101, then nonlinear inversion #102
V — PopulationCross-tier catalog, hierarchical lognormal size distribution, Gamma-Poisson + log-linear intensity; intensity + POD registries, missing-mass simulator, POD-power-law NUTS fitter#75xtremax.point_processes generative layer #106, payload v2 #107, importance correction #108

See each tier page for the module-level breakdown and the linked issues.