wind.profile: Wind Speed at a Given Height in the Surface Layer

View source: R/surface_roughness.r

wind.profileR Documentation

Wind Speed at a Given Height in the Surface Layer

Description

Wind speed at a given height above the canopy estimated from single-level measurements of wind speed.

Usage

wind.profile(
  data,
  z,
  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()
)

Arguments

data

Data.frame or matrix containing all required variables

z

Height above ground for which wind speed is calculated.

Tair

Air temperature (deg C)

pressure

Atmospheric pressure (kPa)

ustar

Friction velocity (m s-1)

H

Sensible heat flux (W m-2)

wind

Wind speed at height zr (m s-1); only used if stab_correction = TRUE

zr

Instrument (reference) height (m)

zh

Canopy height (m)

d

Zero-plane displacement height (-)

frac_d

Fraction of displacement height on canopy height (-); only used if d is not available

z0m

Roughness length (m), optional; only used if stab_correction = FALSE (default=0.1)

frac_z0m

Fraction of roughness length on canopy height (-), optional; only used if z0m is not provided. Default is 0.1.

estimate_z0m

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.

stab_correction

Should stability correction be applied? Defaults to TRUE

stab_formulation

Stability correction function used (If stab_correction = TRUE). Either "Dyer_1970" or "Businger_1971".

constants

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)

Details

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-Obukhov similarity theory). In this case, the wind speed at a given height z is given by:

u(z) = (ustar/k) * (ln((z - d) / z0m) - ψ{m}

The roughness parameters zero-plane displacement height (d) and roughness length (z0m) can be approximated from roughness.parameters. ψ{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).

Value

A vector of wind speed at heights z.

Note

Note that this equation is only valid for z >= d + z0m, and it is not meaningful to calculate values closely above d + z0m. All values in heights smaller than d + z0m will return 0.

References

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.

See Also

roughness.parameters

Examples

heights <- seq(18,40,2)  # heights above ground for which to calculate wind speed
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)) 
ws <- sapply(heights,function(x) wind.profile(df,z=x,zr=40,zh=25,d=16))
colnames(ws) <- paste0(heights,"m")


bigleaf documentation built on Aug. 22, 2022, 9:09 a.m.