Last data update: 2014.03.03

R: Fit PE data to Webb et al. 1974
fitWebbR Documentation

Fit PE data to Webb et al. 1974

Description

Calculates photosynthetic-irradiance (PE) parameters (alpha, ek) and fit statistics for PE or rapid light curve data using the model of Webb et al. 1974.

Usage

fitWebb(x, y, normalize = FALSE, lowerlim = c(0, 1), upperlim = c(100, 1000), 
fitmethod=c("Nelder-Mead"))

Arguments

x

PAR data. Units of umol m-2 s-1

y

Photosynthetic rate or PSII quantum efficiency.

normalize

Boolean. Default is FALSE. Set to TRUE if y is PSII quantum efficiency. See Details.

lowerlim

Lower limits of parameter estimates (alpha,ek).

upperlim

Upper limits of parameter estimates (alpha,ek).

fitmethod

The method to be used, one of "Marq", "Port", "Newton", "Nelder-Mead", "BFGS", "CG", "L-BFGS-B", "SANN", "Pseudo". Default is "Nelder-Mead" - see details.

Details

This function passes the data to the function modFIT in the package FME that, through minimization via the specified 'fitmethod' algorithm, determines the optimal model parameters. See the help on modFit algorithms. "Nelder-Mead" is fast and works well for two parameter models, "SANN" is slow and works well for three parameter models.

If normalize is set to FALSE, then data is fit to the equation:

y = alpha ek (1 - exp (-x / ek) )

If normalize is set to TRUE, then data is fit to the same equation but normalized to irradiance:

y = 1 / x alpha ek (1-exp (-x / ek) )

Fitting an irradiance-normalized PE model is useful for modeling the irradiance-dependency of PSII quantum yield, as discussed in Silsbe and Kromkamp 2012. If normalize is set to TRUE, x values eqaul to 0 are set to 1e-6.

Value

alpha

Parameter estimate, standard error, t-value and p-value

ek

Parameter estimate, standard error, t-value and p-value

ssr

Sum of square residuals of fit

residuals

Residuals of fit

model

Webb

normalize

Boolean. TRUE or FALSE as passed to the function

Note

Parameter units are dependent on the input.

If normalize=FALSE, then alpha has unit of y/x and ek has units of x.

If normalize=TRUE, then alpha has unit of y and ek has units of x.

Author(s)

Greg M. Silsbe

Sairah Y. Malkin

References

Silsbe, G.M., and Kromkamp, J.C. 2012 Modeling the irradiance dependency of the quantum efficiency of photosynthesis. Limnology and Oceanography: Methods. 10, 642–652.

Webb, W.L., Newton, M., and Starr, D. 1974 Carbon dioxide exchange of Alnus rubra: A mathematical model. Oecologia. 17, 281–291.

See Also

fitJP, fitPGH, fitEP

Examples


####   Single PE dataset example    ####

PAR <- c(5,10,20,50,100,150,250,400,800,1200) #umol m-2 s-1
Pc  <- c(1.02,1.99,3.85,9.2,15.45,21.3,28.8,34.5,39.9,38.6) #mg C m-3 hr-1

#Call function
myfit <- fitWebb(PAR, Pc)

#Plot input data
plot(PAR, Pc, xlim=c(0,1500), ylim=c(0,40), xlab="PAR", ylab="Pc")

#Add model fit
E <- seq(0,1500,by=1)
with(myfit, {
  P <- alpha[1] * ek[1] * (1 - exp (-E / ek[1]))
  lines(E,P)
})


####   Multiple RLC dataset example    ####

data('rlcs')

names(rlcs) #id is unique to a given RLC

id <- unique(rlcs$id)  #Hold unique ids
n  <- length(id)       #5 unique RLCs

#Setup arrays and vectors to store data
#All RLCs in example have the same 11 PAR steps in the same order

alpha     <- array(NA,c(n,4))
ek        <- array(NA,c(n,4))
ssr       <- rep(NA,n)
residuals <- array(NA,c(n,11))   

#Loop through individual RLCs

for (i in 1:n){
  
  #Get ith data
  PAR  <- rlcs$PAR[rlcs$id==id[i]]
  FqFm <- rlcs$FqFm[rlcs$id==id[i]]
  
  #Call function
  myfit <- fitWebb(PAR,FqFm,normalize=TRUE)
  
  #Store data
  alpha[i,]     <- myfit$alpha
  ek[i,]        <- myfit$ek
  ssr[i]        <- myfit$ssr
  residuals[i,] <- myfit$residuals
}

Results