How to Develop a Working Model

The previous blog posts showed specific applications using the HEC-ResSim software.  This post will show the creation of an HEC-ResSim model taking the reader through the Watershed Setup module, the Reservoir Network module, and the Simulation module.

The initial model development will be that of a flow through model.  It is recommended that the initial model setup be a flow through model to test the connectivity of the stream network and the overall behavior of the initial model setup.

A flow through model consists of the following model characteristics:

1.)  No rules of operation are entered into the model
2.)  A constant inflow is applied at the upstream ends of the main stem and all tributaries
3.)  The reservoirs are set to the top of the conservation pool and are releasing inflow in the lookback period.
4.)  The routing is set to null routing.

Once the results of the flow through model verify the connectivity and behavior of the model, additional inflow points with correct inflows, updated rules of operation, updated lookback values, and updated routing information can be incorporated.

Step 1:  Create a New Directory

For this example, I created a new folder on my local drive titled, "building a ResSim model".


Step 2:  Create a New Model

Go to Tools > Options.  Select the Model Directories tab.  Select Add Location.  Find the directory that you created in Step 1 and give the location a name.  The name for this example is "Sample Build of ResSim model".

Go to File > New Watershed.  Give the watershed a name and description.  Select location name.  Select units.  Select time zone.

Step 3:  Draw Schematic in Watershed Setup

Stream alignments can be imported from a GIS shapefile, but for this example, the alignment will be drawn in.  The stream is drawn first and then the reservoirs and computations points are added. Streams and reservoirs are drawn from upstream to downstream.

In this schematic, there is a main stream with a single reservoir.  There are tributaries coming in to the main stream both upstream and downstream of the reservoir.  I added the computation points named point 1 and point 2.

Step 4:  Create and Save Configuration

Go to Watershed > Configuration Editor.  The name given to the configuration is "sample build". The time step is 1 hour.

With the Watershed Setup completed, the Reservoir Network is then developed.  In the Reservoir Network, the physical and operational data is input.

Step 5:  Create the Reservoir and Dam Physical Data

Select the Reservoir Network module.  Create a new network.

Right click on the reservoir and select Pool.  Enter the elevation-storage data for the pool.  Elevation-area data is needed for evaporation.  It is left out of this example since we are ignoring evaporation for simplicity.

For this example, we will code one controlled outlet with a release capacity of 1,000 cfs for all elevations.  Right click on Dam at main stream and select "Add controlled outlet".

Step 6:  Create the Reservoir Operational Data

Go to Operations > New.  Since we are developing a flow through model for testing, no rules are entered at this time, only the zone elevations.  For this example, I put in elevations for top of flood control (75 ft), top of conservation (50 ft), and top of inactive (25 ft).

Step 7:  Create the Routing Reaches

Before drawing the routing reaches, I recommend adding junctions to the confluence of the tributaries and the main stem.  In the schematic below, I added the following junctions: "us trib and main" and "downstream trib and main".  Note that junctions 6, 7, and 8 were added automatically when I created the reaches.  Reaches are drawn from junction to junction upstream to downstream.  The computation points, "point 1" and "point 2", become junctions in the Reservoir Network module.  The default routing method of Null is used in the flow through model.  


Step 8:  Create the Inflow DSS File

For the flow through example, create a single dss file with a constant 500 cfs of inflow.  This will be applied to the upstream end of the tributaries and the main stream.  

Open HEC-DSSVue.  Create a new DSS file in your shared sub-directory.  

Under data entry, select "Manual Time Series".  Enter the pathname parts with the time series increment.  This data set is being created with a 1-hour increment.  Use a start date and end date that will cover the entire simulation including lookback.

Step 9:  Create Alternative

Go back to ResSim and create the alternative.

Set lookback elevation to top of conservation (50 ft) and the lookback release to the inflow (1000 cfs).  These numbers will cause ResSim to hold top of conservation by releasing inflow.  This will help test the proper functioning of the model before moving on to adding rules, routing parameters, etc.  

Select flow through as your operations set.

Select upstream junctions in the model and indicate that inflow is coming in at these locations.  The 1.0 factor means that the inflow from the DSS file will not be increased or decreased.

