Farquhar-von Caemmerer-Berry (FvCB) C3 photosynthesis model

Rubisco-limited assimilation rate

RuBP regeneration-limited assimilation rate

TPU-limited assimilation rate

FvCB(C_chl, pars, unitless = FALSE)

W_carbox(C_chl, pars, unitless = FALSE)

W_regen(C_chl, pars, unitless = FALSE)

W_tpu(C_chl, pars, unitless = FALSE)



Chloroplastic CO2 concentration in Pa of class units


Concatenated parameters (leaf_par, enviro_par, and constants)


Logical. Should units be set? The function is faster when FALSE, but input must be in correct units or else results will be incorrect without any warning.


A list of four values with units umol CO2 / (m^2 s) of class units:

  • W_carbox: Rubisco-limited assimilation rate

  • W_regen: RuBP regeneration-limited assimilation rate

  • W_tpu: TPU-limited assimilation rate

  • A: minimum of W_carbox, W_regen, and W_tpu


Equations following Buckley and Diaz-Espejo (2015):

Rubisco-limited assimilation rate:

$$W_\mathrm{carbox} = V_\mathrm{c,max} C_\mathrm{chl} / (C_\mathrm{chl} + K_\mathrm{m})$$


$$K_\mathrm{m} = K_\mathrm{C} (1 + O / K_\mathrm{O})$$

RuBP regeneration-limited assimilation rate:

$$W_\mathrm{regen} = J C_\mathrm{chl} / (4 C_\mathrm{chl} + 8 \Gamma*)$$

where \(J\) is a function of PPFD, obtained by solving the equation:

$$0 = \theta_J J ^ 2 - J (J_\mathrm{max} + \phi_J PPFD) + J_\mathrm{max} \phi_J PPFD$$

TPU-limited assimilation rate:

$$W_\mathrm{tpu} = 3 V_\mathrm{tpu} C_\mathrm{chl} / (C_\mathrm{chl} - \Gamma*)$$

\(C_\mathrm{chl}\)C_chlchloroplastic CO2 concentrationPainput
\(\Gamma*\)gamma_starchloroplastic CO2 compensation point (T_leaf)Pacalculated
\(J_\mathrm{max}\)J_maxpotential electron transport (T_leaf)\(\mu\)mol CO2 / (m\(^2\) s)calculated
\(K_\mathrm{C}\)K_CMichaelis constant for carboxylation (T_leaf)\(\mu\)mol / molcalculated
\(K_\mathrm{O}\)K_OMichaelis constant for oxygenation (T_leaf)\(\mu\)mol / molcalculated
\(O\)Oatmospheric O2 concentrationkPa21.27565
\(\phi_J\)phi_Jinitial slope of the response of J to PPFDnone0.331
PPFDPPFDphotosynthetic photon flux densityumol quanta / (m^2 s)1500
\(R_\mathrm{d}\)R_dnonphotorespiratory CO2 release (T_leaf)\(\mu\)mol CO2 / (m\(^2\) s)calculated
\(\theta_J\)theta_Jcurvature factor for light-response curvenone0.825
\(V_\mathrm{c,max}\)V_cmaxmaximum rate of carboxylation (T_leaf)\(\mu\)mol CO2 / (m\(^2\) s)calculated
\(V_\mathrm{tpu}\)V_tpurate of triose phosphate utilization (T_leaf)\(\mu\)mol CO2 / (m\(^2\) s)calculated


Buckley TN and Diaz-Espejo A. 2015. Partitioning changes in photosynthetic rate into contributions from different variables. Plant, Cell & Environment 38: 1200-11.

Farquhar GD, Caemmerer S, Berry JA. 1980. A biochemical model of photosynthetic CO2 assimilation in leaves of C3 species. Planta 149: 78–90.


bake_par = make_bakepar()
constants = make_constants(use_tealeaves = FALSE)
enviro_par = make_enviropar(use_tealeaves = FALSE)
leaf_par = make_leafpar(use_tealeaves = FALSE)
leaf_par = bake(leaf_par, enviro_par, bake_par, constants)

pars = c(leaf_par, enviro_par, constants)
C_chl = set_units(246.0161, umol / mol)
FvCB(C_chl, pars)
#> $W_carbox
#> 43.12971 [umol/m^2/s]
#> $W_regen
#> 34.71203 [umol/m^2/s]
#> $W_tpu
#> 709.3539 [umol/m^2/s]
#> $A
#> 34.71203 [umol/m^2/s]