Methane PoD — thinned marked temporal point processes
Methane PoD¶
A self-contained sub-project on methane retrieval from satellite observations, treated as a thinned marked temporal point process (TMTPP). It packages:
- A library of 13 intensity kernels λ(t) for satellite-visible methane sources (wells, compressors, mines, landfills, wetlands, feedlots, offshore platforms), each as an
equinox.Modulewith a NumPyro prior factory. - A library of 10 probability-of-detection (POD) models P_d(·), spanning logistic → varying-coefficient → spectral-aware → full GLM, each exposing the same
__call__+sample_priorsinterface. - A Monte Carlo proof of the “missing mass paradox”: a PoD-thinned sampler simultaneously overestimates the average emission rate and underestimates the total emitted mass. Pure-NumPy library plus a notebook driver.
- A NumPyro NUTS fitter for a POD-modified power-law model — invert noisy observed-flux histograms for (α, x₀, σ).
Layout¶
projects/methane_pod/
├── pyproject.toml # standalone package "methane_pod"
├── src/methane_pod/
│ ├── intensity.py # λ(t) equinox modules + INTENSITY_REGISTRY
│ ├── pod_functions.py # P_d(·) equinox modules + POD_REGISTRY
│ ├── paradox.py # Monte Carlo simulation (pure NumPy)
│ └── fitting.py # NumPyro NUTS fitter (pure library — no I/O)
├── tests/ # pytest suite, ~80 fast tests + 1 MCMC smoke test
└── notebooks/ # jupytext .py + executed .ipynb + prose .mdRunning¶
The parent research_notebook pixi file defines a methane-pod feature / environment with the right pins (jax <0.9 for numpyro compatibility, equinox, numpyro, corner).
# install + open a shell in the env
pixi install -e methane-pod
pixi shell -e methane-pod
# fast library tests (no MCMC)
pixi run -e methane-pod test-methane-pod
# full suite (includes a ~11s NUTS smoke test)
pixi run -e methane-pod test-methane-pod-all
# re-execute all code notebooks in-place
pixi run -e methane-pod execute-methane-podNotebooks¶
See the notebooks/ directory and the MyST toc entry Methane PoD in the parent myst.yml. Prose-only .md files cover the theory; .ipynb files (with their .py jupytext source alongside) are executed end-to-end with outputs committed.
Reading order¶
- 01_mttpp_theory — point-process foundations
- 02_intensity_zoo — the λ(t) catalog
- 03
_missing _mass _paradox — MC proof - 04
_intensity _gallery — λ(t) code gallery - 05_pod_gallery — P_d(·) code gallery
- 06
_stationary _numpyro _mcmc — NUTS fit 07_pod_fitting_mcmc.ipynb— placeholder; real-data CSV-driven NUTS fit (pending)- 08_persistency — operational predictions