Virtual Flume
Ven Te Chow’s book “Open Channel Hydraulics” is arguably the gold-standard book for hydraulic engineers-especially those of us who model open channel flow.
Let’s say you have a digital terrain model of the area you want to model with 2D HEC-RAS. ONLY 2D RAS. In other words, you want to lay out a grid, but do not want to have do to any 1D computations-all 2D. The problem is the area you want to model includes one or more rivers and streams that have no bathymetric (under water topography) data represented in the digital terrain model. This is a common problem as many sources of terrain data are collected today using LiDAR (Light Detection And Ranging). As great as LiDAR is for collecting surface data, conventional forms of LiDAR do not penetrate water.
To adequately model 2D in RAS,
you need a terrain of your entire modeled area-including the stream channels. HEC has come up with an easy way to weave in a channel terrain with your LiDAR terrain, IF you already have cross sections of the channel.
Open an HEC-RAS project in Version 5.0 (beta or newer) that has your cross sections represented in a geometry file. The figure below shows an existing model of the White River in Muncie, Indiana USA. This is from one of the standard 2D HEC-RAS data sets that come with HEC-RAS 5.0 beta.
We wish to lay a grid over this entire area to model it as 2D only. A major problem here is that the terrain below the water surface of the White River is not included in the Terrain that we have obtained. Notice that there is no relief represented within the stream, and in fact the bridges that cross over the White River are included in the original terrain. Bridges should not be included in the terrain-they can be added as model components in the geometry window, if it is desired to include them in your model.
HEC has provided a way to easily incorporate our cross section data into the terrain for a single comprehensive terrain model that includes bathymetry (and no bridges in the terrain!):
1. In RAS Mapper, first make sure a geographic projection is selected (Tools…Set Projection for Project…). Then select to view the geometry that has the cross sections you want to include in the terrain. Then check the features River, Bank Line, XS (XS stands for cross section), and XS Interpolation Surface. It should look like this:
Here you can see, that just by having cross sections in a geometry file, RAS has already created a conceptual interpolated surface from those cross sections. Each pair of cross sections is linearly interpolated. This is very similar to the cross section interpolation routines in the tools menu item of the geometry window. Only here, instead of adding interpolated cross sections, we’re developing a continuous surface that can be made into a terrain. RAS does all of this for you, all you have to do is enter cross sections into your geometry, and check the box that says XS Interpolation Surface.
2. From the data file tree on the left, right-click on the name of the geometry file you’re working in and select Export Layer…Create terrain GeoTiff from XS’s (channel only). We select channel only, under the presumption that the LiDAR data has better resolution than the cross section data, so where the two sources overlap (i.e. in the overbanks), we’ll stick with the LiDAR data. If channel only is selected, RAS will create the new terrain between the established Bank Lines (polylines that spatially connect the cross section bank stations).
Once you select to create the terrain from XS’s, RAS will ask you to name the new terrain (a GeoTiff) and where to store it. It will also ask you to enter in a raster cell size. This is the grid cell size that RAS will set this new terrain to. It should be representative of the resolution of the station-elevation data that make up your cross section. You can view the new terrain by selecting Tool…New Terrain.
3. Once you’ve added the new channel, a new terrain can be created that combines both the original LiDAR-based terrain with the new channel terrain. Select Tools…New Terrain. This time you’ll add both two files: the original terrain and the new channel terrain.
Make sure that the channel terrain (in this example…White River.tif) has the highest priority by moving it to the top of the list using the arrow button on the left. This will ensure that where ever the two terrains overlap, the channel terrain will be used in creating the new single comprehensive terrain. After clicking the Create button, a new terrain is created that combines both the channel bathymetric data (interpolated by cross sections) and the original LiDAR-based terrain.
Now you’re ready to lay down a mesh and run your 2D model. More information on working with terrains in HEC-RAS 5.0 can be found in the document “Combined 1D and 2D Modeling with HEC-RAS”. Check the link on the side bar to download the latest version of HEC-RAS.
Comments
J. Niedzialek
on December 9, 2014Nice post, thanks for doing these. I've also found this as a nice/quick tool for merging terrain with cross-sections to improve RasMapper mapping results even for 1D simulations. In other words just improves the visualization of the inundation area around the river sections after modeling but very handy and requires less tweaking for production mapping.
Chris Goodell
on December 9, 2014Excellent point! Thanks for mentioning that.
Bhavin Gandhi
on December 10, 2014Chris,
Great post… The terrain generated by Rasmapper is equally good to create interpolated cross-sections between surveyed data (HECGeoRAS Input Data processing using DEM)for most projects where rivers have relatively linear slope with varying overbank topography.
Lonnie A
on December 17, 2014Sure does make adding a proposed channel to the surface easier. Can also be used to make edits to the surface reflecting proposed fill such as new roads…though there are probably better tools if you are well versed in GIS.
Daniel Aragon
on January 12, 2015This tool is just what I was looking for. I've got a model built to investigate habitat conditions for low and medium flow conditions, so correct bathymetry in the TIN is really important when exporting steady flow simulations to GIS. One question though, the model is built in version 4.1. Can I import that into 5.0 to use the new RasMapper features? Or, is a CAD program the better way to go?
Thanks!
Chris Goodell
on January 13, 2015HI Daniel. As long as your model in 4.1 is georeferenced and you have a digital terrain model in the same projection, it should be no problem. No need to import to 5.0. Just open up your model in 5.0 and it should work. You may have to do some work with your terrain,but it should be fairly easy.
Anonymous
on July 6, 2015Somehow the Terrain writes an error during simulations after I have merged the cross section one with the Dem. The error says that the merged Terrain does not cover the whole extent of the 2 D area which is within the area of the original Dem.
Anonymous
on July 6, 2015After I have merged two Terrains, one from the original Dem and the other from the cross sections, I get an error message when I run the Simulation again. It now says the Terrain does not cover the whole area of my Simulation. Before the original Dem did cover it though. What went wrong?
Chris Goodell
on July 6, 2015That's interesting. Not sure what would cause that, and I've never seen that before. I would double and triple check that your 2D area is still within the new terrain perimeter and then send a bug report to HEC.
Daniela Adamatti
on July 21, 2015I intend to model a Solimões River reach (upstream Manaus city), using Hec-Ras 2D, and I'd like to include channel bathymetry into terrain. I actually don't know how to deal with the "islands" that divide river flow, when creating river centerline and river banks.
Any suggestions?
Chris Goodell
on July 31, 2015For your river centerline, just pick the side of the island that carries the most flow. Bank stations can be centered around that thread, or both threads, it's up to you.
Jacopo Maiani
on November 30, 2015Chris, I'm going to check the geological risk Marano's river but not fail to cross section
automatically since i can't get your first image. After defining the river, how do i get the cross-sections (green line in your immage)? Thank
Chris Goodell
on November 30, 2015Cross sections are currently brought in using HEC-GeoRAS, or something similar. You can enter the cross sections manually into the geometry window, but they will not be georerferenced.
Taina
on May 27, 2016Hi Chris,
I followed your tutorial till the second step, but I am getting two blank spaces in my channel terrain. In those blank reaches it seems channel bathymetry has not been interpolated. Do you know why this is happening? Many thanks!
Taina
on May 27, 2016Hey Chris,
I just found out that the extent of the tif file that HEC RAS created with my interpolated bathymetry is smaller than the extent of my river stretch. So the river stretches that are not included in the extent of the tif file created by HEC RAS were left blank. It seems that HEC RAS used the cross sections to stablish the extent (the box) of the bathymetry tif file. So, the question is: how can I include river stretches between cross sections which are not included in the cross sections box. It would be great if I could send you an image with my problem. Many thanks!
Taina
on May 27, 2016Hi Chris,
Sorry for this third post. I made a link with a picture of my problem (I have opened the tif file created by HEC RAS in Arc Map to see its extent).
http://psr.me/ilncmz
You can see in blue the box that HEC RAS used to interpolate the channel bathymetry. You can also see the river stretches that were not interpolated, because they are not included in the extent considered by HEC RAS. Is there a way I can solve this without creating dummy cross sections in those stretches? Many thanks!
Chris Goodell
on May 27, 2016Not sure. Do you have a break in your stream centerline?
Chris Goodell
on May 27, 2016As long as everything is properly entered into the cross section editor, RAS should include all cross sections in the cross section interpolated surface. I would go through my cross section editor and double check that you aren't missing some require input data.
Chris Goodell
on May 27, 2016That's strange. You are saying that RAS created the blue box? Typically, the cross section interpolated surface should follow the cross section endpoints-it won't be a "box" like is shown in your figure. Could it be that box is your other terrain? Could it be your projection file is limiting the workspace?
Taina
on June 28, 2016Hi Chris,
Indeed, the interpolated surface follows the cross section endpoints.
The blue box is the extent of the terrain that RAS has created, in other words, the area available for processing.
Since there are portions of the river channel outside of the extent, RAS does not process it. The solution I found for this problem is simply extend the sixth cross section (from bottom to top of the figure) so that the new box (the new extent) would be big enough to include all my river channel. You can see the result in the picture I put in the following link: http://psr.me/ffo8dd Many thanks!
Unknown
on June 28, 2016I do not have breaks in the stream centerline.
Taina
on June 28, 2016I do not have breaks in the stream centerline.
Chris Goodell
on June 29, 2016Strange. Not sure what would cause that.
Tainá Martins
on July 7, 2016Hi Chris,
I solved the problem by interpolating the cross sections. Your other post helped me: http://hecrasmodel.blogspot.com.br/2014/08/exploring-hec-ras-xs-interpolation.html
In fact, my first try was just to extend the sections in order to include all river curves in the box I mentioned before. I would have to do it anyway because I am modelling floodplains and the cross sections were too short to include higher floods.
However, this brought me another problem: plain areas outside the channel in curves like this one: http://psr.me/ilncmz
So, to completely solve all problems, I had to make a balance between extending the cross sections and interpolating them in the curves.
Thanks!
Tainá Martins
on July 7, 2016Hi Chris,
There is one problem I can not solve: when I include the channel bathymetry into my terrain using your tutorial with RAS Mapper, every upstream cross section of each reach, plus the downstream cross section of my downstream reach (in other words, cross sections in the extremes), have their terrain looking like zigzag, like this one: http://psr.me/mldc7c
In fact, if I do not include the channel bathymetry using RAS Mapper, I am still able to run my 1D steady flow and see the results, without that line of current terrain. Here it is the same cross section: http://psr.me/634mx5
In my understading, including the channel bathymetry into the terrain is only used to visualize results in RAS Mapper right? I mean, HEC RAS will interpolate the channel bathymetry and run the steady flow even if we do not include the channel bathymetry with RAS Mapper.
But in case I do want to visualize results in RAS Mapper, do you know I can I solve the problem with the zigzag current terrain?
Many thanks!
Chris Goodell
on July 7, 2016Good to hear Taina. Not sure I understand what the image is showing me though.
Chris Goodell
on July 7, 2016The zigzag terrain you see in the plot is the ground elevation in the Terrain that is associated with the geometry file. It is not used in the computations. It's only there for your reference.
Tainá Martins
on July 7, 2016Check this RAS Mapper image: http://psr.me/ilncmz
I used the option Create Terrain GeoTiff from XS´s (channel only). However, HEC RAS created those completely plain areas outside of the channel (in blue because they are flooded like a pool), where in fact, I have contour lines.
I am not sure how HEC RAS does it, but is has to do with the length of the cross sections (with short cross section this problem does not happen, but I need large cross sections, as I mentioned before).
To solve this problem, I had to interpolate the cross section in the curve.
Anonymous
on October 27, 2016Is there a way to impose/import the bank lines that are used with the RAS Mapper tool "Create Terrain GeoTiff from XS (channel only)?
In many cases, the RAS generated bank lines between the surveyed sections are not representative of the true bank lines. In my case, the RAS bank line is located too far inland on a sharp bend. As a result, the channel thalweg in the interpolated terrain overlaps with a flood protection dike located at the top of bank.
I noticed that the bank line info is stored in the geometry hdf file. I modified the vertices of the bank line in the .g01.hdf file using HDFView, but my changes to the bank line were not implemented when I re-opened RAS Mapper. Any suggestions?
Chris Goodell
on October 27, 2016Your bank lines are created based on the location of your bank stations. So you can easily go into your cross sections and edit those as you see fit. If you are not seeing changes to geometry after editing your hdf file, try removing your hdf file from RAS Mapper, close RAS Mapper, then reopen it. Don't save your geometry file in between because that will rewrite your hdf file. I think that will work, but not 100% sure.
Anonymous
on October 27, 2016Hi Chris,
Thanks for the quick response. I'm mostly concerned with adjusting the RAS bank lines where I have no cross sections, so editing the locations of the bank stations won't help.
I liked your suggestion with the hdf file but RAS Mapper seems to regenerate the bank lines (and overwrite my changes) when I reopen the file in RAS Mapper. The hdf file's Date modified timestamp in Windows explorer shows that RAS Mapper is modifying the data in the file every time RAS Mapper opens (version 5.0.1 and version 5.0.3).
If you think of something else, I'd be happy to hear it. Otherwise, I hope that HEC will be implementing the option to adjust the RAS generate bank lines in the next release of RAS Mapper.
Chris Goodell
on October 27, 2016My bad, I didn't read your question close enough. Now I see you're talking about in between cross sections. Let me think about this. I'll ask around to see if there are any brilliant ideas short of cutting a bunch of new intermediate cross sections.
Chris Goodell
on October 27, 2016You might try exporting the entire cross section as a geotiff, then in GIS, use your bank lines to clip out what you don't want. Just a thought…
Chris Goodell
on October 27, 2016Or perhaps adding more definition to your stream centerline (more points to better follow the axis of the stream may help RAS make a better attempt at drawing your bank stations in between cross sections. Not sure if this will work, but easy to do and worth a try.
Let me know if any of these work…
Anonymous
on November 22, 2016Hi, I just had this issue. More definition on centreline does help position interpolated sections better, but to make further adjustments, I bought the bank lines I wanted into RASMapper, so then they also appeared in geometry. Then, I manually moved the end points (delete/filter out any other GIS XY pts in table view first) of the interpolated sections in geometry so bank stations lay on the lines and result of interpolated surface in RASMapper was then much better. Just don't make more interpolated sections than you need to define bank lines at this point. Once you've moved them, you can always turn them into real sections by deleting the * from the name and add other interpolates between these if you like, which should then line up better anyway.
Brian Goad
on March 19, 2017Is there a way to update and change the bank lines in the HEC-RAS RAS Mapper for HEC-RAS 5.0? I am trying to find out how to update the channel in my terrain model but I am have not luck in trying to expand my bank lines. Thanks!
Chris Goodell
on March 20, 2017Not in RAS Mapper. But you can adjust the bank stations individually in the cross section editor, or graphical cross section editor.
徐志宏
on June 5, 2017Hi Chris,
Is there a way to generate the "XS Interpolation Surface" from the HECRAS environment? Or we need to provide it in advance in order to generate the terrian?
Chris Goodell
on June 5, 2017This is done for you in RAS Mapper. It is one of the layers that RAS creates in the geometry group.
徐志宏
on June 7, 2017Thanks, Chris.
I just found the menu on the left-hand-side of the RAS Mapper could be collapsed, and I need to clip on the ellipsis icon to expand it. Now I can see the XS Interpolation surface by checking the selection box next to the layer name.
Anonymous
on September 15, 2017Hi – thanks for this post. I've also been referring to the 2D modelling manual and would like to clarify the following parameters when creating a new terrain:
1. What does 'create stitches' do when inputting more than one terrain file?
2. What does the Rounding/precision refer to?
Thanks!
Chris Goodell
on September 15, 20171. It's a way for RAS Mapper to better blend the multiple elevation datasets together. I don't know the exact details of how it works.
Try it both ways and look at the differences to see which you prefer.
2. This is how RAS Mapper rounds off the elevation values for each cell. Typically the default works well. However, in very shallow terrain, you may get a stair-stepped look in profile view, in which case you would want to use a more precise value.
Anonymous
on September 18, 2017Thanks Chris.
So Precision = 1/100 would round to 2 decimal places? i.e. 0.01
I am building a linked 1D-2D model and am wondering whether it would be beneficial to generate a combined channel/overbank terrain model. If I have surveyed cross sections which will model in-bank flow in 1D, is there any benefit from creating a 2D channel terrain model from the cross sections?
Chris Goodell
on September 25, 2017Correct. Yes, there are benefits. There are also drawbacks. A single 2D model is cleaner and less prone to errors/instabilities that you can commonly get at connections like lateral structures. Also, with only 2D, you don't have to worry about where to put ineffective flow areas (2D figures that out for you). But the downside to all 2D is if you have a very long reach, it could make computation time too long. Also, you won't have access to the familiar output plots like the profile plot and cross section plot (although you can do something very similar to that with profile lines in RAS Mapper). Also, you'll need to be very careful about identifying areas of leaking from the main channel to the overbanks, if you have any high ground features like levees along your river. But those are usually easy to spot.
Good luck!
Anonymous
on October 11, 2017Hi Chris,
I am following most of your blogs. I am trying to include bathymetry in terrain. I am using HEC-RAS 5.0.3. While exporting XS interpolation surface into Geotiff file, I don't have option Create Terrain GeoTiff from XS´s (channel only) under Export layer. Instead it has other options to convert into shapefile. What might be the issues with this?
Chris Goodell
on October 12, 2017You have to right-click on the geometry file in the RAS Mapper layer manager. There you should see the option to export XS interpolation surface to a GeoTiff file.
James G.
on March 13, 2018I have a fairly simple question, but I am struggling to determine the answer. I imported my XS's from a CSV file, and when I made the XS interpolated surface from them, the bank lines crossed. Is this an easy fix that I am missing?
Chris Goodell
on March 14, 2018Sounds like one or more. Ross sections are oriented in the wrong direction. Cross sections should be oriented from left to right When looking in the downstream direction. You can view the cross section dir cation arrows in the RAS schematic. Just need to swap the cut line coordinates of the affected cross sections that fix this.
Anonymous
on April 10, 2018In 1D and 2D linked model, if 1D cross-sections bank are slightly higher from linked 2D surface than at what point water will start spilling over to 2D? Is it as soon as the water level in 1D rises to the level of 2D surface?
Anonymous
on April 25, 2018Hi. If i want to change the terrain of my river and only have the terrain in RAS-mapper, is there a way to change/draw cross sections in HEC-RAS? Or do i have to use Hec-georas? In this example you already have river, bank and cross sections, but can this be made from a DEM (.tiff) in RAS-mapper without using Hec-georas.
I want to avoid using Hec-georas because i do not want to convert my DEM to TIN
In this example i se that you have geometry
Chris Goodell
on May 6, 2018In HEC-RAS Version 5.0.4, you can do all of this in RAS Mapper.
Chris Goodell
on May 6, 2018In a 1D2D inline connection, where the 1D reach flows into a 2D area, the following transfer of information occurs at each time step. Flow in the boundary cross section is passed to all of the boundary cells and distributed based on a conveyance weighting in the cells. The water surface elevation is taken at each of the boundary cells and averaged (again based on a conveyance weighting) and that average water surface elevation is assigned to the boundary cross section. RAS does not know about "spilling" of flow over high ground in the cross section. That's why it is very important that your bounding cross section and your bounding cells share the same underlying terrain.
Robert Holmes
on June 14, 2018Chris,
This is really helpful. I have a LARGE river model (>400 miles) that I only want to generate the channel terrain of a small portion for (10 miles at a time). I see no options in the Export Layer dialogue that would allow me to select one of the reaches in the model. Short of deleting out the cross sections and creating a new project file, is there a way to generate a terrain for a subset of the cross sections?
Anonymous
on August 27, 2018Background: We have surveyed cross sections multiple thousand feet apart on a stream.
Problem: We need more dense XS's in order to create stable unsteady model.
Potential Solution: Use the method in this post, modified slightly.
1) use GeoRAS's "update XS Elevations" tool to create XS with surveyed bathymetry data at locations where the survey was taken, and lidar along the rest of the XS.
2)Export those XS to RAS. Use "Interpolate XS" tool in RAS to get channel data interpolated between XS. This step is where I think the process may break down.
3) Use the "XS Interpolation Surface" from RASmapper to get a Terrain using the interpolated sections (herein lies the rub: not sure RASmapper will create a surface that follows the stream line using Interpolated sections).
4) Export the Terrain in the channel only, per the method on this post.
5) Merge the channel Terrain with the original LiDAR surface and use that new Terrain in GeoRAS to cut intermediate XS with accurate LiDAR and interpolated channel data.
It seems like I may be making this more complicated than it has to be. I appreciate your thoughts.
-Alan
Bryce W. Cruey
on May 21, 2019Anyone have any idea if or when the GeoRAS "update XS Elevations" function will be available in RAS Mapper pre-processing tools? I have been using a hybrid GeoRAS & Mapper approach for developing models as shown above.
Unknown
on July 11, 2019I merged channel bathymetry into the DEM. When I checked the station-elevation for some cross-sections, there is a shift between merged terrain and surveyed cross-section graph. However, when I checked the cross-section in geometry data, they are matched. Does anyone know how to solve this issue?
Ken
on August 30, 2020I obtained a 2D model and tried to update the terrain with survey raster data for my specific site. However I noticed that RAS attempts to interpolate within the original terrain stitch areas, despite the fact that all stitch areas are outside the limits of my survey raster. This causes errors in my model because all the offsite elements (culverts, weirs etc) are designed based on the original terrain data. How can I stop RAS from touching offsite topo within stitch areas. I know RAS is interpolating within the stitch areas because I viewed a contour of the new terrain file and compared it with the original terrain contours and I can see my new terrain (original terrain + survey) has contours in areas where my original terrain doesnt.
HRA Engenharia
on December 11, 2020If I have only a few cross sections profile along a river, and I need to extend it as far as I can to reproduce the bathymetry profile over a DTM that contains only water surface, how could I extend the bathymetry profile?
Is there a way for interpolating? Or could we do it only manually?
Chris Goodell
on December 14, 2020You can use the XS interpolation method in RAS to add some more cross sections. You could also make a geotiff out of those cross sections in RAS Mapper. But keep in mind the level of accuracy will be a function of the quality and quantity of cross sections through that reach. So with only a few cross sections, the resulting surface may not be that great, but it’s probably better than nothing!
Stephanie
on February 5, 2021Hello Chris,
The interpolation surface works between some of my cross-sections, but fails between others. Somehow RAS (version 5.0.7) cannot triangulate between them. Could you please give me a hint?
Chris Goodell
on February 8, 2021It’s important that your cross sections are close enough together and that you have your bank stations consistently defined. Also, you’ll want to double check that your cross sections are all entered left to right (looking downstream).
Anonymous
on May 19, 2021Hi,
I’m having the same issue where the interpolation surface works between some of the cross-sections, but fails between others. My bank stations are consistently set at the elevation of the lidar edge-of-water, and my cross-sections are all entered left to right. Adding interpolated cross sections to ensure cross-sections are close enough together has generally caused no improvement or made things worse. I’ve tried using version5.0.7 and version 6.0.0 BETA 3 with similar results. I’ve also tried clipping my sections to the bank station points using the tool GIS Cut Lines / Trim XS’s to Banks… This last option did improve the surface interpolation results only in some of the reaches that failed previously. Would you have any other suggestions to solve the issue or perhaps more information to help me understand how the surface interpolation tool works? Thank you!
Chris Goodell
on May 27, 2021One other thing I can think of to check: Make sure that your stream centerline is between the bank stations for all of your cross sections.
Matin Moradzadeh
on April 22, 2022Hello Chris thank you for your post.
I am working on Fall River basin floods in western Idaho. I have acquired a 10 m DEM from USGS for the region but my problem is the bathymetry. I did run a 2D model for flooding but the thing is the stream path that my model has simulated based on the DEM doesn’t completely match with the river in the imagery maps. I looked for some good bathymetry datasets but there was none. I have no idea where the thalweg is and I have no idea about the depth of it. I mean if I want to edit my terrain as the way you said, then it wouldn’t match or precise enough compared with the real world situation.
Any suggestion?
Chris Goodell
on May 2, 2022First make sure your projection file is correct. That can sometimes explain a slight offset between the aerial imagery and the terrain. But with 10 m terrain, I don’t think it’s uncommon for the terrain stream to not match the position of the imagery stream. Best to go with the terrain and ignore the offset in the imagery. But even better to get higher resolution terrain if possible.
Add Your Comment