Atmospheric stability, inversions, and the vertical structure of humidity
2026-02-26
You should know
What a gradient is, and that temperature and moisture can vary across elevation, latitude, and distance from water.
You will learn
How spatial gradients shape weather and ecosystems, and why moving air and topography can create strong environmental contrasts.
Why this matters
Many geographic patterns are really gradient stories: treelines, snowlines, drought zones, storm tracks, and the boundaries between ecosystems.
If this gets hard, focus on…
Imagine moving through space and asking how fast temperature or moisture changes as you go. That question is the heart of the chapter.
On the morning of 11 January 2020, an air quality monitoring station in Calgary recorded PM2.5 concentrations of 85 µg/m³ — more than four times the national standard. The source was not a nearby industrial facility. It was wood smoke from residential fireplaces, trapped by a temperature inversion that had settled over the city as cold arctic air pooled in the valley while warmer air sat above it. The inversion lid, at roughly 1,200 metres above the surface, acted as a cap on vertical mixing. Emissions that in normal conditions would disperse upward were instead concentrated in a shallow layer over the city. The same phenomenon traps industrial pollution over Los Angeles, creates the fog that blankets the San Francisco Bay, and causes frost in mountain valleys on clear calm nights when a city upslope is warmer.
Under normal conditions, temperature decreases with altitude — the environmental lapse rate — because air pressure decreases and air expands as it rises. But the normal condition is not always present. When the surface cools faster than the overlying air (on calm clear nights, over snow, over cold water), temperature can increase with height, creating an inversion that suppresses vertical mixing. The stability of the atmosphere — whether air parcels that are displaced vertically will return to their starting height or continue rising — is governed by the comparison between the environmental lapse rate and the adiabatic lapse rate (the rate at which a rising air parcel cools). This model derives both lapse rates from thermodynamic first principles, introduces the concept of stability, and shows how moisture complicates the picture through the latent heat released during condensation.
Why does temperature usually decrease with altitude, and when does it increase instead?
Climb a mountain and temperature drops—about 6–10°C per kilometer. But sometimes: - Nighttime inversions: Temperature increases with height near the ground - Valley fog: Cold air trapped below, warm air above - Smog episodes: Pollution trapped under a warm lid
Similarly, moisture varies with height: - Surface air may be humid - Upper air often dry - Cloud base marks where air saturates
The mathematical question: What determines the vertical gradient of temperature and moisture, and when is the atmosphere stable vs. unstable?
The environmental lapse rate (\Gamma) is the actual temperature decrease with height:
\Gamma = -\frac{dT}{dz}
Sign convention: Positive \Gamma means temperature decreases upward (normal).
Typical value: \Gamma \approx 6.5 K/km (global average troposphere)
Adiabatic process: No heat exchange with surroundings (air parcel moves too fast for heat transfer).
Dry adiabatic lapse rate (\Gamma_d):
Rising unsaturated air cools by expansion.
\Gamma_d = \frac{g}{c_p} = 9.8 \text{ K/km}
Where: - g = 9.8 m/s² (gravity) - c_p = 1005 J/kg/K (specific heat of air at constant pressure)
Saturated adiabatic lapse rate (\Gamma_s):
Rising saturated air cools slower because condensation releases latent heat.
\Gamma_s \approx 4{-}7 \text{ K/km}
(Varies with temperature; warmer air has more moisture, more latent heat release)
Compare environmental lapse rate (\Gamma) to adiabatic rates:
Absolutely unstable: \Gamma > \Gamma_d
- Environment cools faster than adiabatic - Rising air parcel stays warmer than surroundings - Buoyant → continues rising → convection
Conditionally unstable: \Gamma_s < \Gamma < \Gamma_d
- Dry air stable, saturated air unstable - Depends on moisture content
Absolutely stable: \Gamma < \Gamma_s
- Environment cools slower than adiabatic (or warms with height) - Rising parcel becomes cooler than surroundings - Negatively buoyant → sinks back → stable
Inversion: \Gamma < 0 (temperature increases with height)
- Extremely stable - Suppresses vertical mixing - Traps pollution
For an ideal gas, adiabatic expansion/compression follows:
T p^{-R/c_p} = \text{constant}
Where: - T = temperature (K) - p = pressure (Pa) - R = 287 J/kg/K (gas constant for dry air) - c_p = 1005 J/kg/K
Potential temperature (\theta):
\theta = T \left(\frac{p_0}{p}\right)^{R/c_p}
Where p_0 = 100 kPa (reference pressure, sea level).
For adiabatic motion, \theta is conserved.
Pressure decreases with height:
\frac{dp}{dz} = -\rho g
For dry adiabatic process:
\frac{dT}{dz} = -\frac{g}{c_p} = -\Gamma_d
\Gamma_d = \frac{g}{c_p} = \frac{9.8}{1005} = 0.00975 \text{ K/m} = 9.75 \text{ K/km}
(Often rounded to 10 K/km)
When air is saturated, condensation releases latent heat:
\frac{dT}{dz} = -\frac{g}{c_p + L_v dq_s/dT}
Where: - L_v = 2.5 \times 10^6 J/kg (latent heat of vaporization) - dq_s/dT = rate of change of saturation mixing ratio with temperature
Result: \Gamma_s < \Gamma_d (saturated air cools slower).
At warm temperatures (30°C): \Gamma_s \approx 4 K/km
At cold temperatures (-20°C): \Gamma_s \approx 7 K/km
Mixing ratio (q, kg water vapor per kg dry air) is approximately conserved for unsaturated air.
Saturation mixing ratio (q_s) decreases with height (colder → less moisture capacity).
Relative humidity:
RH = \frac{q}{q_s} \times 100\%
If q is constant and q_s decreases, RH increases with height until reaching 100% → cloud base.
Dew point (T_d): Temperature at which air becomes saturated (at constant pressure).
Lifting Condensation Level (LCL): Height at which rising air reaches saturation.
Approximate formula:
h_{\text{LCL}} = 125 (T - T_d)
Where: - h_{\text{LCL}} = cloud base height (m) - T = surface temperature (°C) - T_d = surface dew point (°C)
Example: T = 25°C, T_d = 15°C:
h_{\text{LCL}} = 125 \times (25 - 15) = 1250 \text{ m}
Cloud base at 1.25 km.
Problem: A weather sounding shows: - Surface: T = 30°C, T_d = 20°C, p = 1000 hPa - At 1 km: T = 22°C, p = 900 hPa - At 2 km: T = 16°C, p = 800 hPa
(a) Environmental lapse rate
Between surface and 1 km:
\Gamma = -\frac{\Delta T}{\Delta z} = -\frac{22 - 30}{1000 - 0} = \frac{8}{1000} = 0.008 \text{ K/m} = 8 \text{ K/km}
Between 1 km and 2 km:
\Gamma = -\frac{16 - 22}{2000 - 1000} = \frac{6}{1000} = 6 \text{ K/km}
Average: \Gamma \approx 7 K/km
(b) Stability
\Gamma_d = 9.8 K/km (dry adiabatic)
Compare: \Gamma = 7 K/km < \Gamma_d
Environment cools slower than dry adiabatic → stable for dry air.
If air rises 1 km dry adiabatically: - Parcel temperature: $30 - 9.8 = 20.2°C - Environment temperature at 1 km: $22°C - Parcel is cooler than environment → sinks back → stable
(c) Cloud base
h_{\text{LCL}} = 125(T - T_d) = 125(30 - 20) = 1250 \text{ m}
Cloud base at 1.25 km.
Below is an interactive atmospheric profile simulator.
<label>
Surface temperature (°C):
<input type="range" id="surf-t-slider" min="10" max="35" step="1" value="25">
<span id="surf-t-value">25</span> °C
</label>
<label>
Surface dew point (°C):
<input type="range" id="dew-slider" min="5" max="30" step="1" value="15">
<span id="dew-value">15</span> °C
</label>
<label>
Environmental lapse rate (K/km):
<input type="range" id="lapse-slider" min="2" max="15" step="0.5" value="6.5">
<span id="lapse-value">6.5</span> K/km
</label>
<label>
Time of day:
<select id="time-of-day">
<option value="day">Daytime (unstable)</option>
<option value="neutral" selected>Neutral</option>
<option value="night">Night (inversion)</option>
</select>
</label>
<p><strong>Cloud base (LCL):</strong> <span id="lcl-display"></span> m</p>
<p><strong>Stability:</strong> <span id="stability-display"></span></p>
<p><strong>Parcel at 1 km:</strong> <span id="parcel-1km"></span> °C</p>
Try this: - Nighttime inversion: Temperature increases with height → extremely stable - Daytime unstable: High lapse rate (> 10 K/km) → dry adiabat to left of environment → rising parcel stays warmer - Dew point spread: When temperature curve crosses dew point → cloud forms - LCL marker: Shows cloud base height - Notice: Saturated adiabat (green) has gentler slope than dry adiabat (latent heat release)
Key insight: Stability depends on the slope of the environmental profile relative to adiabatic rates.
Radiation inversion (nighttime): - Surface cools by IR emission - Ground-based inversion (0–200 m) - Breaks up after sunrise
Subsidence inversion (high pressure): - Descending air warms adiabatically - Elevated inversion (500–2000 m) - Persistent (days) - Traps pollution
Frontal inversion: - Warm air overrides cold air - Associated with weather fronts
Daytime over land: - Surface heated by sun - Lapse rate approaches dry adiabatic (\Gamma \approx \Gamma_d) - Mixed layer: Well-mixed by convection (temperature nearly constant with height) - Inversion cap at top (typically 1–2 km)
Clouds form when: 1. Air rises to LCL (cooling by expansion) 2. Reaches saturation 3. Continued lift produces condensation
Cumulus clouds: Thermal updrafts from warm surface
Stratus clouds: Layered lifting (fronts, topography)
Once air saturates, saturated adiabatic applies. The transition occurs at LCL.
Parcels rise: - Below LCL: Cool at \Gamma_d = 9.8 K/km - Above LCL: Cool at \Gamma_s \approx 6 K/km
Stability analysis without moisture misses conditional instability.
Example: \Gamma = 8 K/km - Dry air: Stable (\Gamma < \Gamma_d) - Saturated air: Unstable (\Gamma > \Gamma_s)
Trigger: If you can force saturation (lifting over mountain), convection explodes.
Real atmosphere has layers: - Surface mixed layer - Inversion layers - Free troposphere - Stratosphere (temperature increases with height always)
Sounding: Vertical profile measured by weather balloon.
Adiabatic only if air moves faster than heat diffuses.
Slow processes (large-scale subsidence): Diabatic (radiative heating/cooling matters).
CAPE quantifies thunderstorm potential:
\text{CAPE} = \int_{LFC}^{EL} g \frac{T_{\text{parcel}} - T_{\text{env}}}{T_{\text{env}}} dz
Where: - LFC = Level of Free Convection (where parcel becomes warmer than environment) - EL = Equilibrium Level (where parcel becomes cooler again)
Units: J/kg (energy per unit mass)
Interpretation: - CAPE < 1000 J/kg: Weak convection - 1000–2500 J/kg: Moderate storms - CAPE > 2500 J/kg: Severe thunderstorms, tornadoes
Next model will connect atmospheric profiles to remote sensing—how satellites measure temperature and moisture from space using spectral absorption.
The lapse rate is the vertical gradient of temperature:
\Gamma = -\frac{dT}{dz}
Negative sign: By convention, positive \Gamma means temperature decreases upward.
Typical value: \Gamma = 6.5 K/km = 0.0065 K/m
Stability can also be expressed using potential temperature:
Stable: \frac{d\theta}{dz} > 0 (potential temperature increases with height)
Unstable: \frac{d\theta}{dz} < 0 (potential temperature decreases with height)
Neutral: \frac{d\theta}{dz} = 0 (potential temperature constant)
For adiabatic motion, \theta is conserved, so d\theta/dz = 0 defines neutral.