stomatal.slope {bigleaf} | R Documentation |
Stomatal Slope Parameter "g1"
Description
Estimation of the intrinsic WUE metric "g1" (stomatal slope) from nonlinear regression.
Usage
stomatal.slope(
data,
Tair = "Tair",
pressure = "pressure",
GPP = "GPP",
Gs = "Gs_mol",
VPD = "VPD",
Ca = "Ca",
Rleaf = NULL,
model = c("USO", "Ball&Berry", "Leuning"),
robust.nls = FALSE,
nmin = 40,
fitg0 = FALSE,
g0 = 0,
fitD0 = FALSE,
D0 = 1.5,
Gamma = 50,
missing.Rleaf.as.NA = FALSE,
constants = bigleaf.constants(),
...
)
Arguments
data |
Data.frame or matrix containing all required columns |
Tair |
Air (or surface) temperature (deg C) |
pressure |
Atmospheric pressure (kPa) |
GPP |
Gross primary productivity (umol CO2 m-2 s-1) |
Gs |
Surface conductance to water vapor (mol m-2 s-1) |
VPD |
Vapor pressure deficit (kPa) |
Ca |
Atmospheric CO2 concentration (air or surface) (umol mol-1) |
Rleaf |
Ecosystem respiration stemming from leaves (umol CO2 m-2 s-1); defaults to 0 |
model |
Stomatal model used. One of |
robust.nls |
Use robust nonlinear regression ( |
nmin |
Minimum number of data required to perform the fit; defaults to 40. |
fitg0 |
Should g0 and g1 be fitted simultaneously? |
g0 |
Minimum stomatal conductance (mol m-2 s-1); ignored if |
fitD0 |
Should D0 be fitted along with g1 (and g0 if |
D0 |
Stomatal sensitivity parameter to VPD; only used if |
Gamma |
Canopy CO2 compensation point (umol mol-1); only used if |
missing.Rleaf.as.NA |
if Rleaf is provided, should missing values be treated as |
constants |
Kelvin - conversion degree Celsius to Kelvin |
... |
Details
All stomatal models were developed at leaf-level, but its parameters can also be estimated at ecosystem level (but be aware of caveats).
The unified stomatal optimization (USO) model is given by (Medlyn et al. 2011):
gs = g0 + 1.6*(1.0 + g1/sqrt(VPD)) * An/ca
The semi-empirical model by Ball et al. 1987 is defined as:
gs = g0 + g1* ((An * rH) / ca)
Leuning 1995 suggested a revised version of the Ball&Berry model:
gs = g0 + g1*An / ((ca - \Gamma) * (1 + VPD/D0))
where \Gamma
is by default assumed to be constant, but likely varies with temperature and among
plant species.
The equations above are valid at leaf-level. At ecosystem level, An is replaced by GPP (or GPP - Rleaf,
where Rleaf is leaf respiration), and gs (stomatal conductance) by Gs (surface conductance).
The parameters in the models are estimated using nonlinear regression (nls
) if
robust.nls = FALSE
and weighted nonlinear regression if robust.nls = TRUE
.
The weights are calculated from nlrob
, and nls
is used for the actual fitting.
Alternatively to measured VPD and Ca (i.e. conditions at instrument height), conditions at
the big-leaf surface can be provided. Those can be calculated using surface.conditions
.
Value
A nls
model object, containing information on the fitted parameters, their uncertainty range,
model fit, etc.
References
Medlyn B.E., et al., 2011: Reconciling the optimal and empirical approaches to modelling stomatal conductance. Global Change Biology 17, 2134-2144.
Ball T.J., Woodrow I.E., Berry J.A. 1987: A model predicting stomatal conductance and its contribution to the control of photosynthesis under different environmental conditions. In: Progress in Photosynthesis Research, edited by J.Biggins, pp. 221-224, Martinus Nijhoff Publishers, Dordrecht, Netherlands.
Leuning R., 1995: A critical appraisal of a combined stomatal-photosynthesis model for C3 plants. Plant, Cell and Environment 18, 339-355.
Knauer, J. et al., 2018: Towards physiologically meaningful water-use efficiency estimates from eddy covariance data. Global Change Biology 24, 694-710.
See Also
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 from the the inverted PM equation
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).
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")[,"Gs_mol"]
### Estimate the stomatal slope parameter g1 using the USO model
mod_USO <- stomatal.slope(DE_Tha_Jun_2014_2,model="USO",GPP="GPP",Gs=Gs_PM,
robust.nls=FALSE,nmin=40,fitg0=FALSE)
### Use robust regression to minimize influence of outliers in Gs
mod_USO <- stomatal.slope(DE_Tha_Jun_2014_2,model="USO",GPP="GPP",Gs=Gs_PM,
robust.nls=TRUE,nmin=40,fitg0=FALSE)
### Estimate the same parameter from the Ball&Berry model and prescribe g0
mod_BB <- stomatal.slope(DE_Tha_Jun_2014_2,model="Ball&Berry",GPP="GPP",
robust.nls=FALSE,Gs=Gs_PM,g0=0.01,nmin=40,fitg0=FALSE)
## same for the Leuning model, but this time estimate both g1 and g0 (but fix D0)
mod_Leu <- stomatal.slope(DE_Tha_Jun_2014_2,model="Leuning",GPP="GPP",Gs=Gs_PM,
robust.nls=FALSE,nmin=40,fitg0=FALSE,D0=1.5,fitD0=FALSE)