photosynthesis: Simulate C3 photosynthesis

View source: R/photosynthesis.R

photosynthesisR Documentation

Simulate C3 photosynthesis

Description

photosynthesis: simulate C3 photosynthesis over multiple parameter sets

photo: simulate C3 photosynthesis over a single parameter set

Usage

photosynthesis(
  leaf_par,
  enviro_par,
  bake_par,
  constants,
  use_tealeaves,
  progress = TRUE,
  quiet = FALSE,
  assert_units = TRUE,
  check = TRUE,
  parallel = FALSE,
  use_legacy_version = FALSE
)

photo(
  leaf_par,
  enviro_par,
  bake_par,
  constants,
  use_tealeaves,
  quiet = FALSE,
  assert_units = TRUE,
  check = TRUE,
  prepare_for_tleaf = use_tealeaves,
  use_legacy_version = FALSE
)

Arguments

leaf_par

A list of leaf parameters inheriting class leaf_par. This can be generated using the make_leafpar function.

enviro_par

A list of environmental parameters inheriting class enviro_par. This can be generated using the make_enviropar function.

bake_par

A list of temperature response parameters inheriting class bake_par. This can be generated using the make_bakepar function.

constants

A list of physical constants inheriting class constants. This can be generated using the make_constants function.

use_tealeaves

Logical. Should leaf energy balance be used to calculate leaf temperature (T_leaf)? If TRUE, tleaf() calculates T_leaf. If FALSE, user-defined T_leaf is used. Additional parameters and constants are required, see make_parameters().

progress

Logical. Should a progress bar be displayed?

quiet

Logical. Should messages be displayed?

assert_units

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

check

Logical. Should arguments checks be done? This is intended to be disabled when photo() is called from photosynthesis() Default is TRUE.

parallel

Logical. Should parallel processing be used via furrr::future_map()?

use_legacy_version

Logical. Should legacy model (<2.1.0) be used? See NEWS for further information. Default is FALSE.

prepare_for_tleaf

Logical. Should arguments additional calculations for tleaf()? This is intended to be disabled when photo() is called from photosynthesis(). Default is use_tealeaves.

Details

photo: This function takes simulates photosynthetic rate using the Farquhar-von Caemmerer-Berry (FvCB()) model of C3 photosynthesis for single combined set of leaf parameters (leaf_par()), environmental parameters (enviro_par()), and physical constants (constants()). Leaf parameters are provided at reference temperature (25 °C) and then "baked" to the appropriate leaf temperature using temperature response functions (see bake()).

photosynthesis: This function uses photo to simulate photosynthesis over multiple parameter sets that are generated using cross_df().

Value

A data.frame with the following units columns

Inputs:

