View source: R/surface_conditions.r
surface.conditions | R Documentation |
Calculates meteorological conditions at the big-leaf surface by inverting bulk transfer equations for water, energy, and carbon fluxes.
surface.conditions( data, Tair = "Tair", pressure = "pressure", LE = "LE", H = "H", VPD = "VPD", Ga = "Ga_h", calc.surface.CO2 = FALSE, Ca = "Ca", Ga_CO2 = "Ga_CO2", NEE = "NEE", Esat.formula = c("Sonntag_1990", "Alduchov_1996", "Allen_1998"), constants = bigleaf.constants() )
data |
Data.frame or matrix containing all required input variables |
Tair |
Air temperature (deg C) |
pressure |
Atmospheric pressure (kPa) |
LE |
Latent heat flux (W m-2) |
H |
Sensible heat flux (W m-2) |
VPD |
Vapor pressure deficit (kPa) |
Ga |
Aerodynamic conductance for heat/water vapor (m s-1) |
calc.surface.CO2 |
Calculate surface CO2 concentration? Defaults to |
Ca |
Atmospheric CO2 concentration (mol mol-1). Required if |
Ga_CO2 |
Aerodynamic conductance for CO2 (m s-1). Required if |
NEE |
Net ecosystem exchange (umol m-2 s-1). Required if |
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) |
Canopy surface temperature and humidity are calculated by inverting bulk transfer equations of sensible and latent heat, respectively. 'Canopy surface' in this case refers to the surface of the big-leaf (i.e. at height d + z0h; the apparent sink of sensible heat and water vapor). Aerodynamic canopy surface temperature is given by:
Tsurf = Tair + H / (ρ * cp * Ga)
where ρ is air density (kg m-3). Vapor pressure at the canopy surface is:
esurf = e + (LE * γ)/(Ga * ρ * cp)
where γ is the psychrometric constant (kPa K-1). Vapor pressure deficit (VPD) at the canopy surface is calculated as:
VPD_surf = Esat_surf - esurf
CO2 concentration at the canopy surface is given by:
Ca_surf = Ca + NEE / Ga_CO2
Note that Ga is assumed to be equal for water vapor and sensible heat.
Ga is further assumed to be the inverse of the sum of the turbulent part
and the canopy boundary layer conductance (1/Ga = 1/Ga_m + 1/Gb;
see aerodynamic.conductance
). Ga_CO2, the aerodynamic conductance
for CO2 is also calculated by aerodynamic.conductance
.
If Ga is replaced by Ga_m (i.e. only the turbulent conductance part),
the results of the functions represent conditions outside the canopy
boundary layer, i.e. in the canopy airspace.
a data.frame with the following columns:
Tsurf |
Surface temperature (deg C) |
esat_surf |
Saturation vapor pressure at the surface (kPa) |
esurf |
vapor pressure at the surface (kPa) |
VPD_surf |
vapor pressure deficit at the surface (kPa) |
qsurf |
specific humidity at the surface (kg kg-1) |
rH_surf |
relative humidity at the surface (-) |
Ca_surf |
CO2 concentration at the surface (umol mol-1) |
The following sign convention for NEE is employed (relevant if
calc.surface.CO2 = TRUE
):
negative values of NEE denote net CO2 uptake by the ecosystem.
Knauer, J. et al., 2018: Towards physiologically meaningful water-use efficiency estimates from eddy covariance data. Global Change Biology 24, 694-710.
Blanken, P.D. & Black, T.A., 2004: The canopy conductance of a boreal aspen forest, Prince Albert National Park, Canada. Hydrological Processes 18, 1561-1578.
Shuttleworth, W. J., Wallace, J.S., 1985: Evaporation from sparse crops- an energy combination theory. Quart. J. R. Met. Soc. 111, 839-855.
# calculate surface temperature, water vapor, VPD etc. at the surface # for a given temperature and turbulent fluxes, and under different # aerodynamic conductance. surface.conditions(Tair=25,pressure=100,LE=100,H=200,VPD=1.2,Ga=c(0.02,0.05,0.1)) # now calculate also surface CO2 concentration surface.conditions(Tair=25,pressure=100,LE=100,H=200,VPD=1.2,Ga=c(0.02,0.05,0.1), Ca=400,Ga_CO2=c(0.02,0.05,0.1),NEE=-20,calc.surface.CO2=TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.