5.3 Severe Weather
Severe convective weather -- supercell thunderstorms, tornadoes, large hail, damaging winds, and mesoscale convective systems -- arises from the interplay of thermodynamic instability and vertical wind shear. Quantitative forecasting relies on parameters derived from thermodynamic soundings and hodograph analysis, each rooted in parcel theory and vorticity dynamics. This section develops the governing physics from first principles.
CAPE and CIN: Thermodynamic Instability
Convective Available Potential Energy (CAPE) quantifies the integrated positive buoyancy available to an ascending parcel. It represents the maximum kinetic energy per unit mass that a buoyant parcel could achieve in the absence of entrainment, drag, and water loading.
Convective Available Potential Energy
$$\text{CAPE} = \int_{\text{LFC}}^{\text{EL}} g \, \frac{T_{v,\text{parcel}} - T_{v,\text{env}}}{T_{v,\text{env}}} \, dz$$
Integration from the Level of Free Convection (LFC) to the Equilibrium Level (EL). T_v denotes virtual temperature, which accounts for moisture effects on buoyancy.
Convective Inhibition
$$\text{CIN} = -\int_{\text{SFC}}^{\text{LFC}} g \, \frac{T_{v,\text{parcel}} - T_{v,\text{env}}}{T_{v,\text{env}}} \, dz$$
CIN is the energy barrier a parcel must overcome (via mechanical lift or surface heating) before free convection begins. CIN > 200 J/kg typically prevents storm initiation; CIN = 25-100 J/kg allows selective initiation that can produce stronger storms (the "loaded gun" sounding).
Virtual Temperature Correction
Using virtual temperature rather than actual temperature is essential for accurate CAPE computation. The virtual temperature accounts for the lower molecular weight of water vapor:
$$T_v = T \left(1 + 0.608 \, q - q_l\right)$$
where q is specific humidity (enhances buoyancy) and q_l is liquid water mixing ratio (water loading reduces buoyancy). The maximum theoretical updraft is $w_{\max} = \sqrt{2 \cdot \text{CAPE}}$.
Marginal
CAPE: 300-1000 J/kg. Weak updrafts, isolated cells. w_max ~ 25-45 m/s theoretical.
Moderate
CAPE: 1000-2500 J/kg. Organized convection with sufficient shear. Actual updrafts ~50-70% of theoretical.
Extreme
CAPE > 3000 J/kg. Explosive development, supercells, large hail, violent tornadoes possible.
Wind Shear, Hodographs, and Helicity
Vertical wind shear organizes convection by separating updrafts from downdrafts and provides horizontal vorticity that can be tilted into the vertical to produce mesocyclones. The hodograph reveals the shear structure crucial for storm type prediction.
Bulk Richardson Number
$$\text{BRN} = \frac{\text{CAPE}}{\frac{1}{2}\left|\overline{V}_{6\text{km}} - \overline{V}_{500\text{m}}\right|^2}$$
BRN balances buoyancy against shear. BRN = 10-45 favors supercells; BRN < 10 is shear-dominated; BRN > 50 is buoyancy-dominated multicells.
Storm-Relative Helicity (SRH)
$$\text{SRH} = \int_0^h (\mathbf{V} - \mathbf{c}) \cdot \left(\frac{\partial \mathbf{V}}{\partial z} \times \hat{k}\right) dz$$
V is the environmental wind, c is the storm motion vector. Geometrically, SRH equals twice the area swept by the storm-relative hodograph. SRH > 150 m²/s² (0-3 km) is associated with mesocyclones; SRH > 300 m²/s² supports significant tornadoes.
Straight Hodograph
Unidirectional shear. Produces splitting storms (mirror-image supercells). SRH is zero for a stationary storm.
Curved Hodograph
Veering winds (clockwise with height). Favors right-moving supercell. Large SRH. Classic tornado setup.
Half-Circle
Strong directional shear in lowest 3 km with speed shear above. Maximizes streamwise vorticity.
Supercell Dynamics and Rotating Updrafts
Supercells contain a persistent rotating updraft (mesocyclone). Rotation originates from tilting environmental horizontal vorticity into the vertical. The perturbation pressure equation explains why rotation propagates a storm off the hodograph:
Linear Perturbation Pressure
$$\nabla^2 p' \approx -2\rho_0 \, \frac{\partial \mathbf{V}_0}{\partial z} \cdot \nabla_h w'$$
Shear-updraft interaction creates high pressure upshear and low pressure downshear, inducing cross-shear propagation. With curved hodographs, asymmetry favors one flank.
Tilting of Horizontal Vorticity
$$\frac{\partial \zeta}{\partial t} = \underbrace{\omega_h \cdot \nabla_h w}_{\text{tilting}} + \underbrace{\zeta \frac{\partial w}{\partial z}}_{\text{stretching}} + \underbrace{\frac{1}{\rho^2}(\nabla\rho \times \nabla p) \cdot \hat{k}}_{\text{baroclinic}}$$
The tilting term produces counter-rotating vortex couplets that split the initial storm. The stretching term amplifies existing vertical vorticity beneath the updraft. The baroclinic term generates horizontal vorticity along temperature gradients (e.g., FFD boundary).
Splitting Storms
An updraft in unidirectional shear generates two mid-level vorticity maxima of opposite sign. The associated dynamic pressure perturbations cause the storm to split into a right-mover and left-mover. In Northern Hemisphere veering winds, the right-mover aligns with streamwise vorticity and intensifies while the left-mover weakens.
Mesoscale Convective Systems and Tornado Genesis
Mesoscale Convective Systems (MCS)
Squall Lines
Linear convective bands with trailing stratiform rain. Cold pool outflow lifts ambient unstable air to trigger new cells on the gust front.
Bow Echoes
Bowing signature driven by a descending rear-inflow jet (RIJ). Produces derechos with straight-line winds exceeding 120 mph.
Rear-Inflow Jet
Mid-level dry air descends behind the convective line. When the RIJ reaches the surface, it produces damaging outflow winds.
Tornado Genesis: The Multi-Step Process
- Baroclinic vorticity generation: Horizontal buoyancy gradients along the forward-flank downdraft (FFD) boundary generate horizontal vorticity: $\frac{D\omega_h}{Dt} \sim \frac{1}{\rho^2}(\nabla\rho \times \nabla p)$
- RFD role: The rear-flank downdraft transports angular momentum downward and focuses convergence beneath the updraft. The dynamic pipe effect creates a vertical pressure gradient that extends rotation downward.
- Surface vortex stretching: Convergence stretches vertical vorticity from mesocyclone-scale (~5 km) to tornado-scale (~100 m): $\frac{D\zeta}{Dt} \approx \zeta \frac{\partial w}{\partial z}$
Hail Growth and Microbursts
Dry Growth
All collected supercooled water freezes instantly. Opaque white ice with trapped air. Growth limited by collection rate.
Wet Growth (Schumann-Ludlam Limit)
Water collected faster than it freezes. Liquid layer on surface. Clear dense ice. The Schumann-Ludlam limit defines the critical LWC above which wet growth occurs.
Hail Growth Rate (Dry Regime)
$$\frac{dM}{dt} = \pi R^2 \, v_t(R) \, E \, \text{LWC}$$
Hailstones require updrafts w > v_t to remain suspended in the growth region.
Microbursts
Wet Microbursts
Occur within heavy precipitation. Precipitation drag drives the downdraft. Accompanied by heavy rain. Common in humid environments. Outflow < 4 km diameter.
Dry Microbursts
Rain evaporates aloft, cooling the air and accelerating the downdraft. Little surface rain. Virga visible. Common in arid regions. Winds can exceed 150 mph.
Forecast Composite Parameters
Significant Tornado Parameter (STP)
$$\text{STP} = \frac{\text{CAPE}}{1500} \times \frac{\text{SRH}_{0\text{-}1}}{150} \times \frac{S_{0\text{-}6}}{20} \times \frac{2000 - \text{LCL}}{1000}$$
STP > 1 is associated with significant (EF2+) tornadoes. Each factor normalizes a key ingredient.
Supercell Composite Parameter (SCP)
$$\text{SCP} = \frac{\text{muCAPE}}{1000} \times \frac{\text{SRH}_{0\text{-}3}}{50} \times \frac{S_{0\text{-}6}}{20}$$
muCAPE is the most-unstable CAPE. SCP > 1 favors supercell development.
Fortran: Parcel Ascent Model with Entrainment
This Fortran program lifts a surface parcel through an environmental sounding, computing CAPE and CIN with virtual temperature corrections. A fractional entrainment rate mixes environmental air into the rising parcel, demonstrating how dilution reduces CAPE.
program parcel_ascent
! ============================================================
! Parcel ascent model with entrainment for CAPE/CIN
! Entrainment rate: epsilon = 0.2/z (Siebesma et al.)
! ============================================================
implicit none
integer, parameter :: nlev = 17
real(8), parameter :: g = 9.81d0, Rd = 287.04d0, Rv = 461.5d0
real(8), parameter :: cp = 1004.0d0, Lv = 2.501d6, p0 = 1000.0d0
real(8), parameter :: eps_mv = Rd / Rv
real(8) :: p(nlev), T_env(nlev), Td_env(nlev), z(nlev)
real(8) :: T_p, w_p, Tv_p, Tv_e, es, ws, dz_val
real(8) :: CAPE, CIN, epsilon, w_env, es_td
integer :: k
logical :: above_lcl, found_lfc
p = (/1000,950,900,850,800,750,700,650,600, &
550,500,450,400,350,300,250,200/)
T_env = (/30,26,22,18,14,10,5,0,-6, &
-13,-21,-30,-40,-50,-58,-62,-60/)
Td_env = (/22,20,17,12,6,0,-6,-14,-22, &
-30,-38,-46,-52,-58,-66,-72,-75/)
! Compute heights via hypsometric equation
z(1) = 0.0d0
do k = 2, nlev
z(k) = z(k-1) + (Rd * (T_env(k-1)+T_env(k)+546.3d0)/2.0d0) &
/ g * log(p(k-1)/p(k))
end do
! Surface parcel
es = 6.112d0 * exp(17.67d0*Td_env(1)/(Td_env(1)+243.5d0))
w_p = eps_mv * es / (p(1) - es)
T_p = T_env(1) + 273.15d0
above_lcl = .false.; found_lfc = .false.
CAPE = 0.0d0; CIN = 0.0d0
epsilon = 1.0d-4 ! Entrainment rate (1/m)
write(*,'(A)') '================================================'
write(*,'(A,ES10.2,A)') ' Entrainment rate: ', epsilon, ' 1/m'
write(*,'(A)') '================================================'
write(*,'(A6,A8,A8,A8,A10)') 'p(hPa)','z(m)','Tenv','Tpar','Buoy'
do k = 2, nlev
dz_val = z(k) - z(k-1)
if (.not. above_lcl) then
! Dry adiabatic ascent
T_p = (T_env(1)+273.15d0) * (p(k)/p0)**(Rd/cp)
es = 6.112d0 * exp(17.67d0*(T_p-273.15d0)/(T_p-273.15d0+243.5d0))
if (eps_mv * es / (p(k) - es) <= w_p) above_lcl = .true.
else
! Moist adiabatic + entrainment
es = 6.112d0 * exp(17.67d0*(T_p-273.15d0)/(T_p-273.15d0+243.5d0))
ws = eps_mv * es / (p(k) - es)
T_p = T_p - (g/cp)*(1.0d0+Lv*ws/(Rd*T_p)) / &
(1.0d0+Lv**2*ws*eps_mv/(cp*Rd*T_p**2)) * dz_val
! Entrainment mixing
es_td = 6.112d0 * exp(17.67d0*Td_env(k)/(Td_env(k)+243.5d0))
w_env = eps_mv * es_td / (p(k) - es_td)
T_p = T_p + epsilon * dz_val * ((T_env(k)+273.15d0) - T_p)
w_p = w_p + epsilon * dz_val * (w_env - w_p)
end if
! Virtual temperatures
Tv_p = T_p * (1.0d0 + 0.608d0 * w_p)
es_td = 6.112d0 * exp(17.67d0*Td_env(k)/(Td_env(k)+243.5d0))
w_env = eps_mv * es_td / (p(k) - es_td)
Tv_e = (T_env(k)+273.15d0) * (1.0d0 + 0.608d0 * w_env)
! Buoyancy integration
if (Tv_p > Tv_e .and. above_lcl) then
CAPE = CAPE + g * (Tv_p - Tv_e) / Tv_e * dz_val
found_lfc = .true.
else if (.not. found_lfc) then
CIN = CIN + g * abs(Tv_p - Tv_e) / Tv_e * dz_val
end if
write(*,'(F6.0,F8.0,F8.1,F8.1,F10.3)') &
p(k), z(k), T_env(k), T_p-273.15d0, g*(Tv_p-Tv_e)/Tv_e
end do
write(*,'(A)') '================================================'
write(*,'(A,F8.0,A)') ' CAPE = ', CAPE, ' J/kg'
write(*,'(A,F8.0,A)') ' CIN = ', CIN, ' J/kg'
write(*,'(A,F6.1,A)') ' w_max = ', sqrt(2.0d0*CAPE), ' m/s'
end program parcel_ascentInteractive Simulation: Supercell Hodograph & Storm Motion
PythonPlot a classic supercell wind hodograph with veering winds. Computes Bunkers right-moving and left-moving storm motion vectors, bulk wind shear, and storm-relative helicity (SRH) for the 0-3 km layer.
Click Run to execute the Python code
Code will be executed with Python 3 on the server