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.

Tier V.B — Point process model (TMTPP)

UNEP
IMEO
MARS

Generative model: events arrive in time according to an intensity λ(t)\lambda(t), each carries a mark Qf(Q)Q \sim f(Q), and each is observed with probability Pd(Q;satellite)P_d(Q; \text{satellite}). The “thinned marked temporal point process” (TMTPP) is the mathematical object on which everything else at Tier V is built — see Daley & Vere-Jones, 2003Daley & Vere-Jones, 2008 for foundations.

The full mathematical derivation lives in methane_pod/notebooks/01_mttpp_theory. This page gives the architectural view: the components, their interfaces, and where they plug into the rest of plumax.


The three components

Temporal — λ(t)\lambda(t) (events / second)

The intensity function tells you how rapidly events arrive at time tt. Examples from the catalogue in 02_intensity_zoo.md:

λ(t)  =  λ0(homogeneous Poisson; baseline)\lambda(t) \;=\; \lambda_0 \qquad \text{(homogeneous Poisson; baseline)}
λ(t)  =  λ0+Asin ⁣(2πtTday+φ)(solar-heated tank cycles)\lambda(t) \;=\; \lambda_0 + A \sin\!\left(\frac{2\pi t}{T_\text{day}} + \varphi\right) \qquad \text{(solar-heated tank cycles)}
λ(t)  =  λ01[t>topen](valve fails open at known time)\lambda(t) \;=\; \lambda_0 \cdot \mathbb{1}[t > t_\text{open}] \qquad \text{(valve fails open at known time)}
λ(t)  =  λ0exp(t/τ)(pressure-relief blowdown)\lambda(t) \;=\; \lambda_0\, \exp(-t/\tau) \qquad \text{(pressure-relief blowdown)}
λ(t)  =  μ+ti<tαexp ⁣(β(tti))(Hawkes; self-exciting, event-driven clustering)\lambda(t) \;=\; \mu + \sum_{t_i < t} \alpha\, \exp\!\bigl(-\beta(t - t_i)\bigr) \qquad \text{(Hawkes; self-exciting, event-driven clustering)}
logλ(t)    GP(μ,K)(log-Gaussian Cox process; environmentally-driven clustering)\log \lambda(t) \;\sim\; \mathcal{GP}(\mu, K) \qquad \text{(log-Gaussian Cox process; environmentally-driven clustering)}

13 deterministic / Hawkes kernels currently implemented in methane_pod.intensity; LGCP is the v1.5 next kernel — it’s the natural model when clustering is environmental rather than self-exciting.

Each kernel is an equinox.Module exposing the same __call__(t) → λ and sample_priors() interface. Adding a new kernel is a one-file PR.

Marks — f(Q)f(Q) (probability density on kg/s)

The mark distribution gives the size of an event conditional on it happening.

Table (1):Mark families — form and operational fit.

FamilyFormWhen to use
LognormalQLN(μ,σ2)Q \sim \operatorname{LN}(\mu, \sigma^{2})single-class facility populations
Pure power-lawf(Q)Qαf(Q) \propto Q^{-\alpha} for Q>QminQ > Q_\text{min}baseline only; over-emphasises the tail
Lognormal-ParetoLN(μ,σ2)\operatorname{LN}(\mu, \sigma^{2}) body, Pareto(α,Qbreak)\operatorname{Pareto}(\alpha, Q_\text{break}) tailv1 default — Cusworth 2021 / Sherwin 2024 operational standard
Mixture-of-lognormalskπkLN(μk,σk2)\sum_k \pi_k \cdot \operatorname{LN}(\mu_k, \sigma_k^{2})multi-class facility populations (wells + tanks + pipelines)

QminQ_\text{min} (power-law) and QbreakQ_\text{break} (lognormal-Pareto) are themselves parameters.

The mark distribution is what Tier V actually wants to recover — it’s the population-scale answer to “how big are the leaks at this kind of facility?”

Detection thinning — Pd(Q;satellite)P_d(Q; \text{satellite}) (probability)

Not every event is observed. Each satellite has a probability of detection that depends on the leak size, viewing geometry, surface, and atmospheric state.

The operational form in the methane literature is the Hill function (Cusworth 2021, Sherwin 2024):

