Wednesday, September 30, 2015

Maximum Release based on Time of Year and Pool Elevation

This post was developed to demonstrate the use of IF statements to set a maximum release based on time of year and pool elevation.  I use a simple one reservoir model to demonstrate this.


I have one outlet at the reservoir with a capacity of 3,000 cfs.  I have 500 cfs of inflow coming into the main stem, into the upstream tributary, and into the downstream tributary.  I use null routing for simplicity.  This gives a constant of 1,000 cfs coming into the reservoir.  


The release requirements are as follows:

From January to June, release a maximum of 1,000 cfs if the pool is >= 82 feet and release a maximum of 700 cfs if the pool is < 82 feet.  From July to December, release a maximum of 1,000 cfs if the pool is >= 83 feet and release a maximum of 600 cfs if the pool is < 83 feet.  I repeat these IF blocks in the Conservation pool.    

Note that you can also set a rule to release inflow by making the rule a function of a model variable and selecting the inflow into the reservoir as the model variable.       



The figure below shows the development of the IF statement to define the time period from 01Jan to 30Jun.



The figure below shows the development of the IF statement for the pool being greater than or equal to 82 feet.  


The figure below shows the development of the 1000 cfs maximum rule.  


The figure below shows the results of the simulation.  The pool starts at the top of conservation.  With 1,000 cfs of inflow, the release is limited to 700 cfs from January through June when the pool is less than 82 feet.  This causes a rise in the pool elevation since inflow exceeds outflow.  Once the pool is at 82 feet, a release of 1,000 cfs is allowed.  Since this equals inflow, the pool is steady.  

On 01 July, the release is limited to 600 cfs when the pool is less than 83 feet.  It rises rapidly to 83 feet at which time, the maximum allowable release becomes 1,000 cfs.  Since this equals inflow, the pool once again is steady.