Learn R Programming

reservoir (version 1.1.5)

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

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

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
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

Run this code
# 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))

Run the code above in your browser using DataLab