diff options
author | Johannes Ranke <jranke@uni-bremen.de> | 2016-03-10 05:28:03 +0100 |
---|---|---|
committer | Johannes Ranke <jranke@uni-bremen.de> | 2016-03-10 05:28:03 +0100 |
commit | 057d53d0faed7b297bbb99de8cd4bf3e3e448538 (patch) | |
tree | 145d28f9271b7fa3f365b6bd563d7aff3dd7f6d1 /pkg/R | |
parent | 527d927371083e784ad583a6b3c7465c49a53cdc (diff) |
Merge the NL drift calculations based on percentages into PEC_sw_drift
Diffstat (limited to 'pkg/R')
-rw-r--r-- | pkg/R/PEC_sw_drift.R | 14 | ||||
-rw-r--r-- | pkg/R/PEC_sw_drift_NL.R | 49 |
2 files changed, 12 insertions, 51 deletions
diff --git a/pkg/R/PEC_sw_drift.R b/pkg/R/PEC_sw_drift.R index ce57f79..261706c 100644 --- a/pkg/R/PEC_sw_drift.R +++ b/pkg/R/PEC_sw_drift.R @@ -23,6 +23,8 @@ #' #' @param rate Application rate in units specified below #' @param applications Number of applications for selection of drift percentile +#' @param drift_percentages Percentage drift values for which to calculate PECsw. +#' 'drift_data' and 'distances' if not NULL. #' @param drift_data Source of drift percentage data #' @param crop Crop name (use German names for JKI data), defaults to "Ackerbau" #' @param distances The distances in m for which to get PEC values @@ -37,6 +39,7 @@ PEC_sw_drift <- function(rate, applications = 1, water_depth = 30, + drift_percentages = NULL, drift_data = "JKI", crop = "Ackerbau", distances = c(1, 5, 10, 20), @@ -49,7 +52,14 @@ PEC_sw_drift <- function(rate, water_volume <- 100 * 100 * (water_depth/100) * 1000 # in L (for 1 ha) PEC_sw_overspray <- rate * 1e6 / water_volume # in µg/L dist_index <- as.character(distances) - PEC_sw_drift <- PEC_sw_overspray * pfm::drift_data_JKI[[applications]][dist_index, crop] / 100 - names(PEC_sw_drift) <- paste(dist_index, "m") + + if (is.null(drift_percentages)) { + drift_percentages <- pfm::drift_data_JKI[[applications]][dist_index, crop] + names(drift_percentages) <- paste(dist_index, "m") + } else { + names(drift_percentages) <- paste(drift_percentages, "%") + } + + PEC_sw_drift <- PEC_sw_overspray * drift_percentages / 100 return(PEC_sw_drift) } diff --git a/pkg/R/PEC_sw_drift_NL.R b/pkg/R/PEC_sw_drift_NL.R deleted file mode 100644 index cc92185..0000000 --- a/pkg/R/PEC_sw_drift_NL.R +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (C) 2016 Johannes Ranke -# Contact: jranke@uni-bremen.de -# This file is part of the R package pfm - -# This program 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/> - -#' Calculate predicted environmental concentrations in surface water due to drift -#' -#' This is a basic, vectorised form of a simple calculation of a contaminant -#' concentration in surface water based on complete, instantaneous mixing -#' with input via spray drift. -#' -#' @param rate Application rate in units specified below -#' @param applications Number of applications for selection of drift percentile -#' @param drift_percentages Percentage drift values for which to calculate PECsw -#' @param water_depth Depth of the water body in cm -#' @param rate_units Defaults to g/ha -#' @param PEC_units Requested units for the calculated PEC. Only µg/L currently supported -#' @return The predicted concentration in surface water -#' @export -#' @author Johannes Ranke -#' @examples -#' PEC_sw_drift_NL(100) -PEC_sw_drift_NL <- function(rate, - applications = 1, - water_depth = 30, - drift_percentages = c(1), - rate_units = "g/ha", - PEC_units = "\u00B5g/L") -{ - rate_units <- match.arg(rate_units) - PEC_units <- match.arg(PEC_units) - water_volume <- 100 * 100 * (water_depth/100) * 1000 # in L (for 1 ha) - PEC_sw_overspray <- rate * 1e6 / water_volume # in µg/L - PEC_sw_drift <- PEC_sw_overspray * drift_percentages / 100 - names(PEC_sw_drift) <- paste(drift_percentages, "%") - return(PEC_sw_drift) -} |