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 Type | z₀ (m) |
|---|---|
| Ice, mud flats | 10⁻⁵ |
| Open sea | 10⁻⁴ |
| Grass | 10⁻² - 10⁻¹ |
| Suburban | 0.5 - 2 |
| Urban/forest | 1 - 5 |
Interactive Simulation: Ekman Spiral Visualization
PythonPlots 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.
Click Run to execute the Python code
Code will be executed with Python 3 on the server