createReservoir.base: base function for class of 'createReservoir'

View source: R/createReservoir.base.R

createReservoir.baseR Documentation

base function for class of createReservoir

Description

this function constructs an object from class of createReservoir, which is able to simulate a storage reservoir under given a sort of demand(s).

Usage

  ## S3 method for class 'base'
createReservoir(type,
                                 name,
                                 priority,
                                 downstream,
                                 netEvaporation,
                                 seepageFraction,
                                 seepageObject,
                                 geometry,
                                 plant,
                                 penstock,
                                 initialStorage)

Arguments

type

A string: the type of the reservoir being instantiated: by default 'storage', however, it can be 'hydropower'

name

(optional) A string: the name of the reservoir.

priority

(optional) An integer: the supplying priority. priority is a value in [1, 99] interval. If missing, the priority is set to Inf.

downstream

(optional) An object; from either of classes of createAquifer , createRiver, createReservoir, createJunction, createDiversion, or createDemandSite; which spillage volume pours to it.

netEvaporation

A vector: is a vector of net evaporation depth time series at the location of dam site (meter). If omitted, the evaporation is assumed to be zero.

seepageFraction

(optional) The seepage coeffcient of reservoir storage. The seepage is computed as the product of seepageFraction and reservoir storage. It is in [0, 1] interval

seepageObject

(optional) An object; from either of classes of createAquifer , createRiver, createReservoir, createJunction, createDiversion, or createDemandSite; which seepage volume pours to it.

geometry

A list of reservoir geometric specifications:

  • storageAreaTable: is a matrix whose first column includes reservoir volume (MCM) for different elevation levels and the second column contains reservoir area (in Km^2) corresponding to the first column

  • storageElevationTable: is a matrix whose first column includes reservoir volume (MCM) for different elevation levels and the second column contains elevation (in meter) corresponding to the first column

  • dischargeElevationTable: is a matrix whose first column includes the capacity of reservoir tailwater discharge rate (in cms) for different elevation levels and the second column contains elevation levels corresponding to the first column, required if the type = 'hydropower' and the item submerged = TRUE

  • deadStorage: refers to water in a reservoir that cannot be drained by gravity through the dam outlet works (MCM)

  • capacity: The maximum capacity of the reservoir

plant

A list of power plant specifications. It is provided if type = 'hydropower':

  • installedCapacity: the plant installed capacity (MW)

  • efficiency: is a matrix whose first column includes discharge rate (in cms) and the second column turbine effeciency, in [0 1] interval, corresponding to the first column

  • designHead: A vector of length of two, containing the minimum and maximum design water head (in meter) of the turbine respecively, that the it is in active state

  • designFlow: A vector of length of two, containing the minimum and maximum design flow rate (in cms) of the turbine respecively, that the it is in active state

  • turbineAxisElevation: The elevation of axis of the installed turbine (in meter)

  • submerged: logical: if the turbine is of type of submeged on, TRUE, otherwise, FALSE

  • loss: losses associated with the turbine (in meter)

penstock

(optional) A list of penstock specifications. It is provided if type = 'hydropower':

  • diameter: The diameter of the penstock (in meter)

  • length: The length of the penstock (in meter)

  • roughness: pipe roughness coefficient used for Hazen-Williams formulation

initialStorage

(optional) The initial stored water at the reservoir in the first step of the simulation (MCM). If is missing the the function iterate to carry over the reservoir.

Value

An object from class of list

See Also

createReservoir


WRSS documentation built on May 30, 2022, 1:07 a.m.