summaryrefslogtreecommitdiff
path: root/R/PEC_sw_drainage_UK.R
diff options
context:
space:
mode:
Diffstat (limited to 'R/PEC_sw_drainage_UK.R')
-rw-r--r--R/PEC_sw_drainage_UK.R36
1 files changed, 23 insertions, 13 deletions
diff --git a/R/PEC_sw_drainage_UK.R b/R/PEC_sw_drainage_UK.R
index d773f40..4b3111e 100644
--- a/R/PEC_sw_drainage_UK.R
+++ b/R/PEC_sw_drainage_UK.R
@@ -1,7 +1,8 @@
#' Calculate initial predicted environmental concentrations in surface water due to drainage using the UK method
#'
#' This implements the method specified in the UK data requirements handbook and was checked against the spreadsheet
-#' published on the CRC website
+#' published on the CRC website. Degradation before the start of the drainage period is taken into account if
+#' `latest_application` is specified and the degradation parameters are given either as a `soil_DT50` or a `model`.
#'
#' @param rate Application rate in g/ha
#' @param interception The fraction of the application rate that does not reach the soil
@@ -24,6 +25,9 @@
#' @author Johannes Ranke
#' @examples
#' PEC_sw_drainage_UK(150, Koc = 100)
+#' PEC_sw_drainage_UK(60, interception = 0.5, Koc = 550,
+#' latest_application = "01 July", soil_DT50 = 200)
+
PEC_sw_drainage_UK <- function(rate, interception = 0, Koc,
latest_application = NULL, soil_DT50 = NULL,
model = NULL, model_parms = NULL)
@@ -34,20 +38,26 @@ PEC_sw_drainage_UK <- function(rate, interception = 0, Koc,
if (!missing(latest_application)) {
lct <- Sys.getlocale("LC_TIME")
tmp <- Sys.setlocale("LC_TIME", "C")
- latest <- as.Date(paste(latest_application, "1999"), "%d %b %Y")
+ if (latest_application == "29 February") {
+ ref_year <- 2000
+ } else { ref_year <- 1999}
+ latest <- as.Date(paste(latest_application, ref_year), "%d %b %Y")
+ if (is.na(latest)) stop("Please specify the latest application in the format '%d %b', e.g. '01 July'")
tmp <- Sys.setlocale("LC_TIME", lct)
- degradation_time <- as.numeric(difftime(as.Date("1999-10-01"), units = "days", latest))
- if (!missing(soil_DT50)) {
- k = log(2)/soil_DT50
- as.Date(paste(latest_application, "1999"), "%d %B %Y")
+ degradation_time <- as.numeric(difftime(as.Date(paste0(ref_year,"-10-01")), units = "days", latest))
+ if (degradation_time > 0) {
+ if (!missing(soil_DT50)) {
+ k = log(2)/soil_DT50
+ as.Date(paste(latest_application, "1999"), "%d %B %Y")
- amount_available <- amount_available * exp(-k * degradation_time)
- if (!missing(model)) stop("You already supplied a soil_DT50 value, implying SFO kinetics")
- }
- if (!missing(model)) {
- fraction_left <- pfm_degradation(model, parms = model_parms,
- times = degradation_time)[1, "parent"]
- amount_available <- fraction_left * amount_available
+ amount_available <- amount_available * exp(-k * degradation_time)
+ if (!missing(model)) stop("You already supplied a soil_DT50 value, implying SFO kinetics")
+ }
+ if (!missing(model)) {
+ fraction_left <- pfm_degradation(model, parms = model_parms,
+ times = degradation_time)[1, "parent"]
+ amount_available <- fraction_left * amount_available
+ }
}
}

Contact - Imprint