reach_dist: data frame with two columns: reach, which is a grouping variable with the name of each stream reach, and dist which is the distance of a point on that stream reach to the well of interest. There can (and likely will) be more than one dist per reach; if there is only one dist per reach, results will be the same as the apportion_inverse method. Columns can either be named exactly as defined here, or set using reach_name and dist_name.
w: weighting factor; 1 for web, 2 for web squared.
max_dist: the maximum distance of a stream to be depleted; defaults to Inf, which means all reaches will be considered.
min_frac: the minimum frac_depletion to be returned; defaults to 0, which means all reaches will be considered. If min_frac > 0 and some reaches have an estimated frac_depletion < min_frac, depletion in those reaches will be set to 0 and that depletion will be reallocated based on the proportional depletion in the remaining reaches.
reach_name: The name of the column in reach_dist indicating your stream reach grouping variable. If set to NULL (default), it will assume that the column name is reach.
dist_name: The name of the column in reach_dist indicating your distance variable. If set to NULL (default), it will assume that the column name is dist.
Returns
A data frame with two columns:
reach: the grouping variable input in reach_dist
frac_depletion: the proportion of streamflow depletion from the well occurring in that reach.
Details
Since analytical models assume the presence of 1 (or sometimes 2) linear streams, the apportion_* functions can be used to distribute that depletion to various reaches within a real stream network. These geometric functions are described in Zipper et al (2018), which found that apportion_web a weighting factor (w) of 2 produced the best results.
Examples
reach_dist <- data.frame(reach = seq(1,5), dist = c(100,150,900,300,200))apportion_web(reach_dist, w =2)# same as inverse because there's only one dist per reachapportion_web(reach_dist, w =2, max_dist =500)reach_dist <- data.frame(reach = c("A","A","A","B","B"), dist = c(100,150,900,300,200))apportion_web(reach_dist, w =1)apportion_web(reach_dist, w =1, max_dist =500)
References
Zipper, SC, T Dallemagne, T Gleeson, TC Boerman, A Hartmann (2018). Groundwater Pumping Impacts on Real Stream Networks: Testing the Performance of Simple Management Tools. Water Resources Research. doi:10.1029/2018WR022707.