Meteorology-driven Causal Nowcasting of Fugitive Landfill Emissions from Measured Coupling Timescales
Organizations: Biomedical Engineering Research Group, School of Engineering, University of Leicester, Leicester, United Kingdom. · Environmental Hazards and Emergency Department, UKHSA, Nottingham, United Kingdom.
Abstract
Which meteorological processes control exposure to fugitive gases downwind of a source, and on what timescales, have largely been inferred from dispersion theory and partial field evidence. Here we show that the meteorological drivers of elevated hydrogen sulphide (HS) exposure at a long-monitored European landfill, and the timescales over which each acts, can be identified directly from monitoring data. Wind direction, wind speed and atmospheric pressure form the causal core, with the share of directed information carried by pressure increasing with aggregation scale. The recovered timescales are consistent with those expected from the underlying atmospheric processes. We use these driver timescales to initialise CAIRN (Causal-Anchored Inference for Receptor Nowcasting), a machine-learning nowcaster with fast and slow memory components. Trained on past exceedances of WHO guideline levels, CAIRN nowcasts them from surface weather measurements and the calendar alone, without hand-engineered features. Combining four such nowcasters produces a site-level, tiered alert that agrees substantially with that generated by a direct sensor network and tracks an independent record of community odour reports. Meteorological variables can therefore serve as an inference-time proxy for exposure relative to WHO guideline levels, and they link atmospheric dynamics to community impact as an episode unfolds.
Figures & tables
| Metric | XGBoost | CAIRN | |
| High-class detection metrics (argmax of the three-class posterior) | |||
| F 1 -High | 0.501 | 0.533 | ( ) |
| Recall-High | 0.575 | 0.618 | ( ) |
| Precision-High | 0.445 | 0.468 | ( ) |
| False-alarm rate | 0.087 | 0.085 | |
| Discrimination | |||
| Symbol | Value | Interpretation |
|---|---|---|
| WHO 30-min odour-annoyance guideline value (Note 1); ground-truth activation threshold for each H 2 S channel and the training boundary that defined the High class for the H 2 S CAIRN nowcasters | ||
| Linear High-class boundary from (Supplementary Table S14 ); ground-truth activation threshold for each CH 4 channel and the training boundary that defined the High class for the CH 4 CAIRN nowcasters | ||
| Grid-search parameter (range – ); binarises model probability before the hysteresis latch | ||
| ticks (45 min) | Minimum sustained-event window: one full 30-min WHO averaging interval plus a 15-min safety margin against single-tick voltage transients | |
| ticks (30 min) | Matches the WHO 30-min averaging window so the latch will not declare an episode resolved within a single regulatory averaging interval | |
| Grid-search parameter (range – ); at the selected value the classifier reverts to the observed network-wide High-class rate when all channels are missing, i.e. is neutrally calibrated at zero information |
| Configuration | Odour-report | Isolates | |
|---|---|---|---|
| Selected parameters, whole window | 0.669 | In-sample reference; mixed, nine weeks in sample and four held out | |
| Stratified held-out weeks | 0.473 | — | Fixed-configuration generalisation to a four-week subset |
| Leave-one-week-out refit | 0.661 | Fusion-parameter tuning optimism | |
| Constrained-ordering leave-one-week-out | 0.638 | — | Sensitivity to the likelihood-ratio ordering |
| Channel | Native precision | |||
|---|---|---|---|---|
| H 2 S @ MMF9 (broad-coverage) | 0.526 | 2.00 | 0.50 | 1.00 |
| H 2 S @ MMF2 (tight-coverage confirmer) | 0.636 | 3.00 | 0.50 | 1.00 |
| CH 4 @ MMF9 (chemical corroboration) | 0.632 | 7.00 | 1.00 | 1.00 |
| CH 4 @ MMF2 (chemical corroboration) | 0.673 | 4.00 | 1.00 | 1.00 |
| Perturbed parameter | Factor | ||
|---|---|---|---|
| H 2 S MMF9 | 0.669 | 0.000 | |
| H 2 S MMF9 | 0.669 | 0.000 | |
| H 2 S MMF2 | 0.669 | 0.000 | |
| H 2 S MMF2 | 0.666 | ||
| CH 4 MMF9 | 0.668 | 0.000 | |
| CH 4 MMF9 | 0.669 | 0.000 |
| Predicted | |||||
|---|---|---|---|---|---|
| Ground truth | Tier 0 | Tier 1 | Tier 2 | Tier 3 | Support |
| Tier 0 | 5,762 (84%) | 791 (12%) | 230 (3%) | 43 (1%) | 6,826 |
| Tier 1 | 261 (37%) | 274 (38%) | 168 (24%) | 10 (1%) | 713 |
| Tier 2 | 113 (19%) | 197 (33%) | 213 (36%) | 70 (12%) | 593 |
| Tier 3 | 17 (4%) | 39 (10%) | 134 (33%) | 214 (53%) | 404 |
| Tier | Precision | Recall | F 1 | Support | Population share |
| Tier 0 | 0.936 [0.916, 0.958] | 0.844 [0.793, 0.888] | 0.888 [0.855, 0.916] | 6,826 | 79.9% |
| Tier 1 | 0.211 [0.136, 0.288] | 0.384 [0.297, 0.459] | 0.272 [0.191, 0.346] | 713 | 8.4% |
| Tier 2 | 0.286 [0.189, 0.387] | 0.359 [0.229, 0.511] | 0.318 [0.219, 0.411] | 593 | 6.9% |
| Tier 3 | 0.635 [0.363, 0.801] | 0.530 [0.275, 0.751] | 0.578 [0.320, 0.722] | 404 | 4.7% |
| Macro avg | 0.517 | 0.529 | 0.514 | 8,536 | — |
| Accuracy | 0.757 | — | 8,536 | — | |
| Ground-truth tier support | ||||||||
|---|---|---|---|---|---|---|---|---|
| Wk | 95% CI | Acc. | Tier 0 | Tier 1 | Tier 2 | Tier 3 | ||
| 1 | 0.461 | [0.376, 0.530] | 0.509 | 423 | 82 | 132 | 27 | 664 |
| 2 | 0.613 | [0.565, 0.662] | 0.423 | 314 | 19 | 120 | 219 | 672 |
| 3 | 0.370 | [0.310, 0.432] | 0.448 | 538 | 33 | 26 | 75 | 672 |
| 4 | 0.353 | [0.255, 0.444] | 0.771 | 609 | 21 | 42 | 0 | 672 |
| 5 | 0.359 | [0.260, 0.441] | 0.720 | 604 | 50 | 18 | 0 | 672 |
| Lag (days) | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pearson | 0.34 | 0.24 | 0.21 | 0.15 | 0.18 | 0.39 | 0.54 | 0.71 | 0.59 | 0.34 | 0.24 | 0.22 | 0.31 | 0.34 | 0.42 |
| Panel | Statistic | Value |
| Source attribution (Fig. 1a) | ||
| Peak CPF bearing | ||
| Peak CPF value | ||
| Peak/opposing-sector ratio | ||
| Sector-mean (W, NW, E) | , , | |
| Spike threshold (P95) | ||
| Parameter | Winter | Spring | Summer | Autumn |
|---|---|---|---|---|
| max_depth | 3 | 7 | 7 | 5 |
| (learning rate) | 0.092 | 0.118 | 0.132 | 0.040 |
| n_estimators | 150 | 100 | 150 | 300 |
| subsample | 0.883 | 0.978 | 0.832 | 0.981 |
| colsample_bytree | 0.798 | 0.790 | 0.789 | 0.740 |
| (L 1 ) | 0.078 | 1.131 | 0.326 | 0.930 |
| Low | Medium | High | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Season | Acc. | P | R | F 1 | P | R | F 1 | P | R | F 1 |
| Winter | 0.764 | 0.887 | 0.851 | 0.869 | 0.536 | 0.573 | 0.554 | 0.523 | 0.583 | 0.551 |
| Spring | 0.817 | 0.962 | 0.848 | 0.902 | 0.567 | 0.739 | 0.642 | 0.402 | 0.644 | 0.495 |
| Summer | 0.836 | 0.980 | 0.864 | 0.918 | 0.355 | 0.631 | 0.455 | 0.474 | 0.749 | 0.581 |
| Autumn | 0.778 | 0.963 | 0.826 | 0.889 | 0.386 | 0.591 | 0.467 | 0.392 | 0.600 | 0.474 |
| Annual (sample-weighted) | 0.799 | see per-class rows above | ||||||||
| Season | Search macro-F 1 | Evaluation macro-F 1 | F 1 |
|---|---|---|---|
| Winter | 0.649 | 0.658 | 0.009 |
| Spring | 0.676 | 0.679 | 0.003 |
| Summer | 0.658 | 0.651 | 0.006 |
| Autumn | 0.617 | 0.610 | 0.007 |
| F 1 High | Recall | Precision | FAR | Brier H | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Wk | S4 | XGB | S4 | XGB | S4 | XGB | S4 | XGB | S4 | XGB | |
| 0 | 0.807 | 0.617 | 0.902 | 0.569 | 0.730 | 0.674 | 0.028 | 0.023 | 0.026 | 0.037 | 51 |
| 1 | 0.527 | 0.538 | 0.744 | 0.641 | 0.408 | 0.463 | 0.068 | 0.047 | 0.048 | 0.046 | 39 |
| 2 | 0.588 | 0.276 | 0.625 | 0.500 | 0.556 | 0.190 | 0.007 | 0.029 | 0.011 | 0.021 | 8 |
| 3 | 0.506 | 0.585 | 0.568 | 0.838 | 0.457 | 0.449 | 0.059 | 0.089 | 0.051 | 0.047 | 37 |
| 4 | 0.381 | 0.485 | 0.679 | 0.755 | 0.265 | 0.357 | 0.165 | 0.119 | 0.088 | 0.076 | 53 |
| S4 H 2 S | S4 CH 4 | |||||||||
| Wk | F 1 | Prec | Rec | Brier | LL | F 1 | Prec | Rec | Brier | LL |
| 1 | 0.807 | 0.706 | 0.941 | 0.026 | 0.079 | 0.870 | 0.803 | 0.950 | 0.023 | 0.076 |
| 2 | 0.563 | 0.453 | 0.744 | 0.045 | 0.145 | 0.622 | 0.472 | 0.911 | 0.065 | 0.192 |
| 3 | 0.588 | 0.556 | 0.625 | 0.011 | 0.037 | 0.576 | 0.436 | 0.850 | 0.026 | 0.079 |
| 4 | 0.505 | 0.414 | 0.649 | 0.053 | 0.151 | 0.769 | 0.625 | 1.000 | 0.034 | 0.111 |
| 5 | 0.411 | 0.288 | 0.717 | 0.091 | 0.260 | 0.621 | 0.465 | 0.935 | 0.084 | 0.246 |
| ID | Description | Confounders | -correction | ||
|---|---|---|---|---|---|
| 1 | Baseline | 4 | 1 | 10 (fixed) | No |
| 2 | + Boundary correction ( -shrinkage) | 4 | 1 | 10 (fixed) | Yes |
| 3 | + Adaptive | 4 | 1 | adaptive (Methods) | Yes |
| 4 | + Reduced history ( ) | 2 | 1 | adaptive (Methods) | Yes |
| 5 | + Minimal conditioning ( ) | 1 | 1 | adaptive (Methods) | Yes |
| 6 | Bivariate (no conditioning) | 1 | 0 | adaptive (Methods) | Yes |
| Driver | Scale | 1 (B) | 2 (BF) | 3 (AK) | 4 (RH) | 5 (MC) | 6 (BV) |
|---|---|---|---|---|---|---|---|
| Core drivers (screened in nearly all configurations) | |||||||
| WD sin | 15 min | 17.9* | 20.0* | 12.2* | 18.1* | 24.2* | 42.6* |
| 1 h | 23.5* | 27.3* | 18.6* | 25.6* | 33.1* | 51.4* | |
| 6 h | 56.5* | 61.6* | 52.8* | 52.8* | 52.8* | 64.0* | |
| WS | 15 min | 10.1* | 11.6* | 5.3* | 8.2* | 10.5* | 9.3* |
| 1 h | 8.9* | 10.1* | 8.3* | 12.8* | 18.8* | 22.4* | |
| ID | Configuration | Mean ETE (nats) | Screened links (/42) | Notes |
|---|---|---|---|---|
| 1 | Baseline | 27 | Spurious TEMP significance (fine scales) | |
| 2 | + Boundary correction | 27 | Marginal improvement | |
| 3 | + Adaptive | 24 | More conservative; fewer screened links | |
| 4 | + Reduced | 25 | Selected bias–variance compromise | |
| 5 | + Minimal cond. | 26 | Loses min target memory | |
| 6 | Bivariate | 29 | Inflated; confounders uncontrolled |
| XGB-16 | XGB-24 | CAIRN | |
| Memory | none | hand-coded | learnt |
| Inputs | 16 raw | 24 engineered | 16 raw |
| High-class detection | |||
| F 1 -High | 0.4625 | 0.5013 | 0.5329 |
| Precision-High | 0.4000 | 0.4445 | 0.4683 |
| Recall-High | 0.5482 | 0.5745 | 0.6181 |
| Statistic | Value |
| Headline tier-match against the deterministic ground truth | |
| Quadratic-weighted Cohen’s kappa | 0.669 [0.565, 0.755] |
| Quadratic-weighted , leave-one-week-out refit | 0.661 |
| Odour-report correlation, leave-one-week-out tier | |
| Unweighted Cohen’s kappa | 0.397 |
| Strict element-wise accuracy | 0.757 |