aerodynamic.conductance: Aerodynamic Conductance

View source: R/aerodynamic_conductance.r

aerodynamic.conductanceR Documentation

Aerodynamic Conductance

Description

Bulk aerodynamic conductance, including options for the boundary layer conductance formulation and stability correction functions.

Usage

aerodynamic.conductance(
  data,
  Tair = "Tair",
  pressure = "pressure",
  wind = "wind",
  ustar = "ustar",
  H = "H",
  zr,
  zh,
  d,
  z0m = NULL,
  Dl,
  N = 2,
  fc = NULL,
  LAI,
  Cd = 0.2,
  hs = 0.01,
  wind_profile = FALSE,
  stab_correction = TRUE,
  stab_formulation = c("Dyer_1970", "Businger_1971"),
  Rb_model = c("Thom_1972", "Choudhury_1988", "Su_2001", "constant_kB-1"),
  kB_h = NULL,
  Sc = NULL,
  Sc_name = NULL,
  constants = bigleaf.constants()
)

Arguments

data

Data.frame or matrix containing all required variables

Tair

Air temperature (deg C)

pressure

Atmospheric pressure (kPa)

wind

Wind speed (m s-1)

ustar

Friction velocity (m s-1)

H

Sensible heat flux (W m-2)

zr

Instrument (reference) height (m)

zh

Canopy height (m)

d

Zero-plane displacement height (m)

z0m

Roughness length for momentum (m), optional; if not provided, it is estimated from roughness.parameters (method="wind_profile"). Only used if wind_profile = TRUE and/or Rb_model = "Su_2001" or "Choudhury_1988".

Dl

Characteristic leaf dimension (m) (if Rb_model = "Su_2001") or leaf width (if Rb_model = "Choudhury_1988"); ignored otherwise.

N

Number of leaf sides participating in heat exchange (1 or 2); only used if Rb_model = "Su_2001". Defaults to 2.

fc

Fractional vegetation cover (-); only used if Rb_model = "Su_2001". See Details.

LAI

One-sided leaf area index (m2 m-2); only used if Rb_model = "Choudhury_1988" or "Su_2001".

Cd

Foliage drag coefficient (-); only used if Rb_model = "Su_2001".

hs

Roughness length of bare soil (m); only used if Rb_model = "Su_2001".

wind_profile

Should Ga for momentum be calculated based on the logarithmic wind profile equation? Defaults to FALSE.

stab_correction

Should stability correction be applied? Defaults to TRUE. Ignored if wind_profile = FALSE.

stab_formulation

Stability correction function. Either "Dyer_1970" (default) or "Businger_1971". Ignored if wind_profile = FALSE or if stab_correction = FALSE.

Rb_model

Boundary layer resistance formulation. One of "Thom_1972","Choudhury_1988","Su_2001","constant_kB-1".

kB_h

kB-1 value for heat transfer; only used if Rb_model = "constant_kB-1"

Sc

Optional: Schmidt number of additional quantities to be calculated

Sc_name

Optional: Name of the additional quantities, has to be of same length than Sc_name

constants

k - von Karman constant
cp - specific heat of air for constant pressure (J K-1 kg-1)
Kelvin - conversion degree Celsius to Kelvin
g - gravitational acceleration (m s-2)
pressure0 - reference atmospheric pressure at sea level (Pa)
Tair0 - reference air temperature (K)
Sc_CO2 - Schmidt number for CO2
Pr - Prandtl number (if Sc is provided)

Details

Aerodynamic conductance for heat (Ga_h) is calculated as:

Ga_h = 1 / (Ra_m + Rb_h)

where Ra_m is the aerodynamic resistance for momentum and Rb the (quasi-laminar) canopy boundary layer resistance ('excess resistance').

The aerodynamic resistance for momentum Ra_m is given by:

Ra_m = u/ustar^2

Note that this formulation accounts for changes in atmospheric stability, and does not require an additional stability correction function.

An alternative method to calculate Ra_m is provided (calculated if wind_profile = TRUE):

Ra_m = (ln((zr - d)/z0m) - psi_h) / (k ustar)

If the roughness parameters z0m and d are unknown, they can be estimated using roughness.parameters. The argument stab_formulation determines the stability correction function used to account for the effect of atmospheric stability on Ra_m (Ra_m is lower for unstable and higher for stable stratification). Stratification is based on a stability parameter zeta (z-d/L), where z = reference height, d the zero-plane displacement height, and L the Monin-Obukhov length, calculated with Monin.Obukhov.length The stability correction function is chosen by the argument stab_formulation. Options are "Dyer_1970" and "Businger_1971".

The model used to determine the canopy boundary layer resistance for heat (Rb_h) is specified by the argument Rb_model. The following options are implemented: "Thom_1972" is an empirical formulation based on the friction velocity (ustar) (Thom 1972):

Rb_h = 6.2ustar^-0.667

The model by Choudhury & Monteith 1988 (Rb_model = "Choudhury_1988"), calculates Rb_h based on leaf width, LAI and ustar (Note that function argument Dl represents leaf width (w) and not characteristic leaf dimension (Dl) if Rb_model = "Choudhury_1988"):

