3.3 Boundary Layer

The atmospheric boundary layer (ABL) is the lowest 1-2 km of the atmosphere where surface friction significantly affects airflow. Turbulent mixing is the dominant process.

Ekman Spiral

Surface friction reduces wind speed and causes the wind direction to turn toward low pressure. The wind direction changes with height, forming a spiral pattern.

$$u = u_g(1 - e^{-z/D}\cos(z/D))$$

$$v = u_g e^{-z/D}\sin(z/D)$$

D = Ekman depth ≈ 1 km

Surface Wind

~30° toward low pressure from isobars

Ekman Pumping

Convergence in lows → rising motion

Ekman Layer Depth

$$D_E = \pi\sqrt{\frac{2K_m}{f}}$$

Where $K_m$ is the eddy viscosity and $f$ is the Coriolis parameter

Turbulent Mixing

Eddy Viscosity

$$\tau = \rho K_m \frac{\partial u}{\partial z}$$

Km ~ 1-100 m²/s in the boundary layer

Mixing Length

$$l = \kappa z$$

von Kármán constant κ ≈ 0.4

Surface Stress & Friction Velocity

$$\tau_s = \rho\, C_D\, U^2, \quad u_* = \sqrt{\frac{\tau_s}{\rho}}$$

$C_D$ is the drag coefficient ($\sim 10^{-3}$ over ocean, $\sim 10^{-2}$ over rough terrain)

Logarithmic Wind Profile

$$u(z) = \frac{u_*}{\kappa}\ln\left(\frac{z}{z_0}\right)$$

u* = friction velocity, z₀ = roughness length

Monin-Obukhov Similarity

$$L = -\frac{u_*^3\, \bar{\theta}_v}{\kappa\, g\, \overline{w'\theta_v'}}$$

Monin-Obukhov length: $L > 0$ (stable), $L < 0$ (unstable), $|L| \to \infty$ (neutral)

Convective Mixed Layer Scaling

$$w_* = \left(\frac{g}{\bar{\theta}_v}\overline{w'\theta_v'}_s\; z_i\right)^{1/3}$$

Convective velocity scale $w_*$ depends on surface buoyancy flux and boundary layer height $z_i$

Surface Typez₀ (m)
Ice, mud flats10⁻⁵
Open sea10⁻⁴
Grass10⁻² - 10⁻¹
Suburban0.5 - 2
Urban/forest1 - 5

Interactive Simulation: Ekman Spiral Visualization

Python

Plots the classic Ekman spiral hodograph and wind profiles for different eddy viscosities, showing how wind veers from the surface to the free atmosphere. Also computes Ekman layer depth as a function of eddy viscosity and latitude.

ekman_spiral_sim.py79 lines

Click Run to execute the Python code

Code will be executed with Python 3 on the server