Select the DSS filename and path for the three inflow locations.  

Finally, set time step to 1 hour under Run Control.

Step 10:  Create and Run Simulation

Select Simulation > New.  The lookback period is to ensure that model locations are populated with data once the simulation begins.  You need to make sure that your lookback period and simulation period are covered by the data in your DSS file.  Once this is complete, run your simulation.

Step 11:  Review Results

I first look at the flow into the reservoir (Junction CP1).  This inflow should be 1,000 cfs since I have 500 cfs coming in at Junction 6 and Junction 7.

Since the dam has the capacity to pass the inflow and there are no rules of operation, I expect to see the pool elevation remain constant at top of conservation (50 ft) and the outflow to be 1,000 cfs.


The junction, "Point 1", should have a flow a 1,000 cfs since that is being passed from the dam and there are no local inflows between the dam and "Point 1".

The junction, "Point 2", will have a local inflow of 500 cfs from the downstream tributary giving a total flow of 1,500 cfs when combined with the outflow from the dam.

At this point, we should feel comfortable that the model connectivity seems correct and that the behavior is what we would expect.  New inflow locations, new operations sets with rules, and new routing parameters can be added.

To show a simple example, the flow through operation set will be duplicated and re-named max release.  In this operation set, a maximum release rule of 750 cfs will be added.

The alternative named flow thru will be saved as "max rel".  The operations set under the operations tab will be changed to max release.

Since the dates of our simulation are staying the same, we can add the max rel alternative to Jan-Feb 2015 sim and uncheck flow thru.

Now, when the simulation is computed, there is a rise into the flood pool since the rule is limiting the maximum release below the inflow.

It is advisable to build ResSim models in this step by step method and to observe the results after each addition to the operational rules or changes to other parameters.  It makes debugging the model much easier.

