Methodology and independent validation of the Calvert City industrial plume model.
This page explains, in plain language first and then in technical detail, how the daily plume forecast is produced, what the map is actually showing you, and how it was tested against real air-quality measurements. It covers the plume dispersion model only — the companion Odor Forecaster has its own methodology page.
Every day, the model estimates how much of each chemical the local industrial facilities release into the air, then uses real, hour-by-hour weather — winds, temperature, and how much the atmosphere is mixing — to carry those releases across the map. The result is a picture of where the plume is likely to drift and roughly how concentrated it is, hour by hour.
The emissions come from the facilities' own annual reports to the U.S. EPA. The weather comes from NOAA's high-resolution national forecast model. The dispersion itself is computed by NOAA's HYSPLIT model — the same tool used by federal agencies to track smoke, ash, and hazardous releases.
The map includes a concentration layer. It is genuinely a concentration estimate — but like any model, its numbers carry uncertainty, and that uncertainty is not the same everywhere:
Bottom line: trust the pattern and timing most; read the absolute concentrations as an order-of-magnitude guide, most reliable away from the immediate fencelines.
Hot gases leaving a tall stack are buoyant and rise before they spread — an effect called plume rise. The deployed model does not simulate plume rise; it releases emissions at a fixed low height (about 15 m for stacks, 2 m for fugitive sources) and lets the plume travel along near the ground. That is a deliberate choice:
Plume rise remains a planned future upgrade: source real stack parameters, re-validate, and likely apply it only when the atmosphere is deep enough to avoid pushing the plume over everyone.
The model was back-tested two ways: directly against Calvert-area EPA canister measurements, and against a data-rich benchmark city (Pittsburgh) with dense hourly monitoring, which stress-tests the same method with real statistical power. Two questions matter: does it get the timing right (when does a plume arrive?), and does it get the amount right (how much is emitted)?
Yes, and significantly so. When the wind opens a corridor from a source to a monitor, measured concentrations spike as predicted; when it doesn't, they don't.
| Test | Result |
|---|---|
| Calvert VOC spike rate, wind corridor open vs. closed | 2.5× (p = 1.3×10⁻⁶) |
| Pittsburgh SO₂ plume arrival (Fisher's exact test) | p ≈ 6.9×10⁻¹² |
| Pittsburgh hourly hit/no-hit classification (AUC) | 0.587 |
The Pittsburgh benchmark (25 days, ~1,670 site-hours of hourly SO₂) is what gives the timing result its statistical power; the Calvert canister record is sparser but points the same way.
Emission accuracy can only be judged away from the sources, in the "grounding zone" where an elevated plume has fully mixed down to the surface. There, predicted and measured concentrations agree to within about a factor of 1.5 — i.e. the reported inventory is the right order of magnitude, not grossly over- or under-stated.
| Monitor (distance from source) | Observed ÷ Predicted |
|---|---|
| Charleroi (23 km, down-valley) | 0.68 |
| Lawrenceville (15 km) | 1.35 |
Right next to a source the story is different, and this is why a single concentration accuracy is not quoted: near-field amounts depend heavily on the release-height assumption, swinging from over- to under-prediction. This sensitivity is exactly why the deployed model keeps the plume grounded and why the concentration layer should be read as a guide near the fencelines.
| Configuration | Near-field bias |
|---|---|
| Grounded release (deployed model) | ~5.6× over-predict |
| Full plume rise | ~13× under-predict (plume lofts over monitors) |