Atmospheric Dispersion & Air-Permit Modeling, Pasquill-Gifford-Turner (1961) Gaussian Plume
Pasquill-Gifford Gaussian Plume Ground Concentration
Calculate Effective Stack Plume Height Heff (m), Ground-Reflection Vertical Exponential Factor, Downwind Centerline Ground Concentration (ug/m³), and Worst-Case Peak Cmax (ug/m³).
Over-quenching stack gas kills 25 m of buoyant Briggs plume rise—and Because peak ground SO2 scales inversely with Heff^2, losing thermal rise + wind quadruples fence-line exposure!
Under the **Pasquill-Gifford-Turner (`PGT`, `1961`) Steady-State Gaussian Plume Model** with eddy-reflective ground (`z = 0`) along the wind centerline (`y = 0`), a continuous point source emitting **`Q` (`g/s` = `Q * 10⁶` ug/s)** from Physical Stack `H_s` (`m`) plus Buoyant/Momentum Plume Rise `Delta_H` (`m` -> **Effective Release Height `H_{eff} = H_s + Delta_H`** m) into Stack-Top Wind Speed `u` (`m/s`) produces **Ground-Level Centerline Concentration `C(x,0,0) = ((Q * 10⁶) / (pi * u * sigma_y * sigma_z)) * exp(-0.5 * (H_{eff} / sigma_z)^2)`** (`ug/m³`) across Horizontal/Vertical Dispersion Standard Deviations `sigma_y, sigma_z` (`m`)! Differentiating with respect to downwind `sigma_z` (`at constant stability ratio sigma_y / sigma_z`) locates the **Worst-Case Ground Touchdown Peak at `sigma_z = H_{eff} / sqrt(2)`** where **`C_{max} = (2 * Q * 10⁶) / (pi * e * u * (H_{eff}^2) * (sigma_y / sigma_z))`** (`ug/m³`)—scaling inversely with the **square of effective stack height**!
Verify on a `55`-m Industrial Boiler Stack in Neutral Class `D` Stability—`SO_2`_Emission_Rate `Q` = 45.0 g/s (B2), Physical_Stack `H_s` = 55.0 m (B3), Buoyant_Plume_Rise `Delta_H` = 25.0 m (B4), Wind_Speed `u` = 4.80 m/s (B5), Crosswind_`sigma_y` = 115 m (B6), and Vertical_`sigma_z` = 68.0 m (`~1.8` km downwind, B7): Effective Stack Height `H_{eff}` equals `80.0` m (E2), Vertical Reflection Exponential equals `0.5006` (E3), Receptor Ground Concentration equals **`191.0` ug/m³** (E4), just below the **`202.9` ug/m³** analytical worst-case peak `C_{max}` (E5)!
| Pasquill-Gifford Gaussian Plume KPI (Q=45 g/s, Hs=55 m, sy=115 m, sz=68 m) | Formula | Verified Output |
|---|---|---|
| Effective Plume Height Heff (m) | Physical_Stack_Hs_m + Plume_Rise_dH_m | 80.0 m hot stack (58.0 m wet-quenched!) |
| Vertical Ground-Reflection Factor | EXP(-0.5 * ((Effective_Heff_m / sz_m) ^ 2)) | 0.5006 (0.6951 fumigating lower!) |
| Centerline Ground Conc (ug/m³) | ((Q_gs * 1e6) / (PI * u * sy * sz)) * ExpTerm | 191.0 ug/m³ (670.1 ug/m³ exceedance!) |
| Worst-Case Peak Cmax (ug/m³) | (2 * Q_gs * 1e6) / (PI * e * u * Heff^2 * (sy/sz)) | 202.9 ug/m³ (975.0 ug/m³ = 4.8x SPIKE!) |
Pasquill-Gifford-Turner Ground-Reflected Gaussian Plume & Peak Cmax Formula
Validate `Emission_Rate Q > 0` g/s, `Stack_Height H_s` in `[5, 400]` m, `Plume_Rise dH` in `[0, 500]` m, `Wind_Speed u` in `[0.5, 35.0]` m/s, and `Dispersion Spreads sigma_y, sigma_z >= 2` m!
=LET(qs_g, B2, hs_m, B3, dh_m, B4, uw_s, B5, sy_m, B6, sz_m, B7, he_m, hs_m + dh_m, IF(OR(qs_g <= 0, hs_m < 5, hs_m > 400, dh_m < 0, dh_m > 500, uw_s < 0.5, uw_s > 35, sy_m < 2, sz_m < 2), "Invalid Plume Input", ROUND((2 * qs_g * 1000000) / (PI() * EXP(1) * uw_s * (he_m ^ 2) * (sy_m / sz_m)), 1)))Cold Wet-Scrubbed Exhaust (`dH = 3` m) + Stagnant `1.9` m/s Wind Fumigation Check
Sub-cool stack gas through a wet scrubber without flue-gas reheat (`Delta_H` collapses to `B4 = 3.0` m -> `H_{eff} = 58.0` m in E2) during stagnant `B5 = 1.90` m/s morning wind: Receptor `SO_2` E4 jumps `3.5x` to **`670.1` ug/m³** while Worst-Case Peak `C_{max}` E5 surges **`4.8-fold` to `975.0` ug/m³**!
=IF(ISTEXT(E5), E5, LET(he_m, B3 + B4, ROUND(((B2 * 1000000) / (PI() * B5 * B6 * B7)) * EXP(-0.5 * ((he_m / B7) ^ 2)), 1)))Try the example
Use the original values or change them to test your understanding.