Pd(Q)  =  11+(Q50/Q)kP_d(Q) \;=\; \frac{1}{1 + (Q_{50}/Q)^{k}}

where Q50Q_{50} is the leak size at which detection probability is 0.5 and kk controls the steepness.

POD calibration uncertainty — hierarchical prior

Per-instrument controlled-release campaigns (Sherwin et al. 2024) deliver a posterior on (Q50,k)(Q_{50}, k), not a point. v1 default: hierarchical prior carrying calibration-campaign uncertainty:

Q50,instLogNormal(logQ50,pub,σQ50,pub2),kinstLogNormal(logkpub,σk,pub2)Q_{50,\text{inst}} \sim \operatorname{LogNormal}(\log Q_{50,\text{pub}}, \sigma^{2}_{Q_{50},\text{pub}}), \qquad k_\text{inst} \sim \operatorname{LogNormal}(\log k_\text{pub}, \sigma^{2}_{k,\text{pub}})

This is the middle ground between (a) hard-coding published values (biased when those are uncertain) and (b) full joint inference (cleanest but identifiability concern with λ). v2 promotes to joint inference when basin data warrants.

10 POD models currently in methane_pod.pod_functions, described visually in 05_pod_gallery. Variants:


TMTPP likelihood — canonical form

For a set of detected events with per-event posteriors {p(Qobservationi)}i=1n\{p(Q \mid \text{observation}_i)\}_{i=1}^{n} and detection times {ti}\{t_i\} over a window [0,T][0, T]:

logL(λ,f,Pddata)  =  i ⁣[logλ(ti)  +  log ⁣ ⁣Pd(Q)Li(Q)f(Q)dQ]    0Tλ(t) ⁣ ⁣Pd(Q)f(Q)dQdt\log L(\lambda, f, P_d \mid \text{data}) \;=\; \sum_{i} \!\Bigl[ \log \lambda(t_i) \;+\; \log\!\!\int P_d(Q)\, L_i(Q)\, f(Q)\, \mathrm{d}Q \Bigr] \;-\; \int_{0}^{T} \lambda(t) \!\!\int P_d(Q)\, f(Q)\, \mathrm{d}Q\, \mathrm{d}t

The first sum scores each detected event under: (a) the temporal intensity at the detection time, and (b) the integrated mark contribution that combines the per-event likelihood with the population mark distribution and the satellite POD. The second integral is the expected number of events that would have been detected under the model — subtracts the right amount so the posterior is consistent.

Practical evaluation

The mark integral Pd(Q)Li(Q)f(Q)dQ\int P_d(Q)\, L_i(Q)\, f(Q)\, \mathrm{d}Q is computed via the importance-weighted Monte Carlo estimator from 06a § Mark likelihood:

Pd(Q)Li(Q)f(Q)dQ    1SsPd(Qi(s))f(Qi(s))πper-event(Qi(s))\int P_d(Q)\, L_i(Q)\, f(Q)\, \mathrm{d}Q \;\approx\; \frac{1}{S}\, \sum_{s} P_d(Q_i^{(s)}) \cdot \frac{f(Q_i^{(s)})}{\pi_\text{per-event}(Q_i^{(s)})}

with samples Qi(s)p(Qobservationi)Q_i^{(s)} \sim p(Q \mid \text{observation}_i) and πper-event(Q)\pi_\text{per-event}(Q) the per-event prior used at Tier I–IV. The 1/πper-event1 / \pi_\text{per-event} factor is the importance weight; without it the population fit double-counts the per-event prior.

Point-regime simplification

When per-event posteriors are tightly concentrated (CV<20%\operatorname{CV} < 20\%) and ff is smooth on that scale, the importance-weighted MC reduces to the Point regime of 06a:

logLpoint  =  i ⁣[logλ(ti)+logf(Qi)+logPd(Qi)]    0Tλ(t) ⁣ ⁣Pd(Q)f(Q)dQdt\log L_\text{point} \;=\; \sum_{i} \!\Bigl[ \log \lambda(t_i) + \log f(Q_i) + \log P_d(Q_i) \Bigr] \;-\; \int_{0}^{T} \lambda(t) \!\!\int P_d(Q)\, f(Q)\, \mathrm{d}Q\, \mathrm{d}t

