# Model C3 Photosynthesis

Simulate C3 photosynthesis using the Farquhar, von Caemmerer, Berry (1980) model as described in Buckley and Diaz-Espejo (2015) . It uses units to ensure that parameters are properly specified and transformed before calculations. Temperature response functions get automatically "baked" into all parameters based on leaf temperature following Bernacchi et al. (2002) . The package includes boundary layer, cuticular, stomatal, and mesophyll conductances to CO2, which each can vary on the upper and lower portions of the leaf. Use straightforward functions to simulate photosynthesis over environmental gradients such as Photosynthetic Photon Flux Density (PPFD) and leaf temperature, or over trait gradients such as CO2 conductance or photochemistry.

## Description

photosynthesis is a lightweight R package to model C3 photosynthesis using the Farquhar-von Caemmerer-Berry model. It uses the R package units to ensure that parameters are properly specified and transformed before calculations.

## Get photosynthesis

From GitHib

And load photosynthesis

## Vignette

The photosynthesis package simulates photosynthetic rate given a set of leaf traits and environmental conditions by solving the Farquhar-von Caemmerer-Berry C3 biochemical model. There are two main steps to using photosynthesis:

1. define leaf parameters, environmental parameters, temperature response parameters, and physical constants; and
2. solve for the chloroplastic CO2 concentration that balances CO2 supply and demand (photo and photosynthesis for single and multiple parameter sets, respectively).

In this vignette, I’ll show you how to:

• run a minimum worked example using default parameters
• replace default parameters
• simulate photosynthetic rate along a gradient of CO(2) concentrations ((A-C\mathrm{c}) curve)

## Minimum worked example

You can use the default parameter settings and simulate photosynthetic rate in a single leaf using the make_*() functions and photo().

## Replace default parameters

You can look at default parameters settings in the manual (run ?make_parameters). These defaults are reasonable, but of course you will probably want to use different choices and allow some parameters to vary. Here, I’ll demonstrate how to replace a default. In the next section, I’ll show you how to set up a gradient of parameter values over which to solve for leaf temperature.

PPFD C_chl A
1000 [umol/m^2/s] 24.0449 [Pa] 25.21885 [umol/m^2/s]

In the previous two examples, I used the photo function to solve for a single parameter set. In most cases, you’ll want to solve for many parameter sets. The function photosynthesis generalizes photo and makes it easy to solve for multiple parameter sets using the same argument structure. All you need to do is specify multiple values for one or more leaf or environmental parameters and photosynthesis uses the purrr::cross function to fit all combinations[1].

g_sc PPFD A
2 [umol/m^2/Pa/s] 1000 [umol/m^2/s] 23.90532 [umol/m^2/s]
4 [umol/m^2/Pa/s] 1000 [umol/m^2/s] 25.87941 [umol/m^2/s]
2 [umol/m^2/Pa/s] 1500 [umol/m^2/s] 25.17778 [umol/m^2/s]
4 [umol/m^2/Pa/s] 1500 [umol/m^2/s] 27.48581 [umol/m^2/s]

## Parallel processing

It can take a little while to simulate many different parameter sets. If you have multiple processors available, you can speed things up by running simulations in parallel. In the photosynthesis function, simply use the parallel = TRUE argument to simulate in parallel. Here I’ll provide an example simulating an A-Cc curve.

## Incorporating leaf temperature using tealeaves

In experiments, leaf temperature can be kept close to air temperature, but in nature, leaf temperature can be quite a bit different than air temperature in the shade depending on environmental and leaf parameters. If use_tealeaves = TRUE, photo() and photosynthesis() will call on the tealeaves package to calculate leaf temperature using an energy balance model.

## Contributors

I welcome comments, criticisms, and especially contributions! GitHub issues are the preferred way to report bugs, ask questions, or request new features. You can submit issues here:

https://github.com/cdmuir/photosynthesis/issues

## Meta

• Please report any issues or bugs.
• Get citation information for photosynthesis in R doing citation(package = 'photosynthesis')
• Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
1. Since optimization is somewhat time-consuming, be careful about crossing too many combinations. Use progress = TRUE to show progress bar with estimated time remaining.

# Reference manual

install.packages("photosynthesis")

1.0.0 by Chris Muir, 11 days ago

Browse source code at https://github.com/cran/photosynthesis

Authors: Chris Muir [aut, cre]

Documentation:   PDF Manual