Reservoirs are top level objects each of which contain a fixed collection of
slots which represents its important hydrologic processes. The slots are
(click for a legend for the
standard slot display):
Storage. This slot represents the volume of
water impounded. It is a controllable slot. The storage slot has two internal
variables, one for the volume at the start of the time step and one for that
at the end. The ending value is what is reported and is used by contraints.
The beginning value is available to stack calculators.
Area Capacity Table.
This is an optional table which contains the relationships among the surface
elevation of the reservoir and its storage volume and surface area. This table
has three columns of numbers which, when entered with a value from any column,
will return the values in the other two by linear interpolation. There is no
particular limit on the number of rows in this table. Note that, while this
table is optional, a number of variables such as evaporation depend upon it.
Tailwater Discharge Table.
This is an optional table which contains the relationship between
discharge rate and tailwater elevation. This table has two columns of numbers,
one for discharge rate and the other for the corresponding tailwater elevation.
The table works by linear interpolation. Note that while this table is optional,
it is used in the calculation of head for hydropower.
Reservoir Behavior
The primary purpose of a reservoir is to impound water and release it for downstream
use in accordance with some policy established by the modeler.
The reservoir responds to all of the messages in the
meta algorithm and to no others. During
all steps of the MA except task and finish time step, it simply passes
the message down to each of its slots in turn. For example, the begin time step
response of a reservoir is simply to send a BTS message to each of its slots.
During the task step of the MA, the reservoir performs all calculations needed
to insure that end of period storage is equal to beginning of
period storage plus inflow and less release
and losses. In doing this, the reservoir may treat either inflow, ending storage or
outflow as the dependent variable depending on the
policy being implemented. Thus, if the
reservoir is operating to satisfy a downstream demand, the reservoir may take the water
from storage, pass the request upstream or some combination. In making that decision,
it checks the storage policy and is free to communicate with upstream water sources
if necessary.
During the finish time step portion of the MA, the reservoir calculates and
saves values for derived variables such as surface elevation
and surface area. It then passes the FTS message to each of
its slots in turn. Finally, the reservoir sets its beginning storage for the next
step to the ending storage for the current step.
Reservoir Customization
While the slots and tables available to a reservoir may not be changed by the user,
all of the values of those objects may be changed freely. The initial and target
values in the slots may be changed by using any of the
management policy controls. The one area
wherein you may change the reservoir's structure is in the addition of facets.
Facets are added to the outflow
slot and represent outlet works such as generators,
valves, weirs, etc.