This is the form currently implemented in methane_pod.fitting.pod_powerlaw_model. It’s the simplification, not the canonical form — explicit regime selection per 06a § Regime selection rule decides when it’s safe to use.

Numerical stability of the integrated thinned-rate term

The integral Pd(Q)f(Q)dQ\int P_d(Q)\, f(Q)\, \mathrm{d}Q over heavy-tailed ff (power-law tail, Pareto) and saturating PdP_d (Hill) must not be evaluated by naive quadrature in linear QQ — the heavy tail underflows.


Where it plugs into plumax

Table (2):TMTPP inputs.

InputSource
(ti,instrument_idi,per-event payload)(t_i, \text{instrument\_id}_i, \text{per-event payload}) per detection06a_instantaneous.md — Tier V.A adapter
Per-event Li(Q)L_i(Q) (samples + πper-event,logpdf\pi_\text{per-event,logpdf})Tiers I–IV inversion + posterior export
Per-instrument POD calibration (Q50,pub,σQ50,pub,kpub,σk,pub)(Q_{50,\text{pub}}, \sigma_{Q_{50},\text{pub}}, k_\text{pub}, \sigma_{k,\text{pub}})Sherwin 2024 / Cusworth 2021 / Kamdar IMEO controlled-release campaigns; alternatively joint inference with the population
Per-instrument overpass coverage (for the integrated rate)06a § Non-detection events — catalog ingest

Table (3):TMTPP outputs.

OutputConsumer
Posterior λ(t)\lambda(t)06c_persistency.md — wait times, dispatch windows
Posterior f(Q)f(Q)06d_total_emission.md — total mass under POD-thinning correction
Per-instrument POD posterior (Q50,k)inst(Q_{50}, k)_\text{inst}instrument-design and cross-mission calibration questions; multi-satellite fusion (06d)
Joint (λ,f,Pd)(\lambda, f, P_d) posteriorsensitivity studies, satellite-tasking optimisation

Population vs. per-source — the v1 commitment

The TMTPP fits aggregate the population. Two distinct framings:

Both have library support; the choice is driven by the scientific question, not by the methodology. Inventory totals (06d) use across-population; dispatch decisions for a known leak history (06c) use per-source.


Module layout

Table (4):Tier V.B module layout — concern, target module, status.

ConcernModuleStatus
Intensity registry — deterministic + Hawkesmethane_pod.intensity✓ (13 kernels)
Intensity registry — log-Gaussian Cox processmethane_pod.intensity.lgcp☐ — v1.5
Mark registrymethane_pod.marks (currently inline in fitting)🚧 — power-law only; lognormal, lognormal-Pareto, mixture-of-lognormals pending
POD models Pd()P_d(\cdot) (Hill + variants)methane_pod.pod_functions✓ (10 models)
POD time-of-day binning (v1 time-varying POD)methane_pod.pod_functions.tod_binned
POD continuous Pd(Q,t)P_d(Q, t) (v2)methane_pod.pod_functions.continuous_t
Hierarchical POD calibration priormethane_pod.pod_functions.calibration_prior
TMTPP likelihood — point regimemethane_pod.fitting.pod_powerlaw_model
TMTPP likelihood — full importance-corrected regimemethane_pod.fitting.tmtpp_iw☐ — consumes population.adapter.importance
Numerical integration helpers (log-space Gauss-Hermite, Pareto IS)methane_pod.fitting.integrate
Hawkes / self-exciting kernelmethane_pod.intensity.hawkes☐ — beyond the existing kernels
Spatial extension (Cox process)methane_pod.spatial☐ — v2; ties to Tier III’s S(x,t)S(\mathbf{x},t)

Validation strategy


Open questions

References
  1. Daley, D. J., & Vere-Jones, D. (2003). An Introduction to the Theory of Point Processes, Volume I: Elementary Theory and Methods (2nd ed.). Springer. 10.1007/b97277
  2. Daley, D. J., & Vere-Jones, D. (2008). An Introduction to the Theory of Point Processes, Volume II: General Theory and Structure (2nd ed.). Springer. 10.1007/978-0-387-49835-5