Tuesday, March 24, 2015

Introduction to Minimum and Maximum Rules

To understand the use of minimum and maximum rules in ResSim, it is important to first understand the internal logic used.

If the pool elevation is below the guide curve (set as top of conservation in the model), ResSim will hold as much inflow as possible to rise up to the guide curve as quickly as possible.

If the pool elevation is above the guide curve, ResSim will release as much as needed to get down to top of conservation as quickly as possible.

 If there are no rules of operation, its only limitation will be the amount of inflow and the physical capacity of the outlets. To illustrate this, I have developed a simple model with one reservoir.

The first simulation starts with the pool in the conservation zone (note that top of conservation is at elevation 50 ft).  The reservoir is holding all of the inflow, and it rises back to top of conservation in just under 2 days (flat pool for first three days in the lookback period).  The release is set to 500 cfs in the lookback period which is equal to the inflow.  Once the simulation begins, the release drops to zero since there are no requirements.  

(Note: pool elevation and outflow are given by the green lines)
With the pool in the conservation zone, ResSim wants to hold as much inflow as possible.  This means that the only impact to the result above will be caused by a minimum release requirement.  A maximum release requirement would have no impact on this result.  

In the next simulation, a minimum release rule of 250 cfs was added in the conservation pool.  

In these results, you can see that the rising pool elevation still occurs; however, the amount of time it takes to rise to the top of conservation increases from about 2 days to about 4 days.  In the release plot, you can see the release drops to 250 cfs instead of dropping to 0 cfs.  Once it reaches top of conservation, it passes inflow (500 cfs) to hold that level.    

Next, we can look at how ResSim behaves when the pool is above top of conservation.  To do this, I start the simulation with the pool at 52 ft (2 feet into the flood pool).  At this point, I have no rules of operation in the flood pool.  The pool is drawn down to the top of conservation in about 2 days.  The release is set to 1,000 cfs (physical capacity of outlet) once the simulation begins.  Recall that the first three days are the lookback period where a constant elevation was specified.

Since ResSim is trying to release as much as possible to get down to top of conservation, a minimum release rule in the flood pool will not affect this result.  In the next simulation, a maximum release rule of 750 cfs was developed for the flood pool.  

This rule causes the dam to restrict its outflow capacity below the physical capacity of its outlet.  As expected, the drawdown to top of conservation is extended due to the reduction in release from 1000 cfs to 750 cfs.  

Friday, March 20, 2015

How do I fix my errors?

The error messages that HEC-ResSim produces are not always very clear.  So, I thought it may be useful to take a working model and break it in various ways to look at the error messages.  The model is shown below.  It contains a main stem and a tributary.  There are two reservoirs on the main stem.

Here is the plot for the upstream reservoir to show that it is a working model.

Error #1.  I will remove the inflow from the upstream end of the tributary.  Remember that ResSim needs inflow at the upstream end of all tributaries and at the upstream end of the main stem.

Here is your error message:

Error #2:  ResSim requires that the dss files are complete without missing data.  So, I am going to remove a value from my dss file during the simulation period.  

Here is the error message:

Error #3:  It is easy to forget to specify lookback elevations and releases.  These can be either a constant value or a time series.  For this error, I specify that I am using a time series for the lookback elevation at the upstream reservoir, but I forget to specify the dss pathname.

Here is the error message:

Error #4:  The first three error message are relatively straightforward (or at least they give some indication of what is wrong).  However, look at the following error message:

This is probably not going to lead you directly to the problem.  This is where it becomes important to check your data that is being entered into the model.  I created this error by putting in a release function for my outlet that doesn't have a constantly increasing elevation in the table.  Below is a screenshot:

Error #5:  Another example about being careful when inputting data.  Here, I deleted the outlet data for my upstream reservoir.  You can see that there is no additional information in the error message. 

Error #6:  For this error, I specified Muskingum-Cunge for the routing method in the reach below the upstream reservoir, but I neglected to put in any of the parameters.

Here is the error message:

Error #7:  Here is another error caused by missing lookback data.  To produce this error, I removed the lookback release for the upstream reservoir.  You can see that this error message is not as clear as the message shown in Error #3.  

Here is the error message:

Addtional notes about errors:  In trying to "break" my ResSim model, I noticed that it would sometimes still run to completion and give results.  For example, this occurred when I removed all zone elevations from my downstream reservoir.  I would have preferred an error message in this case.