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

View source: R/apportion_polygon.R

apportion_polygonR Documentation

Distribute streamflow depletion within a stream network using web distance Thiessen polygons.

Description

Distribute streamflow depletion within a stream network using web distance Thiessen polygons.

Usage

apportion_polygon(
  reach_dist_lon_lat,
  wel_lon,
  wel_lat,
  crs,
  max_dist = Inf,
  min_frac = 0,
  reach_name = NULL,
  dist_name = NULL,
  lon_name = NULL,
  lat_name = NULL
)

Arguments

reach_dist_lon_lat

data frame with four columns: reach, which is a grouping variable with the name of each stream reach; dist which is the distance of a point on that stream reach to the well of interest; lon which is the longitude of that point on the stream; and lat which is the latitude of that point on the stream. There can (and likely will) be multiple rows per reach. Columns can either be named exactly as defined here, or set using reach_name, dist_name, lon_name, and lat_name.

wel_lon

longitude of well

wel_lat

latitude of well

crs

object of class CRS with projection info of latitude and longitude input

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.

lon_name

The name of the column in reach_dist indicating your longitude variable. If set to NULL (default), it will assume that the column name is lon.

lat_name

The name of the column in reach_dist indicating your latitude variable. If set to NULL (default), it will assume that the column name is lat.

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

rdll <- prep_reach_dist(wel_lon = 295500, wel_lat = 4783200,
   stream_shp = stream_lines, reach_id = "reach", stream_pt_spacing = 1)
apportion_polygon(reach_dist_lon_lat = rdll, wel_lon = 295500, wel_lat = 4783200,
   max_dist = 5000, crs = raster::crs(stream_lines))

samzipper/streamDepletr documentation built on July 30, 2023, 12:19 p.m.