reservoirRouting: reservoir routing

Description Usage Arguments Value Author(s) References See Also Examples

View source: R/reservoirRouting.R

Description

function for routing flood through a reservoir using classical Muskingum technique

Usage

1
reservoirRouting(inflow,geometry,initialStorage,simulation)

Arguments

inflow

a vector of in (cms) presenting a runoff event generated by excess rainfall computed by loss methods or an object inherited from any of the following classes :transform ; reachRouting ; reservoirRouting.

geometry

a list of geometric specifications of the reservoir:

  • storageElevationCurve: a data frame: a data frame at which its first collumn includes height (masl) and second collums presents equivalant volume to the height at first collumn (MCM)

  • dischargeElevationCurve: a data frame: a data frame at which its first collumn includes height (masl) and second collums presents equivalant discharge rate to the height at first collumn (cms)

  • storage: the maximum volume of reservoir capacity (MCM)

initialStorage

(optional) the initial storage of reservoir at the first time step of simulation (MCM). default to the capacity.

simulation

a list of simulation time and dates as below:

  • start: the date which simulation starts, must be in 'YYYY-MM-DD' format

  • start: the date which simulation ends, must be in 'YYYY-MM-DD' format

  • by: the interval of each steps in seconds

Value

a data.frame: including inflow time series and routing resaults

Author(s)

Rezgar Arabzadeh

References

Chow, V. T., Maidment, D. R., & Mays, L. W. (1988). Applied hydrology.

See Also

reachRouting

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
inflow<-sin(seq(0,pi,length.out=50))*1000
storageElevationCurve<-data.frame(s=0:49*2,h=100:149)
dischargeElevationCurve<-data.frame(q=0:9*250,h=140:149)
geometry<-list(storageElevationCurve=storageElevationCurve,
               dischargeElevationCurve=dischargeElevationCurve,
               capacity=80)
simulation<-list(start='2000-01-01',end='2000-01-05',by=1800)
reservoir_sim<-reservoirRouting(inflow=inflow,
                                geometry=geometry, 
                                simulation=simulation)
plot(reservoir_sim$operation[,1],typ="o",
     ylab="Discharge rate (cms)",
     xlab="Time step")
lines(reservoir_sim$operation[,3],col=2)

Example output

Loading required package: pso
Loading required package: Hmisc
Loading required package: lattice
Loading required package: survival
Loading required package: Formula
Loading required package: ggplot2

Attaching package: 'Hmisc'

The following objects are masked from 'package:base':

    format.pval, units

Loading required package: network
network: Classes for Relational Data
Version 1.15 created on 2019-04-01.
copyright (c) 2005, Carter T. Butts, University of California-Irvine
                    Mark S. Handcock, University of California -- Los Angeles
                    David R. Hunter, Penn State University
                    Martina Morris, University of Washington
                    Skye Bender-deMoll, University of Washington
 For citation information, type citation("network").
 Type help("network-package") to get started.


Attaching package: 'network'

The following object is masked from 'package:Hmisc':

    is.discrete

Loading required package: GGally

Attaching package: 'RHMS'

The following objects are masked from 'package:base':

    transform, transform.default

RHMS documentation built on Sept. 27, 2021, 5:06 p.m.