Turn wind measurements into surface roughness estimates quickly. Compare terrains, set models, and validate assumptions. Get clear outputs, tables, and exports in seconds today.
The neutral logarithmic wind profile over a rough surface is:
U(z) = (u* / k) · ln( (z − d) / z0 )
With stability correction (Monin–Obukhov), a common form is:
U(z) = (u* / k) · [ ln( (z − d) / z0 ) − ψm(z/L) ]
Here, U is wind speed, u* is friction velocity, k is the von Kármán constant, d is displacement height, z0 is roughness length, and L is Obukhov length.
| Scenario | U (m/s) | z (m) | d (m) | u* (m/s) | L (m) | Estimated z0 (m) |
|---|---|---|---|---|---|---|
| Short grass, near-neutral | 5.0 | 10 | 0 | 0.35 | Neutral | 0.033 |
| Crop canopy, stable evening | 4.2 | 20 | 1.5 | 0.28 | 80 | 0.060 |
| Urban edge, unstable afternoon | 6.5 | 30 | 2.0 | 0.55 | -120 | 0.450 |
Values are illustrative. Real sites require careful sensor placement and averaging.
Aerodynamic roughness length (z0) is the height where the extrapolated mean wind speed becomes zero in the logarithmic surface-layer profile. It summarizes how drag from terrain elements transfers momentum from the atmosphere to the surface. Smaller z0 means smoother flow, weaker shear near the ground, and lower form drag.
Common planning values are highly site dependent, but useful ranges include open water around 0.0002 m, flat desert or ice near 0.001–0.005 m, short grass about 0.01–0.05 m, crops and shrubs roughly 0.05–0.3 m, forests often 0.5–2 m, and dense urban areas frequently 1–5 m. These values help set initial conditions before calibration.
Over tall canopies and building arrays, the effective origin of the wind profile shifts upward. Displacement height (d) is commonly approximated as 0.6–0.8 times canopy height for uniform vegetation. Using z - d prevents overstating shear and avoids unrealistically small or large roughness estimates.
Friction velocity (u*) links turbulence to surface stress by τ = ρ u*². Field campaigns often derive u* from eddy-covariance momentum flux or similarity methods. When u* is underestimated, the calculator will return overly small z0, so quality control is essential.
The neutral log profile works best when heat flux is small and turbulence is mechanically driven. When stability is important, Monin–Obukhov similarity introduces a correction term ψm(z/L). Positive L indicates stable stratification, typically reducing turbulent mixing, while negative L indicates unstable conditions that enhance mixing.
The log-layer is usually valid above immediate roughness elements and below the outer layer. A practical rule is to place sensors well above the roughness sublayer and keep z - d much larger than z0. Using multiple heights and averaging over 10–30 minutes improves robustness for operational datasets.
Roughness estimates are sensitive to wind speed, u*, and height placement. Small errors in u* can cause exponential changes in z0 when solving the profile. Report the input set alongside results and compare against expected surface ranges to catch outliers early.
z0 supports dispersion modeling, evapotranspiration estimates, air–surface exchange studies, and wind-energy resource assessment. It also improves parameter choices in numerical weather prediction and boundary-layer schemes. With consistent inputs and documented assumptions, the exported CSV and PDF outputs become audit-ready records for projects.
1) What is a “good” z0 value for my site?
Use typical ranges as a starting point: water ~0.0002 m, grass 0.01–0.05 m, crops 0.05–0.3 m, forest 0.5–2 m, urban 1–5 m. Calibrate with local data.
2) Why must z be greater than d?
The profile uses the effective height z - d. If z ≤ d, the effective height is zero or negative, making the logarithm invalid and producing non-physical results.
3) When should I enable stability correction?
Enable it when strong heating or cooling affects turbulence, such as sunny afternoons, calm nights, or over snow and deserts. If you do not have a reliable Obukhov length, neutral mode is safer.
4) Can I compute wind speed at another height?
Yes. Use “Scale wind speed between two heights” with U1, z1, and z2. This keeps z0 and d consistent for vertical extrapolation.
5) What if my calculated z0 looks unrealistic?
Check units, confirm u* quality, and ensure z - d is much larger than z0. Compare against typical surface ranges and repeat using averaged measurements.
6) Does this replace a full multi-level profile fit?
It provides a strong single-point or ratio-based estimate, but multi-level fitting is better when you have several heights. Multiple levels reduce sensitivity and help identify roughness sublayer issues.
7) What is the default k value and can I change it?
The calculator uses k = 0.40 by default. You may change it for specialized studies, but using 0.40 keeps results consistent with many boundary-layer and micrometeorology applications.
Important Note: All the Calculators listed in this site are for educational purpose only and we do not guarentee the accuracy of results. Please do consult with other sources as well.