← All decksPrepared for Aftermine · methanotrophic biofilter digital twin · August 2026
A digital twin of the abatement system, the bioreactor and the water — with its own uncertainty attached.
Thirty years of one abandoned coal mine, simulated as a single coupled state: the water rebounds, the flooding changes what methane escapes, the gas goes lean as air is drawn in, and the plant re-routes to whatever is still safe and admissible. Every number below carries a range, an evidence tier and an estimate class — and the grading rules make it structurally impossible to report more confidence than the inputs support.
Each row is a Monte Carlo over 80 parameters, sampled by Latin hypercube with physically-coupled inputs rank-correlated. The bars show P5 to P95 as a ratio to the median, on a log axis, so the relative uncertainty is comparable across quantities that share no units. Absolute values are in the columns.
The trailing ± is the Monte Carlo error on the P5 itself at this sample size — a range is incomplete without its own sampling error, and it is largest in the tails, where fewest draws land. A triangle marks a bar running past the axis — most often a P5 of zero, meaning the outcome can legitimately be nothing at all (no discharge within the assessment period, so no heat, no wetland, no lime). Every row grades AACE Class 5 (concept screening, −50 %/+100 %). That is not modesty: it is the ceiling the evidence tier imposes, and it is enforced in code. Where a range looks tight, it is measuring the width of the priors — not their correctness.
A narrow output distribution computed from uncalibrated priors is not a precise estimate — it is a precise statement about a guess. So the reported estimate class is ceilinged by the weakest evidence tier in the chain, and callers cannot opt out.
The tier ceiling
| Tier | Meaning | Best class |
|---|
Applying AACE 18R-97 — a cost-estimate classification — to a performance model is a deliberate borrowing. The shared quantity is estimate maturity, not currency. The alternative, inventing a bespoke confidence scale, would be less legible to the people this has to survive.
Registry state
The verification flag is the one field a reviewer must be able to trust. It cannot be satisfied by flipping it: an estimate marked verified with no source trips a test. Design decisions are exempt — for them "verified" means exact-because-chosen, not checked-against-a-paper.
Standardised rank correlation of every sampled input against each output. The strongest single driver of lifetime avoided CO₂e is not an abatement parameter at all — it is the recharge rate. Faster rebound floods the workings sooner, which seals them, so less methane is ever emitted or capturable. A model that treated gas and water as separate projects could not produce this result.
The prior model in this repository states its own defect: it has no channelling term, so "a clogging bed reads as a better reactor rather than a failing one." This version replaces the rate law with one containing the resistances the old one omitted — and the two failure modes now appear, from different mechanisms, at different loadings.
Methane is oxidised in water, not in gas. The old law applied Monod to gas-phase methane against an aqueous half-saturation constant. Those differ by the Henry coefficient — a factor of about 29 at 20 °C — and that factor is itself strongly temperature-dependent. Methane is 37 % more soluble at 5 °C than at 25 °C, so a gas-phase model gets even the sign of part of the winter response wrong.
The biofilm is not well mixed. Solving the diffusion-reaction equation properly shows the substrate is consumed in an outer layer ~105 µm deep (to a stated 1 % threshold — the depth to zero is formally infinite for Monod kinetics, and an earlier version of this page quoted a figure that was a quadrature artifact). Past that depth, more biomass adds pressure drop and bypass, and no conversion.
Removal peaks near 10 kg VSS/m³ and then collapses, while pressure drop rises by two orders of magnitude. The plateau and the fall have different causes — diffusion limitation first, channelling second — and the model keeps them distinguishable, because the operator response to each is different.
Solubility favours the cold bed; the cardinal-temperature kinetics overwhelm it. An unheated bed at 4 °C retains roughly an eighth of its capacity — a recurring winter operating point in the Ruhr and Upper Silesia, not a tail case.
Safety first, then technical admissibility, then objective — in that order, never blended. The explosive band is a gate, not a term in an objective function: no climate or economic argument may open it.
Fig. 5 — Admissible route as the gas declines and goes lean
"Just dilute it down" is a claim requiring proof. Diluting 40 % methane to an oxidiser's 1 % feed passes straight through 15 % and 5 % on the way — the model computes the crossing at an air fraction of 0.625 and refuses the route. A 3 % stream can be diluted safely; a 40 % stream cannot, with a single mixing point.
Self-consistency cannot catch a model that is consistently wrong. The decline curve is checked against the 2019 IPCC Refinement / US EPA methodology for abandoned coal mines, to floating-point equality at all three coal ranks.
Ruhr and Upper Silesian coal is bituminous: a steep first year, then a very fat tail — still 14 % of the initial rate at thirty years. That tail is the entire argument for equipment that still works at fractions of a per cent methane. The flooding curve is a different functional form (exponential, D = 0.672 /yr) fitted to measured emissions, reaching essentially zero by year eight; it is the one genuinely external check on the flooding coupling.
A correction this caught. An earlier version of the registry carried an elicited decline of 0.02–0.12 /yr. The published bituminous value is 1.56 /yr — wrong by more than an order of magnitude, and wrong in opposite directions in the two halves of the curve. Separately, anchoring matters: the curve's clock starts at abandonment but the only datum available is the rate today. Feeding a mine abandoned in 2015 its current rate as though it were the at-abandonment rate understates the year-30 rate by a factor of 4.2.
Coal-mine methane accounting contains a specific error, made in both directions. AR6 gives GWP₁₀₀ = 29.8 for fossil methane and 27.0 for non-fossil; the 2.8 difference is almost exactly the 2.743 t of CO₂ a tonne of methane becomes. The fossil value already includes the warming of that CO₂.
Per 1 000 t CH₄ destroyed, GWP₁₀₀ fossil basis
Crediting the bare 29.8 overstates by about 10 %. Crediting 29.8 and subtracting combustion CO₂ as a separate line understates by the same amount, having corrected for one physical fact twice. Both appear in this sector's published figures.
Capture efficiency is not destruction efficiency. Gas that never enters the collection system is not abated by anything downstream of it. Site abatement is capture × DRE — which is why the model's lifetime abatement sits near 28 % while the equipment destroys 98–99 % of what reaches it. A wellhead flow meter measures only what was captured, and can say nothing about what was not.
Everything passive treatment does rests on oxidising Fe(II). Above about pH 5 the abiotic rate is second order in hydroxide — which is the whole of passive treatment design in one term, and why aeration is self-sustaining on net-alkaline water and useless on net-acidic water.
Below pH 4.5 the abiotic law does not apply — oxidation there is microbially catalysed and runs orders of magnitude faster — so the model returns that branch as a separate regime with the abiotic figure explicitly labelled a lower bound, rather than interpolating across two different processes.
Equations can be checked by reading them; numbers can only be checked against sources. So the sources sit attached to the numbers they support, and the ones still carried on judgement are listed as such rather than buried in a bibliography.
The plant is blower-limited for its first decade: captured methane is throughput × methane fraction, and capture efficiency does not bind at all. So the headline abatement figure is substantially a statement about a number somebody chose.
Four independent reviewers with distinct domain lenses — bioprocess engineering, mine-water hydrogeology, uncertainty quantification, and combined asset-owner/verifier — were briefed to find errors rather than confirm the result. Three of the four declined to sign off. Every finding was independently reproduced before being accepted.
The mathematics came back clean: the biofilm first integral, the deep-film closed form, every bisection direction, Henry's law end to end, and Iman–Conover in every step doubted. In the bioprocess reviewer's words — "the bones are good, the parameterisation is not." What follows is what they found in the parameterisation and the plumbing.
Two properties of the correlation machinery needed a concrete answer, not an assurance. The Spearman→Pearson transform grows correlations by about 4.7 %, so a correlation set that is feasible as a Spearman specification can be infeasible once transformed — which makes the order of operations load-bearing: transform first, condition second. And Iman–Conover was validated on the shipped 80-dimensional design rather than a toy: worst declared-pair error 0.012, below the Monte Carlo standard error of 0.016, largest spurious correlation 0.010, every marginal preserved exactly.
Two claims were stress-tested and survived, which is worth recording as plainly as the failures.
The GWP correction has an independent cross-check. AR6's only difference between fossil methane (29.8) and non-fossil (27.0) is the GWP-weighted CO₂ its carbon becomes. So the credit for destroying fossil methane, 29.8 − 2.743 = 27.06, must equal AR6's own non-fossil figure — and it does, to within rounding. Two routes, one number. Drift between them would mean the correction had been applied twice, or not at all.
Omitting oxygen diffusion into the biofilm is defensible by band, not by luck. The aqueous O₂:CH₄ molar ratio is 90:1 at 0.2 vol % methane and still 8.8:1 at the biofilter's 2 vol % ceiling. Oxygen only co-limits above ~9 vol % — inside the flammable band the safety gate already refuses. The margin is thinnest at the top of the range, which is where it must be re-checked if that ceiling is raised.
The baseline — 99 % of the claim is a legal question
The climate case was computed against venting by assumption. EU 2024/1787 prohibits venting from 2030, and regulatory-surplus tests look at adopted law, not law in force — the regulation has been in force since August 2024. Once the counterfactual becomes "capture and destroy to the legal standard", incremental abatement collapses to one destruction efficiency minus another. The climate case does not shrink; it becomes a cost-of-compliance case. The model can now compute both instead of assuming one.
The biofilter's own window, over 30 project years
The Bio layer's justification is that the bed serves a dilute tail no other machine reaches. That is testable, so the model tests it: of project years put the gas inside the bed's 0.02–2 vol % band. The mine is too rich for two decades — and cannot be diluted down, because the path crosses the flammable envelope — then too lean once the workings flood. The niche is real but narrow, and the only routes into it are waiting decades or passing through the explosive band.
Full governing equations, numerical methods and the complete prior table are in docs/twin/model-specification.md. The model is six ES5 modules under public/seam-lib/ with 111 tests; it runs unchanged in the browser and under node --test.