aboutsummaryrefslogtreecommitdiff
path: root/R/max_twa_parent.R
diff options
context:
space:
mode:
Diffstat (limited to 'R/max_twa_parent.R')
-rw-r--r--R/max_twa_parent.R70
1 files changed, 52 insertions, 18 deletions
diff --git a/R/max_twa_parent.R b/R/max_twa_parent.R
index 5129e369..ef3c0ada 100644
--- a/R/max_twa_parent.R
+++ b/R/max_twa_parent.R
@@ -1,21 +1,43 @@
-# Copyright (C) 2016-2019 Johannes Ranke
-# Contact: jranke@uni-bremen.de
-
-# This file is part of the R package mkin
-
-# mkin is free software: you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation, either version 3 of the License, or (at your option) any later
-# version.
-
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-# details.
-
-# You should have received a copy of the GNU General Public License along with
-# this program. If not, see <http://www.gnu.org/licenses/>
-
+#' Function to calculate maximum time weighted average concentrations from
+#' kinetic models fitted with mkinfit
+#'
+#' This function calculates maximum moving window time weighted average
+#' concentrations (TWAs) for kinetic models fitted with \code{\link{mkinfit}}.
+#' Currently, only calculations for the parent are implemented for the SFO,
+#' FOMC, DFOP and HS models, using the analytical formulas given in the PEC
+#' soil section of the FOCUS guidance.
+#'
+#' @aliases max_twa_parent max_twa_sfo max_twa_fomc max_twa_dfop max_twa_hs
+#' @param fit An object of class \code{\link{mkinfit}}.
+#' @param windows The width of the time windows for which the TWAs should be
+#' calculated.
+#' @param M0 The initial concentration for which the maximum time weighted
+#' average over the decline curve should be calculated. The default is to use
+#' a value of 1, which means that a relative maximum time weighted average
+#' factor (f_twa) is calculated.
+#' @param k The rate constant in the case of SFO kinetics.
+#' @param t The width of the time window.
+#' @param alpha Parameter of the FOMC model.
+#' @param beta Parameter of the FOMC model.
+#' @param k1 The first rate constant of the DFOP or the HS kinetics.
+#' @param k2 The second rate constant of the DFOP or the HS kinetics.
+#' @param g Parameter of the DFOP model.
+#' @param tb Parameter of the HS model.
+#' @return For \code{max_twa_parent}, a numeric vector, named using the
+#' \code{windows} argument. For the other functions, a numeric vector of
+#' length one (also known as 'a number').
+#' @author Johannes Ranke
+#' @references FOCUS (2006) \dQuote{Guidance Document on Estimating Persistence
+#' and Degradation Kinetics from Environmental Fate Studies on Pesticides in
+#' EU Registration} Report of the FOCUS Work Group on Degradation Kinetics,
+#' EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+#' \url{http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics}
+#' @examples
+#'
+#' fit <- mkinfit("FOMC", FOCUS_2006_C, quiet = TRUE)
+#' max_twa_parent(fit, c(7, 21))
+#'
+#' @export
max_twa_parent <- function(fit, windows) {
parms.all <- c(fit$bparms.optim, fit$bparms.fixed)
obs_vars <- fit$obs_vars
@@ -74,15 +96,27 @@ max_twa_parent <- function(fit, windows) {
names(res) <- windows
return(res)
}
+
+#' @rdname max_twa_parent
+#' @export
max_twa_sfo <- function(M0 = 1, k, t) {
M0 * (1 - exp(- k * t)) / (k * t)
}
+
+#' @rdname max_twa_parent
+#' @export
max_twa_fomc <- function(M0 = 1, alpha, beta, t) {
M0 * (beta)/(t * (1 - alpha)) * ((t/beta + 1)^(1 - alpha) - 1)
}
+
+#' @rdname max_twa_parent
+#' @export
max_twa_dfop <- function(M0 = 1, k1, k2, g, t) {
M0/t * ((g/k1) * (1 - exp(- k1 * t)) + ((1 - g)/k2) * (1 - exp(- k2 * t)))
}
+
+#' @rdname max_twa_parent
+#' @export
max_twa_hs <- function(M0 = 1, k1, k2, tb, t) {
(M0 / t) * (
(1/k1) * (1 - exp(- k1 * tb)) +

Contact - Imprint