Wind Profile: Atmospheric Boundary Layer Speed vs Height

simulator beginner ~8 min
Loading simulation...
V(50m) = 33.1 m/s — power law with α = 0.16

At 50 m height with reference speed 25 m/s and α=0.16 (open suburban terrain), the power law gives V=33.1 m/s. The logarithmic profile gives a slightly different value depending on roughness length z₀.

Formula

V(z) = V_ref × (z / z_ref)^α (power law)
V(z) = (u* / κ) × ln(z / z₀) (logarithmic law)
u* = κ × V_ref / ln(z_ref / z₀) (friction velocity)

Wind Grows With Height

At ground level, friction from terrain — buildings, trees, hills — slows the wind dramatically. Rise above these obstructions and wind speed increases, following a predictable profile determined by the roughness of the underlying surface. This atmospheric boundary layer extends from the ground to the gradient height (typically 300-600 m), above which the wind blows at its full geostrophic speed unaffected by surface friction. Understanding this profile is essential for designing every structure that faces the wind.

The Power Law Profile

The simplest and most widely used model is the power law: V(z) = V_ref × (z/z_ref)^α. The exponent α captures terrain roughness in a single parameter. For open water, α ≈ 0.10 — wind increases gently, already strong near the surface. For dense urban centers, α ≈ 0.35 — wind is heavily suppressed near the ground but increases steeply with height. Building codes worldwide (ASCE 7, Eurocode 1, AS/NZS 1170) use terrain categories that correspond to specific α values to determine design wind speeds at any height.

The Logarithmic Profile

Derived from turbulent boundary layer theory, the log-law V(z) = (u*/κ) × ln(z/z₀) has a stronger physical basis. Here u* is the friction velocity, κ ≈ 0.41 is von Kármán's constant, and z₀ is the surface roughness length. The log profile is more accurate near the surface and provides the friction velocity — a key parameter for calculating turbulence intensity and wind loads. This simulation shows both profiles side by side so you can compare their predictions at your target height.

Design Implications

The wind profile directly determines structural design loads. A building in open terrain faces higher wind at low elevations than the same building downtown — but the downtown building may face higher loads at the top because the urban boundary layer concentrates wind speed increase at upper levels. Wind turbine designers use the profile to estimate energy production — a 10% increase in hub height can increase annual energy by 5-7%. The profile also matters for air quality: stronger mixing in open terrain disperses pollutants faster than in calm urban canyons.

FAQ

What is the power law wind profile?

The power law V(z) = V_ref × (z/z_ref)^α is an empirical formula relating wind speed to height. The exponent α depends on terrain roughness: α ≈ 0.10 for open sea, 0.16 for suburbs, 0.28 for city centers. It is widely used in building codes for structural wind loading.

What is surface roughness length z₀?

The roughness length z₀ is a parameter in the logarithmic wind profile that characterizes terrain aerodynamic roughness. Typical values: z₀ ≈ 0.001 m for calm sea, 0.03 m for grassland, 0.1 m for crops, 0.5 m for suburbs, 1-2 m for city centers.

Why does wind speed increase with height?

Surface friction slows wind near the ground. The atmospheric boundary layer extends from the surface to the gradient height (300-600 m) where friction effects vanish. Within this layer, wind speed increases with height following a power law or logarithmic profile determined by surface roughness.

Which profile model is better — power law or log law?

The logarithmic profile has a stronger theoretical basis (derived from turbulent boundary layer theory) and is more accurate in the lower atmosphere. The power law is simpler and widely used in building codes. Both give similar results in the range 10-200 m but diverge at very low and very high heights.

Sources

Embed

<iframe src="https://homo-deus.com/lab/wind-engineering/wind-profile/embed" width="100%" height="400" frameborder="0"></iframe>
View source on GitHub