yield: Storage-Reliability-Yield (SRY) relationships: Yield...

Description Usage Arguments Value Examples

View source: R/sry_yield.R

Description

Returns the yield for given inflow time series, reservoir capacity, and required time-based reliability. Assumes standard operating policy. Yield is computed iteratively using the bi-section method.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
yield(
  Q,
  capacity,
  reliability,
  demand_profile,
  plot = TRUE,
  S_initial = 1,
  max_iterations = 50,
  double_cycle = FALSE
)

Arguments

Q

vector or time series object. Net inflow totals to the reservoir.

capacity

numerical. The reservoir storage capacity. Must be in the same volumetric units as Q.

reliability

numerical. The required time-based reliability.

demand_profile

a vector of factors with length = frequency(Q). Represents within-year demand profile. Defaults to constant release if left blank.

plot

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

S_initial

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

max_iterations

Maximum number of iterations for yield computation.

double_cycle

logical. If TRUE the input series will be replicated and placed end-to-end to double the simulation. (Recommended if the critical period occurs at the end of the recorded inflow time series)

Value

Returns yield of a reservoir with specified storage capacity and time-based reliability.

Examples

1
2
3
4
5
6
7
8
# Compute yield for 0.95 reliability
layout(1:3)
yield_ResX <- yield(resX$Q_Mm3, capacity = 500, reliability = 0.95)
# Compute yield for quarterly time series with seasonal demand profile

quart_ts <- aggregate(resX$Q_Mm3, nfrequency = 4)
yld <- yield(quart_ts,
capacity = 500, reliability = 0.9, demand_profile = c(0.8, 1.2, 1.2, 0.8))

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