Symbol R Description Units Default
D_{\mathrm{c},0} D_c0 diffusion coefficient for CO2 in air at 0 °C m^2 / s 1.29\times 10^{-5}
D_{\mathrm{h},0} D_h0 diffusion coefficient for heat in air at 0 °C m^2 / s 1.90\times 10^{-5}
D_{\mathrm{m},0} D_m0 diffusion coefficient for momentum in air at 0 °C m^2 / s 1.33\times 10^{-5}
D_{\mathrm{w},0} D_w0 diffusion coefficient for water vapor in air at 0 °C m^2 / s 2.12\times 10^{-5}
\epsilon epsilon ratio of water to air molar masses none 0.622
G G gravitational acceleration m / s^2 9.8
eT eT exponent for temperature dependence of diffusion none 1.75
R R ideal gas constant J / mol / K 8.31
\sigma sigma Stephan-Boltzmann constant W / m^2 / K^4 5.67\times 10^{-8}
f_\mathrm{Sh} f_sh function to calculate constant(s) for Sherwood number none NA
f_\mathrm{Nu} f_nu function to calculate constant(s) for Nusselt number none NA
D_\mathrm{s,gmc} Ds_gmc empirical temperature response parameter J / mol / K 487
D_\mathrm{s,Jmax} Ds_Jmax empirical temperature response parameter J / mol / K 388
E_\mathrm{a,\Gamma *} Ea_gammastar empirical temperature response parameter J / mol 24500
E_\mathrm{a,gmc} Ea_gmc empirical temperature response parameter J / mol 68900
E_\mathrm{a,Jmax} Ea_Jmax empirical temperature response parameter J / mol 56100
E_\mathrm{a,KC} Ea_KC empirical temperature response parameter J / mol 81000
E_\mathrm{a,KO} Ea_KO empirical temperature response parameter J / mol 23700
E_\mathrm{a,Rd} Ea_Rd empirical temperature response parameter J / mol 40400
E_\mathrm{a,Vcmax} Ea_Vcmax empirical temperature response parameter J / mol 52200
E_\mathrm{a,Vtpu} Ea_Vtpu empirical temperature response parameter J / mol 52200
E_\mathrm{d,gmc} Ed_gmc empirical temperature response parameter J / mol 149000
E_\mathrm{d,Jmax} Ed_Jmax empirical temperature response parameter J / mol 121000
C_\mathrm{air} C_air atmospheric CO2 concentration umol/mol 420
O O atmospheric O2 concentration mol/mol 0.21
P P atmospheric pressure kPa 101
\mathrm{PPFD} PPFD photosynthetic photon flux density umol / m^2 / s 1500
\mathrm{RH} RH relative humidity none 0.5
u wind windspeed m / s 2
d leafsize leaf characteristic dimension m 0.1
\Gamma*_{25} gamma_star25 chloroplastic CO2 compensation point (25 °C) umol/mol 37.9
g_\mathrm{mc,25} g_mc25 mesophyll conductance to CO2 (25 °C) mol / m^2 / s 0.4
g_\mathrm{sc} g_sc stomatal conductance to CO2 mol / m^2 / s 0.4
g_\mathrm{uc} g_uc cuticular conductance to CO2 mol / m^2 / s 0.01
J_\mathrm{max,25} J_max25 potential electron transport (25 °C) umol / m^2 / s 200
k_\mathrm{mc} k_mc partition of g_mc to lower mesophyll none 1
k_\mathrm{sc} k_sc partition of g_sc to lower surface none 1
k_\mathrm{uc} k_uc partition of g_uc to lower surface none 1
K_\mathrm{C,25} K_C25 Michaelis constant for carboxylation (25 °C) umol / mol 268
K_\mathrm{O,25} K_O25 Michaelis constant for oxygenation (25 °C) umol / mol 165000
\phi_J phi_J initial slope of the response of J to PPFD none 0.331
R_\mathrm{d,25} R_d25 nonphotorespiratory CO2 release (25 °C) umol / m^2 / s 2
\theta_J theta_J curvature factor for light-response curve none 0.825
T_\mathrm{leaf} T_leaf leaf temperature K 298
V_\mathrm{c,max,25} V_cmax25 maximum rate of carboxylation (25 °C) umol / m^2 / s 150
V_\mathrm{tpu,25} V_tpu25 rate of triose phosphate utilization (25 °C) umol / m^2 / s 200
\delta_\mathrm{ias,lower} delta_ias_lower effective distance through lower internal airspace um NA
\delta_\mathrm{ias,upper} delta_ias_upper effective distance through upper internal airspace um NA
A_\mathrm{mes} / A A_mes_A mesophyll surface area per unit leaf area none NA
g_\mathrm{liq,c,25} g_liqc25 liquid-phase conductance to CO2 (25 °C) mol / m^2 / s NA
Baked Inputs:
Symbol R Description Units Default
:---------------------------- :------------------- :------------------------------------------------------------------- :-------------------- :-------
\Gamma* gamma_star chloroplastic CO2 compensation point (T_leaf) umol/mol NA
g_\mathrm{mc} g_mc mesophyll conductance to CO2 (T_leaf) mol / m^2 / s NA
J_\mathrm{max} J_max potential electron transport (T_leaf) umol / m^2 / s NA
K_\mathrm{C} K_C Michaelis constant for carboxylation (T_leaf) umol / mol NA
K_\mathrm{O} K_O Michaelis constant for oxygenation (T_leaf) umol / mol NA
R_\mathrm{d} R_d nonphotorespiratory CO2 release (T_leaf) umol / m^2 / s NA
V_\mathrm{c,max} V_cmax maximum rate of carboxylation (T_leaf) umol / m^2 / s NA
V_\mathrm{tpu} V_tpu rate of triose phosphate utilisation (T_leaf) umol / m^2 / s NA
g_\mathrm{liq,c} g_liqc liquid-phase conductance to CO2 (T_leaf) mol / m^2 / s NA
g_\mathrm{ias,c,lower} g_iasc_lower internal airspace conductance to CO2 in lower part of leaf (T_leaf) mol / m^2 / s NA
g_\mathrm{ias,c,upper} g_iasc_upper internal airspace conductance to CO2 in upper part of leaf (T_leaf) mol / m^2 / s NA
Output:
A photosynthetic rate at C_chl (\mumol CO2 / m^2 / s)
C_chl chloroplastic CO2 concentration where A_supply intersects A_demand (mumol / mol)
C_i intercellular CO2 concentration where A_supply intersects A_demand (mumol / mol)
g_tc total conductance to CO2 at T_leaf (mol / m^2 / s))
value A_supply - A_demand (\mumol / (m^2 s)) at C_chl
convergence convergence code (0 = converged)

Examples

# Single parameter set with 'photo'

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

# Multiple parameter sets with 'photosynthesis'

leaf_par = make_leafpar(
  replace = list(
    T_leaf = set_units(c(293.14, 298.15), "K")
  ), use_tealeaves = FALSE
)
photosynthesis(leaf_par, enviro_par, bake_par, constants,
  use_tealeaves = FALSE
)

photosynthesis documentation built on Aug. 15, 2023, 9:08 a.m.