R/alpha.R

Defines functions alpha

Documented in alpha

#' @title Calculate \code{alpha} parameter
#' @description Calculates the \code{alpha} model parameter, which is derived from carbon inputs,
#' nitrogen and lignin fractions, sand fraction and tillage type.
#' @param c_input Numeric vector indicating combined carbon inputs for the model, in tonnes C ha^-1.
#' @param lignin_frac Numeric vector indicating lignin fraction of the carbon inputs, fractional.
#' @param n_frac Numeric vector indicating nitrogen fraction of the carbon inputs, fractional.
#' @param sand_frac A numeric scalar or vector indicating the sand proportion in the soil mineral
#' makeup, fractional.
#' @param till_type A character vector indicating tillage type. One of "unknown", "full", "reduced",
#' or "zero".
#' @param params A named list containing model parameters. Defaults to the package default parameter
#' set \code{soilc_params}.
#' @export
alpha <- function(c_input, lignin_frac, n_frac, sand_frac, till_type, params = soilc_params) {
  beta <- beta(c_input, lignin_frac, n_frac, params)
  x <- beta * params$f1$be
  y <- ((c_input * (1 - lignin_frac) - beta) * f2(till_type, params))
  z <- ((c_input * lignin_frac) * params$f3$be * (params$f7$be + params$f8$be * params$f6$be))
  d <- 1 - (f4(sand_frac, params) * params$f7$be) - (params$f5$be * params$f8$be) - (f4(sand_frac, params) * params$f6$be * params$f8$be) # nolint
  alpha <- (x + y + z) / d
  return(alpha)
}
aj-sykes92/soilc.ipcc documentation built on March 19, 2021, 11:52 a.m.