optimize_leaf: Optimize leaf photosynthesis

Description Usage Arguments Details Value Examples

View source: R/optimize_leaf.R

Description

optimize_leaf: simulate C3 photosynthesis over a single parameter set

Usage

1
2
3
optimize_leaf(traits, carbon_costs, bake_par, constants, enviro_par,
  leaf_par, set_units = TRUE, n_init = 1L, check = TRUE,
  quiet = FALSE, refit = TRUE, max_init = 3L)

Arguments

traits

A vector of one or more character strings indicating which trait(s) to optimize. Stomatal conductance (g_sc) and stomatal ratio (logit_sr) are currently supported.

carbon_costs

A named list of resources with their costs in terms of carbon (e.g. mol C / mol H2O). Currently only H2O and SR are supported. See details below.

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.

enviro_par

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

leaf_par

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

set_units

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.

n_init

Integer. Number of initial values for each trait to try during optimization. If there are multiple traits, these initial values are crossed. For example, if n_init = 3, the total number of intitial values sets is 3, 9, 27 for 1, 2, 3 traits, respectively. This significantly increases the time, but may be important if the surface is rugged. Default is 1L.

check

Logical. Should arguments checks be done?

quiet

Logical. Should messages be displayed?

refit

Logical. Should optimization be retried from different starting parameters if it fails to converge? If TRUE, upon failure, n_init will increment up by 1 until successful convergence or n_init > max_init.

max_init

Integer. If refit = TRUE, the maximum number n_init to try.

Details

optimize_leaf: This function optimizes leaf traits using an integrated leaf temperature and C3 photosynthesis model under a set of environmental conditions. The leaf temperature model is described in the tealeaves package. The C3 photosynthesis model is described in the photosynthesis-package package

Value

A data.frame with the following units columns

Input:
C_air atmospheric CO2 concentration (Pa)
g_mc25 mesophyll conductance to CO2 at 25 °C (μmol CO2 / (m^2 s Pa))
g_sc stomatal conductance to CO2 (μmol CO2 / (m^2 s Pa))
g_uc cuticular conductance to CO2 (μmol CO2 / (m^2 s Pa))
gamma_star25 chloroplastic CO2 compensation point at 25 °C (Pa)
J_max25 potential electron transport at 25 °C (μmol CO2) / (m^2 s)
K_C25 Michaelis constant for carboxylation at 25 °C (μmol / mol)
K_O25 Michaelis constant for oxygenation at 25 °C (μmol / mol)
k_mc partition of g_mc to lower mesophyll (unitless)
k_sc partition of g_sc to lower surface (unitless)
k_uc partition of g_uc to lower surface (unitless)
leafsize leaf characteristic dimension (m)
O atmospheric O2 concentration (kPa)
P atmospheric pressure (kPa)
phi initial slope of the response of J to PPFD (unitless)
PPFD photosynthetic photon flux density (umol quanta / (m^2 s))
R_d25 nonphotorespiratory CO2 release at 25 °C (μmol CO2 / (m^2 s))
RH relative humidity (unitless)
theta_J curvature factor for light-response curve (unitless)
T_air air temperature (K)
T_leaf leaf tempearture (K)
V_cmax25 maximum rate of carboxylation at 25 °C (μmol CO2 / (m^2 s))
V_tpu25 rate of triose phosphate utilisation at 25 °C (μmol CO2 / (m^2 s))
wind wind speed (m / s)
Baked Input:
g_mc mesophyll conductance to CO2 at T_leaf (μmol CO2 / (m^2 s Pa))
gamma_star chloroplastic CO2 compensation point at T_leaf (Pa)
J_max potential electron transport at T_leaf (μmol CO2) / (m^2 s)
K_C Michaelis constant for carboxylation at T_leaf (μmol / mol)
K_O Michaelis constant for oxygenation at T_leaf(μmol / mol)
R_d nonphotorespiratory CO2 release at T_leaf (μmol CO2 / (m^2 s))
V_cmax maximum rate of carboxylation at T_leaf (μmol CO2 / (m^2 s))
V_tpu rate of triose phosphate utilisation at T_leaf (μmol CO2 / (m^2 s))
Output:
A photosynthetic rate at C_chl (μmol CO2 / (m^2 s))
C_chl chloroplastic CO2 concentration where A_supply intersects A_demand (Pa)
g_tc total conductance to CO2 at T_leaf (μmol CO2 / (m^2 s Pa))
value A_supply - A_demand (μmol CO2 / (m^2 s)) at C_chl
convergence convergence code (0 = converged)

Examples

1
2
3
4
5
6
7
8
9
# Single parameter set with 'optimize_leaf'

bp <- make_bakepar()
cs <- make_constants()
ep <- make_enviropar()
lp <- make_leafpar()
traits <- "g_sc"
carbon_costs <- list(H2O = 1000, SR = 0)
optimize_leaf("g_sc", carbon_costs, bp, cs, ep, lp, n_init = 1L)

cdmuir/leafoptimizer documentation built on Sept. 10, 2021, 7:28 p.m.