Wednesday, August 18, 2010

Stability Issues with Storage Areas

Written by Chris Goodell, P.E., D. WRE | WEST Consultants
Copyright © 2010. All rights reserved.

Storage Areas in unsteady RAS are notoriously stable. That’s why we like to use them. Get the water out of the 1-d St. Venant unstable environment, into the 0-d stable continuity environment. However, I recently discovered a problem with storage areas that could cause your model to go unstable, or at least chug along slowly at max iterations.

Storage Areas in RAS are defined solely by a storage-elevation curve. That’s another reason we like them…they’re easy to code in. A typical storage-elevation curve looks like this:


Notice how is rises fairly quickly in stage from its minimum elevation then starts to level off as the added volume per ft of stage becomes larger and larger.

Now, if you have a storage volume curve that rises too quickly, it could pose problems.


Because the storage area is handled with the continuity equation, this is typically not an issue by itself. However, when these storage areas are connected with a reach (and they typically are) in the “quickly rising” range of elevations (here in the example between elevations 4388 and 4393), then we might violate my number one rule of unsteady flow RAS modeling-Changes should happen gradually-changes in discharge, changes in stage, changes in flow area, etc. etc ,whatever. In this case we are changing the stage in the storage area which is causing a quick change in flow over the connecting lateral structure and a quick change in stage in the adjacent cross section(s).

Solution: Looking at this steeply rising storage area curve , we can guess that the quickly rising portion of the curve might represent some small ditches or creeks, or even some small pits within the storage area. Is it critical to represent these features in the model, especially if we’re most interested in the high flow portion of the simulation? Also, will it make that much difference to remove these features? Probably not. We should keep the invert or minimum elevation point, incase any connecting cross sections have inverts at that elevation, but if we remove the 2nd and 3rd points from the curve, it doesn’t drastically change the look of the curve, and it just might stabilize this area.


How to spot this problem: While you’re running your model, if it gets caught on maximum iterations at a storage area, or if it bounces between a storage area and an adjacent part of a reach, then this could be the problem. Also, if you’re maxing on iterations at a cross section or range of cross sections that is adjacent to a lateral structure, and the elevation of the reported error suggests you are overtopping that lateral structure, make sure that the connecting storage area doesn’t have a steeply rising storage elevation curve.

Here’s an example:

Maximum iterations of 20 at: RS WSEL ERROR

03JAN2010 09:50:38 River Upper 34454.76 4423.88 0.055

03JAN2010 09:51:00 River Upper 34602.8* 4424.34 0.027

03JAN2010 09:51:08 River Upper 34602.8* 4424.39 0.048

03JAN2010 09:51:23 SA Area47 4392.44 0.052

03JAN2010 09:51:30 River Upper 34602.8* 4424.34 0.026

03JAN2010 09:51:38 River Upper 34602.8* 4424.39 0.047

03JAN2010 09:51:53 SA Area47 4392.66 0.058

03JAN2010 09:52:00 River Upper 34454.76 4423.93 0.028

03JAN2010 09:52:08 River Upper 34602.8* 4424.39 0.048

03JAN2010 09:52:23 SA Area47 4392.91 0.065

03JAN2010 09:52:30 River Upper 34454.76 4423.93 0.027

03JAN2010 09:52:38 River Upper 34602.8* 4424.40 0.048

03JAN2010 09:52:53 SA Area47 4393.19 0.073

03JAN2010 09:53:00 River Upper 34454.76 4423.94 0.030

03JAN2010 09:53:08 River Upper 34602.8* 4424.40 0.050

03JAN2010 09:53:23 SA Area47 4393.50 0.080

03JAN2010 09:53:30 SA Area47 4393.58 0.083

03JAN2010 09:53:38 River Upper 34602.8* 4424.40 0.051

03JAN2010 09:53:53 River Upper 34602.8* 4424.38 0.022

03JAN2010 09:54:00 River Upper 34454.76 4423.94 0.023

03JAN2010 09:54:08 River Upper 34602.8* 4424.41 0.050

03JAN2010 09:54:30 River Upper 34454.76 4423.96 0.037

Notice how the errors are bouncing between Storage Area 47 and a specific part of the reach “River Upper”. If we check storage area 47, sure enough, its storage elevation curve rises very quickly, and could probably be adjusted to removed the stability issue in the range of stages shown in the computation message log (about 4392 to 4393 ft).



  1. It is my understanding that storage areas are really only used to unsteady state flow analysis in order to capture the attenuation of flow over time. I noticed that if I used a storage area in a steady state analysis I still get attenuation, but I am not sure if it is erroneous or not? Any thoughts?
    In other words, if a storage area is used in a steady state analysis, is this attenuation captured for the specified flow? or does it provide an erroneous flow attenuation?

  2. hi, im modeling a dam breach with the reservoir modeled as a storage area. inside this storage area i have used to cross section as suggested in the module. i have also correctly connected my river reach with storage area. i have used a pilot flow and initial Rs station in combination as a boundary condition. additionally a lateral inflow to storage area and a normal depth are my bc in the unsteady editor. all my cross sections and the inline structure look good where my model is going unstable right away after simulation starts. i have tried it so many times yet i can't improve the model even a bit. what improvements shall i apply ??

  3. hi i am harsh
    i am getting below error since long and didn't getting any solution
    error! *** extrapolated beyond the Storage VOL vs Elevation Curve ****
    sir please hepl me out what could be the problem for such error

    1. You have a storage area elevation volume curve that does not extend high enough. RAS is returning a water surface elevation that goes beyond your definition of that curve. In this case RAS extrapolates to get a result. Typically that is ok on an elevation-volume curve because it is usually fairly linear out there. But it is always good practice to extend the curve so it is higher than the highest computed water surface elevation.

  4. Hi. I also get the extrapolation error, but I expected the water to go higher than the storage area. I was inputting small storage areas along either side of a river that would begin to fill once the water overtopped lateral weirs. My main question is, how do you set a maximum elevation or maximum storage volume? The small storage areas are not intended to attenuate the entire flood, but take smaller amounts of water off the river to a certain point. So in theory, it would accept water to a certain elevation and then bypass the weir and just flood the overbanks as it typically would. I am adding the lateral structures and storage areas in the 1D portion of a couple 1D/2D model. Spatially, the storage areas are within the 1D portion, but I could pull in the 2D portion if needed. However, I was trying to avoid it since this was supposed to be a pretty quick and simple test run.


Note: Only a member of this blog may post a comment.