ISRaD.extra.norm14c_year: ISRaD.extra.norm14c_year

View source: R/ISRaD.extra.norm14c_year.R

ISRaD.extra.norm14c_yearR Documentation

ISRaD.extra.norm14c_year

Description

Normalizes delta 14c values to a given year (norm_year)

Usage

ISRaD.extra.norm14c_year(
  obs_d14c,
  obs_year,
  atm_zone,
  norm_year,
  df,
  slow = TRUE,
  tau = TRUE,
  verbose = TRUE
)

Arguments

obs_d14c

column name in df with observed delta 14c values to be normalized OR numeric value

obs_year

column name in df with year in which obs_d14c was observed (sample collection year) OR numeric value

atm_zone

column name in df with atmospheric zone for obs_d14c OR character string. Notes: column values/character string must be one of c("NH14C", "SH14C"). "NH14C" > 0 degrees latitude N; "SHC14" > 0 latitude S.

norm_year

desired normalization year (numeric)

df

data frame with columns for observed d14c (obs_d14c), observation year (obs_year), and atmospheric zone (atm_zone)

slow

if TRUE (default) normalized 14c value will be fit using the slower solution for tau

tau

if TRUE (default) the solution for tau will be returned along with the normalized 14c value

verbose

Show progress bar? TRUE/FALSE (default = TRUE)

Details

This function can be run on a data frame or with single value input. For the data frame method, the inputs 'obs_d14c', 'obs_year', and 'atm_zone' correspond to column names in the supplied data frame (see Example 1). For the single value method, the inputs for 'obs_d14c', 'obs_year', and 'atm_zone' are single values (Example 2).

The function works by creating a one pool steady-state model using atmospheric 14c over the period 1850 to 2021. Turnover time (tau^-1) is determined by fitting the model to the observed delta 14c (obs_d14c) in the given observation year (obs_year), and the normalized 14c value is calculated by running the model forwards or backwards to the desired normalization year (norm_year). Note that highly negative values of delta 14c (e.g. < -100) are unaffected by normalization and are thus returned unchanged by the function.

The curvature of the bomb peak can lead to two viable solutions for tau in a one pool model. Determining which value is more appropriate depends on the carbon dynamics of the system and thus cannot be determined a priori (Trumbore 2000). The 'slow' parameter can be used to select which tau is used for calculating the normalized 14c value. If 'slow' = TRUE, and the algorithm is able to find two solutions for tau, the function will return normalized 14c values calculated with the slower of the two turnover time solutions. If "slow" = FALSE, the faster turnover time is used.

In certain cases the algorithm used to determine tau fails to converge. This situation arises when observed radiocarbon values are too high relative to the year of observation. This problem is well documented (Gaudinski et al. 2000), and can be solved by introducing a time-lag for the carbon inputs to the system. However, this functionality is beyond the scope of this function. If the algorithm fails to converge, the function will select the tau value giving the closest match for observed 14c in the given observation year and return norm_error = "TRUE".

Example 1 shows how to run the function when the 'df' argument corresponds to a table from an ISRaD object, e.g. "flux", "layer", etc.
Example 2 shows how to run the function when single values are supplied and 'df' is absent.

Note: There is no guarantee that normalized 14c values will be meaningful as the model assumes a well-mixed homogenous system, and this is rarely the case in soils.

Value

data frame with new columns: "norm_14c", "norm_error", and optionally "norm_tau"; OR list with length = 3: "norm_14c", "norm_tau", "norm_error". Note that if is parameter df is not NULL and obs_d14c contains an underscore, e.g. "lyr_14c", supplied names will take the form "lyr_norm_14c", "lyr_norm_error", etc.

Author(s)

J. Beem-Miller and J. Randerson

References

Gaudinski et al. 2000. Soil carbon cycling in a temperate forest: radiocarbon-based estimates of residence times, sequestration rates and partitioning of fluxes. Biogeochemistry 51: 33-69 \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1023/A:1006301010014")}

Trumbore, S. 2000. Age of Soil Organic Matter and Soil Respiration: Radiocarbon Constraints on Belowground C Dynamics. Ecological Applications, 10(2): 399–411 \Sexpr[results=rd]{tools:::Rd_expr_doi("10.2307/2641102")}

Examples

# Load example dataset Gaudinski_2001
database <- ISRaD::Gaudinski_2001
# Fill profile coordinates
database.x <- ISRaD.extra.fill_coords(database)
# Fill dates
database.x <- ISRaD.extra.fill_dates(database.x)
# Fill delta 14C from fraction modern
database.x <- ISRaD.extra.fill_rc(database.x)
# Fill atmospheric 14c
database.x <- ISRaD.extra.calc_atm14c(database.x)
# Run normalization function for the year 2010 with layer data
# Example 1
database.x$layer <- ISRaD.extra.norm14c_year(
  obs_d14c = "lyr_14c",
  obs_year = "lyr_obs_date_y",
  atm_zone = "pro_atm_zone",
  norm_year = 2010,
  tau = TRUE,
  df = database.x$layer,
  verbose = TRUE
)
# Example 2
ISRaD.extra.norm14c_year(
  obs_d14c = 182.8958,
  obs_year = 1996,
  atm_zone = "NH14C",
  norm_year = 2010
)

ISRaD documentation built on Sept. 21, 2023, 9:06 a.m.