aerodynamic.conductance {bigleaf}  R 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_kB1"),
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 s1) 
ustar 
Friction velocity (m s1) 
H 
Sensible heat flux (W m2) 
zr 
Instrument (reference) height (m) 
zh 
Canopy height (m) 
d 
Zeroplane displacement height (m) 
z0m 
Roughness length for momentum (m), optional; if not provided, it is estimated from 
Dl 
Characteristic leaf dimension (m) (if 
N 
Number of leaf sides participating in heat exchange (1 or 2); only used if 
fc 
Fractional vegetation cover (); only used if 
LAI 
Onesided leaf area index (m2 m2); only used if 
Cd 
Foliage drag coefficient (); only used if 
hs 
Roughness length of bare soil (m); only used if 
wind_profile 
Should Ga for momentum be calculated based on the logarithmic wind profile equation?
Defaults to 
stab_correction 
Should stability correction be applied? Defaults to 
stab_formulation 
Stability correction function. Either 
Rb_model 
Boundary layer resistance formulation. One of 
kB_h 
kB1 value for heat transfer; only used if 
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

constants 
k  von Karman constant 
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 (quasilaminar) 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 (zd/L),
where z = reference height, d the zeroplane displacement height, and L the MoninObukhov 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/\alpha)*sqrt(u(zh)/w)*(1exp(\alpha/2)))
where \alpha
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 physicallybased 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)) + kBs1(1  fc)^2
where Cd is a foliage drag coefficient (defaults to 0.2), fc is fractional
vegetation cover, Bs1 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 s1) 
Ra_m 
Aerodynamic resistance for momentum transfer (s m1) 
Ga_h 
Aerodynamic conductance for heat transfer (m s1) 
Ra_h 
Aerodynamic resistance for heat transfer (s m1) 
Gb_h 
Canopy boundary layer conductance for heat transfer (m s1) 
Rb_h 
Canopy boundary layer resistance for heat transfer (s m1) 
kB_h 
kB^(1) parameter for heat transfer 
z0h 
Roughness length for heat (m) (NA if not input 
zeta 
Stability parameter 'zeta' (NA if 
psi_h 
Integrated stability correction function (NA if 
Ra_CO2 
Aerodynamic resistance for CO2 transfer (s m1) 
Ga_CO2 
Aerodynamic conductance for CO2 transfer (m s1) 
Gb_CO2 
Canopy boundary layer conductance for CO2 transfer (m s1) 
Ga_Sc_name 
Aerodynamic conductance for 
Gb_Sc_name 
Boundary layer conductance for 
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, 1320.
Verhoef, A., De Bruin, H., Van Den Hurk, B., 1997: Some practical notes on the parameter kB1 for sparse vegetation. Journal of Applied Meteorology, 36, 560572.
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, 311330.
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)