Wind speed at a given height above the canopy estimated from single-level measurements of wind speed.
wind.profile(data, heights, Tair = "Tair", pressure = "pressure",
ustar = "ustar", H = "H", wind = "wind", zr, zh, d = NULL,
frac_d = 0.7, z0m = NULL, frac_z0m = NULL, estimate_z0m = TRUE,
stab_correction = TRUE, stab_formulation = c("Dyer_1970",
"Businger_1971"), constants = bigleaf.constants())
Data.frame or matrix containing all required variables
Vector with heights for which wind speed is to be calculated.
Air temperature (deg C)
Atmospheric pressure (kPa)
Friction velocity (m s-1)
Sensible heat flux (W m-2)
Wind speed at height zr (m s-1); only used if stab_correction = TRUE
Instrument (reference) height (m)
Canopy height (m)
Zero-plane displacement height (-)
Fraction of displacement height on canopy height (-);
only used if d
is not available
Roughness length (m), optional; only used if stab_correction = FALSE
(default=0.1)
Fraction of roughness length on canopy height (-), optional; only used
if stab_correction = FALSE
(default=0.1), only used if z0m
is not available
Should z0m
be estimated from the logarithmic wind profile? If TRUE
(the default),
arguments z0m
and frac_z0m
are ignored.
See roughness.parameters
for details.
Should stability correction be applied? Defaults to TRUE
Stability correction function used (If stab_correction = TRUE
).
Either "Dyer_1970"
or "Businger_1971"
.
k - von-Karman constant (-) Kelvin - conversion degree Celsius to Kelvin cp - specific heat of air for constant pressure (J K-1 kg-1) g - gravitational acceleration (m s-2)
A data.frame with rows representing time and columns representing heights
as specified in heights
.
The underlying assumption is the existence of a logarithmic wind profile above the height d + z0m (the height at which wind speed mathematically reaches zero according to the Monin-Obhukov similarity theory). In this case, the wind speed at a given height z is given by:
$$u(z) = (ustar/k) * (ln((z - d) / z0m) - \psi{m}$$
The roughness parameters zero-plane displacement height (d) and roughness length (z0m)
can be approximated from roughness.parameters
. \(\psi{m}\) is omitted
if stab_correction = FALSE
(not recommended). If estimate_z0m = TRUE
,
z0m is first estimated from the wind profile equation and then used in the equation
above for the calculation of u(z)
(see e.g. Newman & Klein 2014).
Monteith, J.L., Unsworth, M.H., 2008: Principles of Environmental Physics. 3rd edition. Academic Press, London.
Newman, J.F., Klein, P.M., 2014: The impacts of atmospheric stability on the accuracy of wind speed extrapolation methods. Resources 3, 81-105.
# NOT RUN {
df <- data.frame(Tair=25,pressure=100,wind=c(3,4,5),ustar=c(0.5,0.6,0.65),H=c(200,230,250))
wind.profile(df,heights=seq(18,40,2),zr=40,zh=25,d=16)
# }
Run the code above in your browser using DataLab