Reservoir Basics
Flow includes a reservoir model based very closely on the ResSIM model developed by the USACE. The purpose of this model is to represent,
to the greatest extent possible, ResSIM within the Envision framework. It is built around two central concepts - defining individual reservoirs in the system, and defining control points, points in the stream network reporeseting points whose flow rates influence reservoir operations.
document describing the technical details of the ResSIM model employed in Envision is provided here
Like other aspects of Flow, reservoirs are specified in the Flow Xml input file, as well as additional external reservoir files, defined within the <reservoirs> tag. Within this tag, individual reserrvoirs are defined with <reservoir> tags, one for each reservoir defined in the system, and individual control points are defined with <control_point> tags.
Attributes for the <reservoir> and <control_point> tags are defined below. In general, the Xml for specifying reservoirs uses the following general form:
Within {myflowmodel}.xml
<flow_model>
...
<reservoirs col="ResIDCol" >
<reservoir name="Res1" ... />
...
<reservoir name="ResN" ... />
<controlPoint name="CP for Res1" ... />
...
<controlPoint name="CO for ResN" ... />
</reservoirs>
...
</flow_model>
Specifying Reservoirs in the Flow Xml Input file
Tags used to define reservoirs and control points for Flow are defined below. The tags include:
<reservoirs>
Attribute | Description | Default Value | Required | Example Usage |
col | column in the Streams coverage containing the reservoir ID for each stream reach that contains a reservoir | | Yes | RES_ID |
<reservoir>
Attribute | Description | Default Value | Required | Example Usage |
name | Reservoir name | | Yes | My Reservoir |
id | Unique Reservoir ID | | Yes | any integer |
path | Path of reservoirs main directory, where reservoir input files are stored. | | | |
initVolume | Initial volume, set to lower value of flood control pool, m3 | | | |
area_vol_curve | Filename of text file with area, volume and pool elevation relationships | | | |
av_dir | Directory containing area volume curves | | | |
rule_curve | Filename of text file with rule curve information | | | |
rc_dir | Directory containing rule curves | | | |
buffer_zone | Filename of text file containing the buffer zone curve values | | | |
composite_rc | Filename of text file with release capacity information | | | |
re_dir | Directory containing release capacity curves | | | |
rp_dir | Directory containing rule priority file | | | |
rule_priorities | Filename of text file with rule priority information, by zone (e.g. flood control, conservation, buffer) | | | |
cp_dir | Directory containing text files with control point constraints (accessed by multiple reservoirs) | | | |
minOutflow | Minimum outflow (cms) | | | |
maxVolume | Maximum reservoir volume (m3) | | | |
td_elev | Top of dam elevation (m) | | | |
inactive_elev | Inactive elevation (m) | | | |
fc1_elev | Flood control elev (m) – only if more than 1 flood control zone exists | | | |
fc2_elev | Flood control elev (m) – only if more than 2 flood control zones exist | | | |
fc3_elev | Flood control elev (m) – only if more than 3 flood control zones exist | | | |
maxPowerFlow | Physical maximum flow that can be passed through the powerhouse | | | |
ro_rc | Filename of text file containing capacity information for regulating outlets (typically dependent on pool elevation). | | | |
spillway_rc | Filename of text file containing capacity information for spillway outlets (typically dependent on pool elevation). | | | |
tailwater_elev | Elevation of tailwater (m). Used in hydropower calculations. | | | |
turbine efficiency | Reported turbine efficiency (values taken directly from ResSIM). Used in hydropower calculations. | | | |
p_maintainence | Probability of maintenanceename | | | |
ressim_output_f | Filename of file containing flow output from ResSIM model (used for model comparison purposes) | | | |
ressim_output_r | Filename of file containing rule output from ResSIM model (used for model comparison purposes) | | | |
<
controlPoint>
Attribute | Description | Default Value | Required | Example Usage |
name | Name of control point (names used directly from ResSIM) | | | |
Id | Unique numerical ID | | | |
Dir | Directory where the text file describing constraints at the control point is located | | | |
Control_point | Name of the text file describing constraints | | | |
Location | COMID of the reach within which the control point is located | | | |
Reservoirs | A list of all the reservoir that this particular control point influences | | | |
Defining Reservoir Operations in Flow/RESSIM-Lite
Operating parameters for RESSIM-Lite are defined using a set of CSV files. The operating parameters are organized using four files:
- Area Capacity Curves
- Reservoir Rule Curve
- Release Capacity Curve
- Rule Priority Table
Rule Priority Table
The rule priority table contains a list of constraints, from lowest priority on top to highest priority on the bottom, for each operation zone within the reservoir. The zones are organized as follows:
Zone 0 | Top of Dam |
Zone 1 | Flood Control |
Zone 2 | Conservation Zone |
Zone 3 | Buffer Zone |
Zone 4 | Alternative Flood Control 1 |
Zone 5 | Alternative Flood Control 2 |
Below is an example rule priority file (CSV format):
0 | 1 | 2 | 3 | 4 | |
Max_Drafting.csv | Min_Daily_MaxD_BiOp.csv | cp_Max_bf_Jefferson_23780423.csv | Min_Daily_MaxD_BiOp.csv | MaxD_Decreasing_Rate_of_Change.csv | |
MaxD_FloodDcrsRate_Fostr.csv | MaxI_Increasing_Rate_of_Change.csv | cp_Max_bf_Waterloo_23785687.csv | Min_Foster_min_for_Buffer_Zone.csv | MaxI_Increasing_Rate_of_Change.csv | |
MaxI_FloodIncrsRate_Fostr.csv | Max_Winter_and_Con.csv | cp_Max_bf_Salem_23791083.csv | Pow_Max_FOS_power_release.csv | Release_10000cfs.csv | |
Pow_Max_FOS_power_release.csv | Spill_Min_Fish_Weir.csv | Min_Daily_MaxD_BiOp.csv | | Spill_Min_Fish_Weir.csv | |
| Pow_Max_FOS_power_release.csv | MaxI_IncrseRampingRate_Fostr.csv | | Pow_Max_FOS_power_release.csv | |
| | Min_ConservFlow_Fostr.csv | | | |
| | Max_Winter_and_Con.csv | | | |
| | Spill_Min_Fish_Weir.csv | | | |
| | Pow_Max_FOS_power_release.csv | | | |
The zone number is in the first row, and the names of the text files corresponding to each constraint are located in a list below. Each column in the table above is stored as an array of objects called ResConstraints within an object called a ZoneInfo. A ZoneInfoArray for each reservoir stores the array of ZoneInfo objects (5 in the example above). Each ResConstraint is a text file with allowable reservoir release values given 1 or 2 variables. There are 8 types of constraints described in the table below:
Rule type | File header | Constraint Type |
Minimum | Min_ | 1 |
Maximum | Max_ | 2 |
Increasing Rate | MaxI_ | 3 |
Decreasing Rate | MaxD_ | 4 |
Control Point | cp_ | 5 |
Power Plant rule (gate specific) | Pow_ | 6 |
Regulating Outlet rule (gate specific) | RO_ | 7 |
Spillway Rule (gate specific) | Spill_ | 8 |
Defining Reservoir Operations in Flow/RESSIM-Lite
Operating parameters for RESSIM-Lite are defined using a set of CSV files. The operating parameters are organized using four files:
- Area Capacity Curves
- Reservoir Rule Curve
- Release Capacity Curve
- Rule Priority Table
These files are defined below.
Rule Priority File
The Rule Priority File