Gb_h = LAI((0.02/α)*sqrt(u(zh)/w)*(1-exp(-α/2)))

where α is a canopy attenuation coefficient modeled in dependence on LAI, u(zh) is wind speed at canopy height (calculated from wind.profile), and w is leaf width (m). See Gb.Choudhury for further details.

The option Rb_model = "Su_2001" calculates Rb_h based on the physically-based Rb model by Su et al. 2001, a simplification of the model developed by Massman 1999:

kB_h = (k Cd fc^2) / (4Ct ustar/u(zh)) + kBs-1(1 - fc)^2

where Cd is a foliage drag coefficient (defaults to 0.2), fc is fractional vegetation cover, Bs-1 is the inverse Stanton number for bare soil surface, and Ct is a heat transfer coefficient. See Gb.Su for details on the model.

The models calculate the parameter kB^(-1) (in the code referred to as kB_h), which is related to Rb_h:

kB_h = Rb_h * (k * ustar)

From version 0.7.6 onwards, the roughness length for heat (z0h) is added to the output if z0m is available (i.e. provided as input or calculated within this function). z0h is calculated from roughness.length.heat:

z0h = z0m / exp(kB_h)

Rb (and Gb) for water vapor and heat are assumed to be equal in this package. Gb for other quantities x is calculated as (Hicks et al. 1987):

Gb_x = Gb / (Sc_x / Pr)^0.67

where Sc_x is the Schmidt number of quantity x, and Pr is the Prandtl number (0.71).

Value

a data.frame with the following columns:

Ga_m

Aerodynamic conductance for momentum transfer (m s-1)

Ra_m

Aerodynamic resistance for momentum transfer (s m-1)

Ga_h

Aerodynamic conductance for heat transfer (m s-1)

Ra_h

Aerodynamic resistance for heat transfer (s m-1)

Gb_h

Canopy boundary layer conductance for heat transfer (m s-1)

Rb_h

Canopy boundary layer resistance for heat transfer (s m-1)

kB_h

kB^(-1) parameter for heat transfer

z0h

Roughness length for heat (m) (NA if not input z0m not provided as input or not estimated in this function)

zeta

Stability parameter 'zeta' (NA if wind_profile = FALSE)

psi_h

Integrated stability correction function (NA if wind_profile = FALSE)

Ra_CO2

Aerodynamic resistance for CO2 transfer (s m-1)

Ga_CO2

Aerodynamic conductance for CO2 transfer (m s-1)

Gb_CO2

Canopy boundary layer conductance for CO2 transfer (m s-1)

Ga_Sc_name

Aerodynamic conductance for Sc_name (m s-1). Only added if Sc_name and the respective Sc are provided

Gb_Sc_name

Boundary layer conductance for Sc_name (m s-1). Only added if Sc_name and the respective Sc are provided

Note

Input variables such as LAI, Dl, or zh can be either constants, or vary with time (i.e. vectors of the same length as data).

Note that boundary layer conductance to water vapor transfer (Gb_w) is often assumed to equal Gb_h. This assumption is also made in this R package, for example in the function surface.conductance.

If the roughness length for momentum (z0m) is not provided as input, it is estimated from the function roughness.parameters within wind.profile if wind_profile = TRUE and/or Rb_model = "Su_2001" or "Choudhury_1988" The roughness.parameters function estimates a single z0m value for the entire time period! If a varying z0m value (e.g. across seasons or years) is required, z0m should be provided as input argument.

References

Verma, S., 1989: Aerodynamic resistances to transfers of heat, mass and momentum. In: Estimation of areal evapotranspiration, IAHS Pub, 177, 13-20.

Verhoef, A., De Bruin, H., Van Den Hurk, B., 1997: Some practical notes on the parameter kB-1 for sparse vegetation. Journal of Applied Meteorology, 36, 560-572.

Hicks, B.B., Baldocchi, D.D., Meyers, T.P., Hosker, J.R., Matt, D.R., 1987: A preliminary multiple resistance routine for deriving dry deposition velocities from measured quantities. Water, Air, and Soil Pollution 36, 311-330.

Monteith, J.L., Unsworth, M.H., 2008: Principles of environmental physics. Third Edition. Elsevier Academic Press, Burlington, USA.

See Also

Gb.Thom, Gb.Choudhury, Gb.Su for calculations of Rb / Gb only

Examples

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))   
 
# simple calculation of Ga  
aerodynamic.conductance(df,Rb_model="Thom_1972") 

# calculation of Ga using a model derived from the logarithmic wind profile
aerodynamic.conductance(df,Rb_model="Thom_1972",zr=40,zh=25,d=17.5,z0m=2,wind_profile=TRUE) 

# simple calculation of Ga_m, but a physically based canopy boundary layer model
aerodynamic.conductance(df,Rb_model="Su_2001",zr=40,zh=25,d=17.5,Dl=0.05,N=2,fc=0.8)


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