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.

POD gallery — plotting P_d(·) for every detection model

Ten GLM-style probability-of-detection curves, all living in plumax.population.pod. Every module follows the same interface: an equinox.Module with a __call__(Q, …) method and a sample_priors() factory. The progression goes from the simplest logistic (Q-only sigmoid) through multi-covariate additive GLMs (wind, pixel size, albedo, zenith) to varying-coefficient models (environment modulates the sigmoid slope) and alternative links (probit, cloglog).

This notebook ignores the prior-sampling side and focuses on the shapes of the deterministic curves.

1. Logistic on raw Q

The textbook single-covariate detection curve: Pd(Q)=σ(k(Q−Q50))P_d(Q) = \sigma(k(Q - Q_{50})). The two parameters are the flux at 50 % detection and the sigmoid steepness. Different satellites sit at wildly different Q50Q_{50} — GHGSat ≈ 100, MethaneSAT ≈ 200, TROPOMI ≈ 3000 kg/hr.

<Figure size 800x400 with 1 Axes>

2. Log-logistic and concentration-proxy GLMs

The log-logistic form logit(Pd)=β0+β1ln⁡Q\text{logit}(P_d) = \beta_0 + \beta_1 \ln Q is what you get when you fit the POD to heavily-skewed data — it’s equivalent to a lognormal CDF shape. The concentration-proxy GLM replaces ln⁡Q\ln Q with ln⁡Q/(U⋅p)\ln Q/(U \cdot p), which is the physical column enhancement a satellite actually sees.

<Figure size 800x400 with 1 Axes>

3. The effect of environmental covariates

For the AdditiveMultiCovariatePOD, each covariate has its own sensitivity. Holding Q fixed and sweeping one covariate at a time shows the direction and magnitude of each effect. Physical expectations: β_U < 0 (wind dilutes), β_p < 0 (pixel size dilutes), β_A > 0 (brighter surface), β_θ > 0 (higher sun).

<Figure size 1600x350 with 4 Axes>

4. Varying-coefficient POD: environment modulates the slope

The additive model shifts the sigmoid horizontally. The varying-coefficient model makes the sigmoid steeper under favourable conditions (high albedo, overhead sun). This is the physically correct picture for a matched-filter retrieval: better radiometric conditions don’t change the threshold much, but they do sharpen the discrimination.

<Figure size 900x450 with 1 Axes>

5. Radiometric (SNR) and spectral-aware GLMs

Two models parameterised in terms of first-principles instrument physics. SNRBasedPOD takes signal-to-noise directly as its predictor. SpectralAwarePOD adds the number of spectral channels in the CH₄ absorption window and the spectral resolution Δλ — hyperspectral instruments with more bands dominate multispectral ones at low Q.

<Figure size 900x450 with 1 Axes>

6. The “kitchen sink” full varying-coefficient model

Both the intercept AND the slope depend on the environment — the most expressive model in the family. Intercept responds to instrument noise (more noise → baseline goes down); slope responds to albedo, cos(zenith), and number of bands (better conditions → steeper curve).

<Figure size 900x450 with 1 Axes>

Logistic is the default but not the only choice. Probit arises when the latent detection signal is Gaussian; the curve is nearly identical to logistic but with slightly thinner tails. Cloglog is asymmetric — it approaches 1 much faster than it departs 0 — and is the natural link when detection is a “first-exceedance” event.

<Figure size 900x450 with 1 Axes>

Registry roll-call

Registered POD modules: 10
  logistic               -> LogisticPOD
  log_logistic           -> LogLogisticPOD
  concentration_proxy    -> ConcentrationProxyPOD
  additive_multi         -> AdditiveMultiCovariatePOD
  varying_coefficient    -> VaryingCoefficientPOD
  snr_based              -> SNRBasedPOD
  spectral_aware         -> SpectralAwarePOD
  full_varying           -> FullVaryingCoefficientPOD
  probit                 -> ProbitPOD
  cloglog                -> CloglogPOD