surface.conductance {bigleaf} | R Documentation |
Surface Conductance to Water Vapor
Description
Calculates surface conductance to water vapor from the inverted Penman-Monteith equation (by default) or from a simple flux-gradient approach.
Usage
surface.conductance(
data,
Tair = "Tair",
pressure = "pressure",
Rn = "Rn",
G = NULL,
S = NULL,
VPD = "VPD",
LE = "LE",
Ga = "Ga_h",
missing.G.as.NA = FALSE,
missing.S.as.NA = FALSE,
formulation = c("Penman-Monteith", "Flux-Gradient"),
Esat.formula = c("Sonntag_1990", "Alduchov_1996", "Allen_1998"),
constants = bigleaf.constants()
)
Arguments
data |
Data.frame or matrix containing all required input variables |
Tair |
Air temperature (deg C) |
pressure |
Atmospheric pressure (kPa) |
Rn |
Net radiation (W m-2) |
G |
Ground heat flux (W m-2); optional |
S |
Sum of all storage fluxes (W m-2); optional |
VPD |
Vapor pressure deficit (kPa) |
LE |
Latent heat flux (W m-2) |
Ga |
Aerodynamic conductance to heat/water vapor (m s-1) |
missing.G.as.NA |
if |
missing.S.as.NA |
if |
formulation |
Formulation used. Either |
Esat.formula |
Optional: formula to be used for the calculation of esat and the slope of esat.
One of |
constants |
cp - specific heat of air for constant pressure (J K-1 kg-1) |
Details
If formulation = "Penman-Monteith"
(the default), surface conductance (Gs) in m s-1
is calculated from the inverted Penman-Monteith equation:
Gs = ( LE * Ga * \gamma ) / ( \Delta * A + \rho * cp * Ga * VPD - LE * ( \Delta + \gamma ) )
Where \gamma
is the psychrometric constant (kPa K-1), \Delta
is the slope of the
saturation vapor pressure curve (kPa K-1), and \rho
is air density (kg m-3).
Available energy (A) is defined as A = Rn - G - S. If G and/or S are not provided, A = Rn.
By default, any missing data in G and S are set to 0. If missing.S.as.NA = TRUE
or missing.S.as.NA = TRUE
, Gs will give NA
for these timesteps.
If formulation="Flux-Gradient"
, Gs (in mol m-2 s-1) is calculated from VPD and ET only:
Gs = ET/pressure * VPD
where ET is in mol m-2 s-1. Note that this formulation assumes fully coupled conditions (i.e. Ga = inf). This formulation is equivalent to the inverted form of Eq.6 in McNaughton & Black 1973:
Gs = LE * \gamma / (\rho * cp * VPD)
which gives Gs in m s-1. Note that Gs > Gc (canopy conductance) under conditions when a significant fraction of ET comes from interception or soil evaporation.
If pressure
is not available, it can be approximated by elevation using the
function pressure.from.elevation
Value
a dataframe with the following columns:
Gs_ms |
Surface conductance in m s-1 |
Gs_mol |
Surface conductance in mol m-2 s-1 |
References
Monteith, J., 1965: Evaporation and environment. In Fogg, G. E. (Ed.), The state and movement of water in living organisms (pp.205-234). 19th Symp. Soc. Exp. Biol., Cambridge University Press, Cambridge
McNaughton, K.G., Black, T.A., 1973: A study of evapotranspiration from a Douglas Fir forest using the energy balance approach. Water Resources Research 9, 1579-1590.
Examples
## filter data to ensure that Gs is a meaningful proxy to canopy conductance (Gc)
DE_Tha_Jun_2014_2 <- filter.data(DE_Tha_Jun_2014,quality.control=FALSE,
vars.qc=c("Tair","precip","VPD","H","LE"),
filter.growseas=FALSE,filter.precip=TRUE,
filter.vars=c("Tair","PPFD","ustar","LE"),
filter.vals.min=c(5,200,0.2,0),
filter.vals.max=c(NA,NA,NA,NA),NA.as.invalid=TRUE,
quality.ext="_qc",good.quality=c(0,1),
missing.qc.as.bad=TRUE,GPP="GPP",doy="doy",
year="year",tGPP=0.5,ws=15,min.int=5,precip="precip",
tprecip=0.1,precip.hours=24,records.per.hour=2)
# calculate Gs based on a simple gradient approach
Gs_gradient <- surface.conductance(DE_Tha_Jun_2014_2,Tair="Tair",pressure="pressure",
VPD="VPD",formulation="Flux-Gradient")
summary(Gs_gradient)
# calculate Gs from the the inverted PM equation (now Rn, and Ga are needed),
# using a simple estimate of Ga based on Thom 1972
Ga <- aerodynamic.conductance(DE_Tha_Jun_2014_2,Rb_model="Thom_1972")[,"Ga_h"]
# if G and/or S are available, don't forget to indicate (they are ignored by default).
# Note that Ga is not added to the data.frame 'DE_Tha_Jun_2014'
Gs_PM <- surface.conductance(DE_Tha_Jun_2014_2,Tair="Tair",pressure="pressure",
Rn="Rn",G="G",S=NULL,VPD="VPD",Ga=Ga,
formulation="Penman-Monteith")
summary(Gs_PM)
# now add Ga to the data.frame 'DE_Tha_Jun_2014' and repeat
DE_Tha_Jun_2014_2$Ga <- Ga
Gs_PM2 <- surface.conductance(DE_Tha_Jun_2014_2,Tair="Tair",pressure="pressure",
Rn="Rn",G="G",S=NULL,VPD="VPD",Ga="Ga",
formulation="Penman-Monteith")
# note the difference to the previous version (Ga="Ga")
summary(Gs_PM2)