Tuesday, September 27, 2016

Wormhole Culverts

This is one of the coolest workaround ideas for HEC-RAS that I've seen in a long time.  One of my joys in teaching HEC-RAS to professionals and students around the world is seeing the clever ways that people use and apply HEC-RAS.  Whether in a training class, giving technical support, or just simply over discussions with other HEC-RAS users, I still learn new ways to use HEC-RAS almost daily.  However, "Wormhole Culverts" has to be right up near the top of ingenious workarounds.

One current limitation in HEC-RAS 5 is that when you put a culvert or gate in a 2D Area Connection, flow through the culvert or gate can only go from a cell adjacent to the 2D Area Connection line on the upstream side to a cell adjacent to the 2D Area Connection on the downstream side.  If your cell size is relatively small and your culvert is relatively long, then your culvert may in reality span many cells between its upstream side and downstream side.  But the current limitation doesn't allow this.

wormhole_method_culvert_resultsBut we're in luck!  Mr. Con Katsoulas, a senior water resources engineering from SMEC in Sydney Australia came up with a method to get around this limitation.  He first discussed this in The RAS Solution forum.  And my friend and colleague, Mr. Krey Price of Surface Water Solutions wrote a detailed explanation on how to use this technique. Please read his blog post on wormhole culverts for the full description.

Good luck!  Give it a try and let me know how it works for you.


  1. Wow, what a clever and useful idea! Thanks for sharing, Con (and Chris)! I'd love to about the accuracy of this method, beyond its brute functionality in moving water from Point A to B. Hopefully, a few people with calibrated 1D bridge/culvert models can try this out and share their findings.

  2. I was able to make the long culvert work (still testing to see how effective it is for my situation), but I was very curious about utilizing this method to add internal boundary conditions for inflows. I didn't quite understand how you were able to make that work. I have used the "PAC-MAN" method before and it seems like I always have flow that needs to cross that PAC-MAN border.

    When you say you introduced an "artificial upstream storage area" are you referring to simple DEM manipulation to contain the inflow in this artificial storage area just inside the 2D model boundary and then utilizing your snake method to route your hydrograph to the desired point of internal inflow?

    Any clarification would be welcome. It is a wonderful idea on how to deal with the limitations of the model and was a well written piece. Thanks for the insight.

  3. Thanks for your query. I posted an additional example at http://www.surfacewater.biz/wormhole/ showing a case where flow has been moved from an artificial storage area (a fake reservoir) to another tributary. The artificial storage area is just anywhere within my 2D Area where I choose to store water for use elsewhere. As long as it doesn't interfere with the rest of my model, I can just put a dam around it (using the SA/2D Area Conn with a raised weir embankment), adjust the inflow to fill it up, and make a reservoir that I can draw on to route the flow anywhere else within the model using a wormhole culvert. A bit cumbersome (and hopefully won't be required as a workaround in future HEC-RAS releases) but for now it seems to do the trick. By the way, the example also shows the Pac-Man method...in case that designation isn't as self-explanatory as I might think as a retro fan. :)

  4. Chris-

    I have a hopefully simple question related to lateral structures in a simple steady-flow 1-D HEC-RAS model (although I'd also be curious if the same rule applies to a 2-D model).

    Is it possible to connect a lateral structure from one reach so that it discharges to the most upstream cross section of another reach? Or must the discharge point always be "between" two cross sections on the "receiving" reach?

    Right now it appears to me that the discharge point must always be between two cross sections.

    Thanks for any explanation you can provide.

    1. Yes. You are correct. It has to go between two cross sections.

  5. My question is little different from the topics. I have two pumps in my unsteady RAS model. The head difference between"pump from" and "pump to" stations is consistently not less than 8ft. However, my model is using flow rate for only 0ft head from pump efficiency curve. Can you tell what might cause this?

  6. Very cool! Thanks for the workaround!