Unlimited learning, half price | 50% off

Last chance! 50% off unlimited learning

Sale ends in


photosynthesis (version 2.1.5)

simulate_error: Simulate gas exchange data with measurement error

Description

[Experimental]

Usage

simulate_error(
  ph_out,
  chamber_pars,
  n = 1L,
  use_tealeaves = ("T_air" %in% colnames(ph_out))
)

Value

A data frame with n * nrow(ph_out) rows. It contains all the original output in ph_out as well as a column .rep indicating replicate number from 1 to n. Other new columns are assumed or measured chamber parameters and 'measured' values estimated from synthetic data with measurement error:

column nameassumed or derived?description
flowassumedchamber flow rate
leaf_areaassumedleaf area in chamber
sigma_CO2_rassumedstandard deviation of measurement error in CO2_r
sigma_CO2_sassumedstandard deviation of measurement error in CO2_s
sigma_H2O_rassumedstandard deviation of measurement error in H2O_r
sigma_H2O_sassumedstandard deviation of measurement error in H2O_s
c_0derivedCO2 concentration before entering chamber [μmol / mol]
w_iderivedWater vapor concentration within leaf [mmol / mol]
w_aderivedWater vapor concentration in chamber [mmol / mol]
w_0derivedWater vapor concentration before entering chamber [mmol / mol]
g_twderivedLeaf conductance to water vapor [mol/m2/s]
E_areaderivedEvaporation rate per area [mmol/m2/s]
EderivedTotal evaporation rate [mmol/s]
CO2_rderivedCO2 concentration before entering chamber with measurement error [μmol / mol]
CO2_sderivedCO2 concentration in chamber with measurement error [μmol / mol]
H2O_sderivedWater vapor concentration in chamber with measurement error [mmol / mol]
H2O_rderivedWater vapor concentration before entering chamber with measurement error [mmol / mol]
E_measderivedTotal evaporation rate (measured) [mmol/s]
E_area_measderivedEvaporation rate per area (measured) [mmol/m2/s]
g_tw_measderivedLeaf conductance to water vapor (measured) [mol/m2/s]
g_sc_measderivedStomatal conductance to CO2 (measured) [mol/m2/s]
g_tc_measderivedLeaf conductance to CO2 (measured) [mol/m2/s]
A_measderivedNet photosynthetic CO2 assimilation (measured) [μmol/m2/s]
C_iderivedIntercellular CO2 concentration (measured) [μmol/mol]

Arguments

ph_out

A data frame of output from photo() or photosynthesis() with units.

chamber_pars

A data frame with a single row of chamber parameters. See Note below for table of required parameters.

n

Integer. Number of replicated simulations per row of ph_out.

use_tealeaves

Flag. The tealeaves package uses a slightly different equation to calculate the saturating water content of air as a function temperature and pressure than LI-COR. If FALSE, the function uses LI-COR's equation in the LI6800 manual. If TRUE, it uses the tealeaves function for internal consistency. The function attempts to guess whether ph_out was run with tealeaves, but this can be manually overridden by providing a value for the argument.

Examples

Run this code
library(photosynthesis)

# Use photosynthesis() to simulate 'real' values
# `replace = ...` sets parameters to meet assumptions of `simulate_error()`
lp = make_leafpar(replace = list(
  g_sc = set_units(0.1, mol/m^2/s),
  g_uc = set_units(0, mol/m^2/s),
  k_mc = set_units(0, 1),
  k_sc = set_units(0, 1),
  k_uc = set_units(0, 1)
  ),
  use_tealeaves = FALSE)
   
 ep = make_enviropar(replace = list(
   wind = set_units(Inf, m/s)
 ), use_tealeaves = FALSE) 
 bp = make_bakepar()
 cs = make_constants(use_tealeaves = FALSE)
 
 chamber_pars = data.frame(
   flow = set_units(600, umol / s),
   leaf_area = set_units(6, cm ^ 2),
   sigma_CO2_s = 0.1,
   sigma_CO2_r = 0.1,
   sigma_H2O_s = 0.1,
   sigma_H2O_r = 0.1
 )
   
ph = photosynthesis(lp, ep, bp, cs, use_tealeaves = FALSE, quiet = TRUE) |>
  simulate_error(chamber_pars, n = 1L)
  

Run the code above in your browser using DataLab