dp_supply: Dynamic Programming for water supply reservoirs

Description Usage Arguments Value See Also Examples

View source: R/dp_supply.R

Description

Determines the optimal sequence of releases from the reservoir to minimise a penalty cost function based on water supply defict.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
dp_supply(
  Q,
  capacity,
  target,
  surface_area,
  max_depth,
  evap,
  S_disc = 1000,
  R_disc = 10,
  loss_exp = 2,
  S_initial = 1,
  c2g,
  plot = TRUE,
  rep_rrv = FALSE
)

Arguments

Q

vector or time series object. Net inflow totals to the reservoir. Recommended units: Mm^3 (Million cubic meters).

capacity

numerical. The reservoir storage capacity. Recommended units: Mm^3 (Million cubic meters).

target

numerical. The target release constant. Recommended units: Mm^3 (Million cubic meters).

surface_area

numerical. The reservoir water surface area at maximum capacity. Recommended units: km^2 (square kilometers).

max_depth

numerical. The maximum water depth of the reservoir at maximum capacity. If omitted, the depth-storage-area relationship will be estimated from surface area and capacity only. Recommended units: meters.

evap

vector or time series object of length Q, or a numerical constant. Evaporation from losses from reservoir surface. Varies with level if depth and surface_area parameters are specified. Recommended units: meters, or kg/m2 * 10 ^ -3.

S_disc

integer. Storage discretization–the number of equally-sized storage states. Default = 1000.

R_disc

integer. Release discretization. Default = 10 divisions.

loss_exp

numeric. The exponent of the penalty cost function–i.e., Cost[t] <- ((target - release[t]) / target) ^ **loss_exp**). Default value is 2.

S_initial

numeric. The initial storage as a ratio of capacity (0 <= S_initial <= 1). The default value is 1.

c2g

vector. Optional end-state cost-to-go.

plot

logical. If TRUE (the default) the storage behavior diagram and release time series are plotted.

rep_rrv

logical. If TRUE then reliability, resilience and vulnerability metrics are computed and returned.

Value

Returns the reservoir simulation output (storage, release, spill), total penalty cost associated with the objective function, and, if requested, the reliability, resilience and vulnerability of the system.

See Also

sdp_supply for Stochastic Dynamic Programming for water supply reservoirs

Examples

1
2
layout(1:3)
dp_supply(resX$Q_Mm3, capacity = resX$cap_Mm3, target = 0.3 * mean(resX$Q_Mm3), S_disc = 100)

swd-turner/reservoir documentation built on June 9, 2021, 12:27 a.m.