Friday, September 16, 2016

Using HEC-ResSim to model an irrigation network

I have developed a simple example to show how to create an irrigation network in HEC-ResSim.  This development includes creating a diversion from a reservoir on the main stem of a river to move water to dummy reservoirs.  The reason I use the dummy reservoirs is for decision making in the irrigation network.  The rules are relatively simple based on moving a percentage of inflow to the diversion and a percentage downstream of the dummy reservoir, but added complexity is possible.  It is up to the user to decide if HEC-ResSim is the proper choice for their situation, but this example will demonstrate the potential use of HEC-ResSim.

Below is a schematic of my sample watershed setup.  To the right is the main stream with the sample irrigation network being on the left.  There is a diversion from the main reservoir to "dummy" reservoir number one, and a diversion from "dummy" reservoir number one to "dummy" reservoir number two.  Notice that I used diversions and placed them in the watershed setup module.



In the reservoir network, I add my reaches.  For this example, I simply used null routing.  Also, notice that I added a diversion out of the system.  For this example, I assumed that all water getting into the irrigation system would be used with none returning to the main stream.  If there was some return water, I could have diverted something less than 100% of the flow out of the system.




For the reservoir on the main stream, I have the diversion along with an outlet that allows flow to remain in the main stream below the dam.  I give each outlet a capacity of 1,000 cfs.  This is shown below.  "Dummy" reservoir number one has the same physical components and "Dummy" reservoir number two has only one outlet to release flow downstream of the dam.  ("Dummy" reservoir outlets not shown).



For the reservoir on the main stream, 50% of the inflow is diverted and 50% of the inflow is passed downstream of the dam.  This is done by applying a rule to the diversion and applying a rule to the controlled outlet at the dam.  This rule is a function of the inflow into the reservoir.  The rule for the diversion is shown below.  At "dummy" reservoir number one, 60% of the inflow is diverted downstream and 40% is diverted to "dummy" reservoir number two.




In the simulation, the inflow at the head of the irrigation canals is .01 cfs.  This gives HEC-ResSim some inflow at the upstream end, but it is not significant enough to impact the results.  Basically, all inflow into the irrigation network comes from the main reservoir.  I begin the main reservoir at the top of conservation.  I assume that it is simply controlling where the inflow is to go, so I don't want it to store inflow or empty storage.  The dummy reservoirs are placed at the top of the inactive pool.  The rules will move the incoming inflow to the proper location, and I did not want any excess to be released due to the "dummy" reservoir moving into the flood pool.  You may want to consider using an artificially large storage for the dummy reservoirs to avoid any unintended encroachment into the flood pool.

The results for the main reservoir are shown below for 02Jan2015 at 22:00 hours to 04Jan2015 at 02:00 hours.  In these results, we can see flow in (third column) is equal to flow out (fourth column).  We can also see the the flow from the main outlet (second to last column) is equal to the flow from the diversion (last column) since they both release 50% of the inflow.



For the coding of the rules at reservoir, "dummy 1", I used a specified release rule that was a function of the previous value of Pool Net Inflow.  The results are shown below.  The inflow (column 3) is equal to the total outflow (column 4).  Note that there is a delay of one time step since we are using previous value of inflow.  The release to the reach downstream of the dam (second to last column) is equal to 60% of the inflow while the release to the diversion to reservoir, "dummy 2", is equal to 40% of the inflow.



We can check the flow in the reach below the confluence of the irrigation canal and the main stem.  This reach is shown in yellow below.  These results should match the outflow from the main reservoir that stays in the main stream since none of the irrigation diversions are being returned to the main stream.  The comparison of these values is shown below.  We can see that these values match.  Recall that null routing was used so there is not attenuation or lag to the releases.