apportion_web: Distribute streamflow depletion within a stream network using...

View source: R/apportion_web.R

apportion_webR Documentation

Distribute streamflow depletion within a stream network using web distance weighting.

Description

Distribute streamflow depletion within a stream network using web distance weighting.

Usage

apportion_web(
  reach_dist,
  w,
  max_dist = Inf,
  min_frac = 0,
  reach_name = NULL,
  dist_name = NULL
)

Arguments

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.

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.

Value

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.

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.

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 reach
apportion_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)

streamDepletr documentation built on July 26, 2023, 5:42 p.m.