C4 photosynthesis simulation (von Caemmerer model)

Usage

eC4photo(Qp, airtemp, rh, ca = 380, oa = 210, vcmax = 60, vpmax = 120, vpr = 80, jmax = 400)

Arguments

Qp
quantum flux (micro mol m-2 s-1).
airtemp
air temperature (Celsius).
rh
relative humidity in proportion (e.g. 0.7).
ca
atmospheric carbon dioxide concentration (ppm or microbar) (e.g. 380).
oa
atmospheric oxygen concentration (mbar) (e.g. 210).
vcmax
Maximum rubisco activity (micro mol m-2 s-1).
vpmax
Maximum PEP carboxylase activity (micro mol m-2 s-1).
vpr
PEP regeneration rate (micro mol m-2 s-1).
jmax
Maximal electron transport rate (micromol electrons m-2 s-1).

Value

results of call to C function eC4photo_sym

a list structure with components

Description

Simulation of C4 photosynthesis based on the equations proposed by von Caemmerer (2000). At this point assimilation and stomatal conductance are not coupled and although, for example a lower relative humidity will lower stomatal conductance it will not affect assimilation. Hopefully, this will be improved in the future.

Details

The equations are taken from von Caemmerer (2000) for the assimilation part and stomatal conductance is based on FORTRAN code by Joe Berry (translated to C).

References

Susanne von Caemmerer (2000) Biochemical Models of Leaf Photosynthesis. CSIRO Publishing. (In particular chapter 4).

Examples

## <strong>Not run</strong>: # ## A simple example for the use of eC4photo # ## This is the model based on von Caemmerer # ## First we can compare the effect of varying # ## Jmax. Notice that this is different from # ## varying alpha in the Collatz model # # Qps <- seq(0,2000,10) # Tls <- seq(0,55,5) # rhs <- c(0.7) # dat1 <- data.frame(expand.grid(Qp=Qps,Tl=Tls,RH=rhs)) # res1 <- eC4photo(dat1$Qp,dat1$Tl,dat1$RH) # res2 <- eC4photo(dat1$Qp,dat1$Tl,dat1$RH,jmax=700) # # ## Plot comparing Jmax 400 vs. 700 for a range of conditions # xyplot(res1$Assim + res2$Assim ~ Qp | factor(Tl) , data = dat1, # type='l',col=c('blue','green'),lwd=2, # ylab=expression(paste('Assimilation (', # mu,mol,' ',m^-2,' ',s^-1,')')), # xlab=expression(paste('Quantum flux (', # mu,mol,' ',m^-2,' ',s^-1,')')), # key=list(text=list(c('Jmax 400','Jmax 700')), # lines=TRUE,col=c('blue','green'),lwd=2)) # # ## Second example is the effect of varying Vcmax # # Qps <- seq(0,2000,10) # Tls <- seq(0,35,5) # rhs <- 0.7 # vcmax <- seq(0,40,5) # dat1 <- data.frame(expand.grid(Qp=Qps,Tl=Tls,RH=rhs,vcmax=vcmax)) # res1 <- numeric(nrow(dat1)) # for(i in 1:nrow(dat1)){ # res1[i] <- eC4photo(dat1$Qp[i],dat1$Tl[i],dat1$RH[i],vcmax=dat1$vcmax[i])$Assim # } # # ## Plot comparing different Vcmax # cols <- rev(heat.colors(9)) # xyplot(res1 ~ Qp | factor(Tl) , data = dat1,col=cols, # groups=vcmax, # type='l',lwd=2, # ylab=expression(paste('Assimilation (', # mu,mol,' ',m^-2,' ',s^-1,')')), # xlab=expression(paste('Quantum flux (', # mu,mol,' ',m^-2,' ',s^-1,')')), # key=list(text=list(as.character(vcmax)), # lines=TRUE,col=cols,lwd=2)) # # # ## <strong>End(Not run)</strong>