The “Wormhole Method” for including long culverts in a 2D HEC-RAS model
An 18 July 2016 post on the RAS Solution forum by user ckatsoulas provides a workaround for entering culverts into a 2D HEC-RAS model with the inlet and outlet located some distance apart.
This method basically uses a ground-level weir with culverts as an SA/2D Area Connection, with the inlet and outlet separated along the embankment stationing. I tried applying the method on a couple of models and can confirm that it works. Here’s a screenshot of the schematic setup of one of my test runs with the resulting water depths:
I’ve called this the “Wormhole Method” since it can essentially transport flow instantaneously between weir stations, regardless of how far apart they actually lie…a little something like this:
Background image © space.com
This technique has always been do-able in 1D models but I had not tried it yet in a full 2D model, so I thought I’d give it a shot. Here is the link to the original forum post:
The post states:
“I have found a way to create long culverts between two points a distance away and wanted your feedback on the suitability of this method. I basically draw a weir connection with a culvert in a z-shape. The head of the ‘z’ is placed on the upstream point and the tail of the ‘z’ is then dragged anywhere around the 2D area. The trick is to position the inlet at a station that lies at the head of the ‘z’ and the outlet is skewed so that it sits at a station on the tail of the ‘z’. I then check the existing terrain along the weir object and copy and paste the levels to the weir level table. I then enter the culvert details and when I run the job the water goes into the inlet and spills out at the tail of the z-shape. I can extend the weir object anywhere on the map and as long as I keep my weir at the ground level I don’t disturb the natural runoff and can even do rain on grid model runs.”
This method provides a workaround for one of the current limitations of HEC-RAS acknowledged in the February 2016 HEC-RAS 2D manual (Page 6-64), which states:
“Note: Currently the Internal Hydraulic structures are limited to connecting cells along faces. Hydraulic outlets such as gates and culverts can only be connected from the cells on one side of the structure to the cells on the other side of the structure. In future versions we will allow culverts, gates, etc. to be connected to cells upstream and downstream of the structure that are some distance away from the structure (i.e., you will be able to specify the X and Y coordinates of the culvert of gate entrance and exit).”
Some of my models have floodways (low-level or dip crossings) for separate LV and HV traffic lanes where the inlet and outlet of the culverts that cross below the floodway are upwards of 80 metres apart. Forcing these models to connect adjacent cells (with terrain elevations that have to be lower than the culvert invert) in this instance is completely impractical, requiring the incorporation of a 1D reach into the model or complete removal of the roadway embankment in the terrain. The Wormhole Method allows the road crossings to be modelled completely as 2D terrain with the inlet and outlet on opposite sides of the floodway.
I have also used this method as a workaround to add an internal boundary condition for inflows. See an example here. In the current version of HEC-RAS, inflows can only be introduced along the external 2D Area boundary, and I frequently run up against this limitation. When a tributary’s headwaters are located completely within the 2D area, for example, I’ve had to use the “Pac-man Method” of putting a slice into my external boundary just to introduce the inflow. This becomes problematic when there is flow on both sides of the inflow, however. Although the Wormhole Method is a bit cumbersome for this purpose (because it requires some trial and error to adjust the culvert outflow hydrograph to match the desired inflow hydrograph at the internal boundary condition location), it can be used in a pinch.
I’ll include an example below where I’ve used the Wormhole Method to simulate outlet works on a dam. Here is a creek system that is modelled as a 2D Area:
I use the “SA/2D Area Conn” button along the Tools ribbon to add a dam across the creek and set the Weir/Embankment crest elevation above the channel banks.
Here is the dam profile (entered using the “SA/2D Area Conn” button along the Editors ribbon).
I then add a second SA/2D Area Connection to simulate the culvert inlet and outlet locations. I orient the line left to right looking downstream across the channel upstream of the dam, then cross the channel and change directions again to keep the flow orientation pointed downstream at the outlet. (See our article about the best shape for a wormhole culvert.) The alignment will snap to the cell faces but can be smoothed by enforcing the internal connection as a breakline (though that’s not required unless your grid size is very large relative to the length of the alignment). I then use the “Terrain Profile” button and copy/paste the profile data to the Weir/Embankment editor. This introduces a weir along the selected alignment that matches the existing terrain and therefore does not affect the hydraulics. Essentially it’s just a line painted on the ground. Keep in mind that you will need to set the overflow computation method to “use normal 2D equation domain” rather than the weir equation as described in more detail here.
I then add a culvert with the inlet in the first (upstream) main channel. I skip the second (middle) main channel crossing and add the outlet at the third (downstream) creek crossing, ensuring that the culvert invert is above the ground elevation in the terrain surface. The schematic plan view representation of the culvert will be incorrect (it will be centred on the connection line at the upstream station and oriented perpendicular to the line). But the locations shown for the inlet and outlet in plan view are not used in the 2D analysis anyway (since the current version of HEC-RAS can only draw flow in or discharge flow out to the grids located immediately adjacent to the connection line, regardless of where the schematic shows them).
When I rerun the model with the structure in place, flow backs up behind the dam, and when it reaches the invert elevation of the upstream culvert, flow begins to appear at the downstream outlet location, skipping the mesh cells in between. Here’s how it appears in RAS Mapper:
This particular scenario could represent an outlet pipe that has been tunneled through the dam embankment with discharge re-entering the channel at the downstream outlet location. I can adjust the culvert length, width, height, diameter, etc. to change the arrival time or the flow rate through the culvert and – with enough iterations – match any hydrograph I wish to introduce.
Instead of using a short ‘z’ shape, I also tried using a long, snaking ‘s’ shape to move the inflow to an adjacent tributary. See an example of this application here. By introducing an artificial upstream storage area outside of my area of interest (but inside of the 2D Area) and connecting it to my desired inflow location, I can add inflows anywhere I’d like. This essentially becomes a workaround for allowing internal boundary condition lines. Keep in mind, though, that the 500-point limitation on weir embankments still holds, and the weir elevations cannot be set below the ground level. The cross section points filter can be used to reduce the number of points for a long connection, but then some of the weir elevations will also need to be raised, so the process gets very awkward if you move the inflow and outflow locations too far apart.
The Wormhole Method also works with bridges where the deck elevation is included in the terrain data, with the ‘z’ alignment extending diagonally across the bridge deck. See an example here. As with the other bridge workarounds in 2D models, any results generated by this method would greatly benefit from calibration against a localised 1D model or actual observations. None of these workarounds should be used to design an actual structure, and all of the other disclaimers that are stated in this blog post about bridges in 2D areas would apply to the wormhole culvert workaround as well. But if the focus is on flood levels or other elements that are affected by the presence of a long culvert or bridge without requiring the actual design details for the structures themselves, this method of instantly teleporting the flow along embankment stations seems to function quite well.
The original forum post didn’t generate any responses, but to me it appears to be an ingenious workaround (that hopefully won’t be required anymore when Version 5.1 is released). This method has always worked in 1D models, but I would appreciate further input on its validity for 2D situations. So far I have mainly used it to force a desired amount of inflow into a system by adjusting arbitrary culvert dimensions without testing whether the system would reasonably be able to provide that inflow over the assigned distances. I have done some limited sensitivity testing on a very simple model, but I would be very interested in any additional testing results that other users might be able to provide in order to determine whether the culvert hydraulics are in fact reasonable. In the meantime, given some of the current limitations of HEC-RAS, the Wormhole Method is just what I’ve been looking for – thanks Con!
May 2017 Update
- Wormhole culvert boundary conditions
- Putting wormhole culverts to the test
- Wormhole culvert sensitivity analysis
- What’s the best shape for a wormhole culvert?