One final point is that this model was developed in English units.  By selecting View > Unit System in the simulation module, the results can be viewed in SI.


  1. Hi,

    I have a question about simulation. In my model, the simulation always fails with a message: "start date must be after lookback date". But the dates are well set up. Have you got this problem?


    1. Same problem here. I carefuly set lookback date to 01Jan2000 and start date to 02Jan2000 and still got the same message. It seems there is bug somewhere, in HEC or maybe in my system. Anyone managed to solve this issue?


    2. HEC provided me with the answer to this question. It has to do with the Windows settings for international users. I put more info regarding this into the latest blog post.

  2. Hi, please i have the same probleme , any solution??

  3. If the dates are set up correctly, then I am unsure of why you would be getting those errors. HEC-ResSim can be particular about the dates so make sure you have the format ddmmmyyyy. I will try to reproduce the error to see what could be causing that.

  4. Dears friends I have the same problem with this example. Please if you have the solution let me know. emai:

    1. Please see the screenshot that I have put up on the latest post. Is this the error message that you are getting? I get this error message when trying to save the simulation. Do you get the error message when saving the simulation or when you actually simulate the model?

  5. Dear Kevin I was not able to run the model. I got the error message when I was trying to create the simulation.

    I have another big problem. I´m working on a single reservoir modelling problem. I did my watershed, my network, alternative, all for 1 day time step. I tried to run the model and it said ---ERROR: ResSim compute failed!-- My question is: Where is the mistake in my model? How can I find where the error of my model is? I work with HEC-HMS, HEC-RAS, HEC-ResPRM, so I have some skills working with this softwares, but working with HEC-ResSIM have been very hard for me because I´m not able to see where the error is. I checked the User Manual and the Quick Start Guide and I didn´t find nothing about this. Please I will aprecciate so much if you could help me with this problem. Thank You.

    1. May be check up your Winows System Date configuration, should be in English

  6. You can usually get a more detailed error message from the Compute Log. In the Simulation Module, go to Reports --> Compute. Let me know what you find. You may also need to check your physical and operational data making sure that features such as outlets and zones are defined properly. Also, make sure that your model has inflow at it upstream end of the main river and its tributaries and that data is defined for the lookback and simulation time period.

  7. This comment has been removed by the author.

  8. Can we module a system which have distribution canals using HEC-ResSIM? I tried to module a watershed with that, but simulation was failed. I unable to find any solution for that. can u help me?

  9. Depending on the complexity of the model, you may want to consider using diverted outlets that move the water around in the system. You can also develop "dummy" reservoirs to help make the determination of where to move the water.

  10. yes my model is little complex. it have a main reservoir and three canals are starting from that. Again those canals will divide and water direct to small reservoirs. I used diverted outlets also. I tried to simulate this model several time. But it was failed. Is this type of models are possible?

    1. I believe it should be possible, but I would need to develop a test model to see if I run into any issues. It may be a while before I can develop and test something like that. It is a good idea for a future post.

  11. hi, I get a problem simulate differetn kind of simple network. Everytime I simulate I got the following message: "Failed to open Ressim run file for p1.Alternqtive probqbly hqsn't been computed.

    I have a selected alternative with simple information. It is a recurent Do you know where come from the problem?

    1. the console output is the following:
      getFileManager: No Workspace!
      getFileManager: No Workspace!
      getTSDataList: plotting 0 runs

    2. It is difficult to determine exactly what is wrong based on the error message. My thought is that it is a data issue. It doesn't appear that ResSim is simulating because it is looking for something that hasn't been provided. If everything looks ok on the watershed setup module, I would look at the physical data and operational data. Did you provide a storage-elevation table and at least one outlet? Did you specify an operations set with elevations for the zones? Do you have time series data for inflow? Did you specify lookback elevations and releases (you can enter constants for these?

  12. hi Kevin,

    Thanks for your answer, and by the way for your blog. it is really helpful for a new user.
    I fulfil all the information you are talking about (storage-elevation table, physical data and operational data, elevation for the zones, outlet, times serie inflow link to upstream points, lookback).

    After the first message "Failed to open Ressim run file for p1.Alternative probably hasn't been compute", I got a second one "No runs selected or no selected runs contain ResSim model", but am sure to follow you setup model and to refer to good files.

    1. This error came back on the console:
      Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: ERROR : Invalid Offset -12! Offest must be either equal to undefinde (RMAConst.UNDEF_INT) or between the values of -11 and +14

      Any idea where it come from?

  13. Hi

    Please, define "lookback release" and conservation level

  14. Please, You could answer by making a simple graph of these levels

  15. The conservation level is the guide curve within HEC-ResSim. The internal logic of ResSim is to hold inflow if the pool is below top of conservation to allow for a rise to the top of conservation and to release inflow and stored water if it is above top of conservation to bring the pool back down to the top of conservation. The rules that you write into ResSim will then limit the ability of ResSim to rise up to or fall down to top of conservation.

    Minimum release rules will limit the ability of ResSim to store water to rise back to top of conservation when the pool is in the conservation zone. Maximum release rules will limit the ability of ResSim to release water to fall down to the top of conservation when the pool is in the flood zone.

  16. Lookback values supply ResSim with the data that it will need once the simulation begins. Since ResSim needs to know the starting elevation of each of its reservoirs, you need to supply that. Also, ResSim needs to make decisions at the first time step in its simulation. That is why you supply ResSim with the needed flow and release data. It provides ResSim with the needed information to make decisions at the first time step. This is important especially if ResSim needs to look at downstream conditions to make a decision. Without the lookback period, ResSim would have no downstream data in which to base its operational decisions.

    In the figures above in the blog post, the vertical dashed line represents the transition from the lookback period to the simulation. In my examples, I use simplified data to help the reader understand the concept. Typically, you would use observed data in the lookback period.

    1. Thanks for your anwers, even I Hidrology engeener Is the first time I began to study this interesting Hec ResSim model so I have not succeed to run Simulation until this moment. May be in needed more documentation for the examples files

  17. What means this kind of fail that happen again and gain when I try to run Simulation with your sample? .. "FAILLED TO GET RIGHT LOCK FOR THRU INVALID OR BLANCK MODEL ALTERNATIVE AT MODEL POSITION 1

  18. It ia seems to me thag logical error arise at Simulation Date module please send video to yutube showing perfomance of this example


Post a Comment

Table Rock Dam

Table Rock Dam