Terrain modification and direct rainfall: video walk-through

Written by Chris Goodell | August 8, 2018

Terrain Modification

Two previous blog posts have addressed terrain modification in HEC-RAS (the December 2014 article entitled Including Channel Bathymetry into your Terrain and the June 2015 article entitled Lifting Terrain in HEC-RAS 5.0). These have been some of the most popular posts to date, each having generated almost 10,000 views over the years!

Interchangeably referred to as terrain interpolation, terrain lifting, terrain modification, or terrain manipulation, it is simply an export option in RAS Mapper that can be applied using any 1D geometry in your model.

We do still get a lot of questions about how to apply the technique to incorporate various structures, especially concerning the application of new features available in RAS Mapper. Can you use the terrain modification process, for example, to construct the following?

  • Buildings and building pads
  • Detention basins and ponds
  • Levees, bunds, and weirs
  • Dams, spillways, and outlet works
  • Canals and diversion drains
  • Roadways and bridge decks
  • Floodways or ford crossings
  • Channel dredging or excavation

The tool may have initially been intended for the interpolation of bathymetric cross sections, but as long as your feature can be represented with cross-sectional data, the answer is yes! This dam, for example, was constructed using a 1D HEC-RAS geometry, which was then exported as a geotif:


Rather than creating features, one of the most common uses of terrain modification is to remove features (such as a dam, levee, roadway, or bridge deck) from the terrain associated with a 2D model. This allows the feature to be modeled as a 1D element within a 2D flow area. A dam or levee in a 2D model, for example, cannot be breached unless the erodible or temporary portion of the terrain has first been removed.

Another common use of the terrain modification process is to lower the digital elevation model around a culvert. Because LiDAR data typically misses the actual invert elevation at a culvert inlet or outlet location (due to debris, vegetation, sedimentation, or inadequate resolution), and because HEC-RAS cannot accommodate the negative depths that would result from a below-ground culvert invert in a 2D Flow Area, the terrain around the inlet and outlet must typically be lowered before the plan will run. This can be done outside of HEC-RAS using GIS or 3D civil design software, or we can do it directly in HEC-RAS by exporting a geotif using a 1D geometry.
Here are the basic steps for modifying terrain in HEC-RAS, with RAS Mapper steps shown in red and Geometry Editor/Plan steps shown in blue: [Scroll down to the links below if you’d prefer to follow along with a video rather than following written instructions.]

    1. Create a new geometry in RAS Mapper (right-click on Geometry, select :Add New Geometry”)
    2. Expand Rivers and start editing (right-click on Rivers, select “Edit Geometry”)
    3. Delineate the centerline of the structure or feature you wish to incorporate
    4. Start editing Bank Lines by toggling on the layer and clicking on the layer name to make it active (magenta)
    5. Without crossing over any lines, delineate the bank lines on both sides of the centerline to cover the extents of your desired terrain modification (Note: you can omit this step, in which case HEC-RAS will automatically assign bank stations following the ends of the cross sections)
    6. Start editing Cross Sections by toggling on the layer and clicking on the layer name so that it appears in magenta
    7. Delineate at least two cross sections (cross all three of the lines once and only once with each section, delineating from left to right in the “downstream” direction)
    8. Right click on the geometry, select “Stop Editing” and save edits
    9. Close RAS Mapper
    10. Open Geometry Editor, select “File | Open”, and browse to the newly created geometry file
    11. Select one of the cross section and choose “Edit Cross Section”
    12. Edit station-elevation points between bank lines manually or graphically (using icon or “Tools | Graphical Cross Section Editor”)
    13. Repeat for each cross section that requires changes, save edits and close geometry editor
    14. Open RAS Mapper, right-click on geometry name and select “Export | Create terrain geotif from XS’s (channel only)”
    15. Enter resolution (this does not need to be the same resolution as your LiDAR unless you’re trying to get rid of no-data values, in which case it helps to have the resolutions match) and click ok
    16. Right-click on terrains and select “Create New RAS Terrain”
    17. Add the original and new terrains, adjusting the order to ensure the overriding terrain is on top (unless you’re trying to get rid of no-data values, in which case the “underriding” terrain goes to the bottom)
    18. Rename hdf file with a descriptive name using the folder icon and select “Create”
    19. Right-click on the geometry that you wish to use with this terrain, select “Manage Terrain Associations” and use the drop-down menu to select the newly merged terrain file
    20. If you want to compare results with and without the change, save a new plan and geometry(keeping the original plan’s geometry associated with the unedited terrain), and re-run the new plan

With those steps complete, you can compare the results with and without the changes. If you are working on an impact assessment, for example, you can then make further adjustments to your mitigating features (such as the size of a detention basin) to compensate for the impacts of development as required.

In the steps above, we could have exported a geotif for the entire cross section extent (in which case you wouldn’t need to create bank lines) but my preference is to use the “channel only” option with bank lines as it gives you more control over what portion of the terrain will get adjusted between cross sections.

Also keep in mind that the 1D terrain modification geometry can be a complete, “runnable” 1D geometry, or it can exist solely for refinement of the digital elevation model (as highlighted below, it can essentially be an orphan file that is not associated with any flow or plan files).

Video Walk-through

Following are some instructional videos that step you through the process of modifying terrain in HEC-RAS:

  • Part 1 covers the addition of bathymetry
  • Part 2 covers the removal of no-data values
  • Part 3 covers the incorporation of dams, levees, buildings, etc. into the terrain
[And just for fun, if you want to see some results where we’ve used terrain modification to sever Denmark from mainland Europe by slicing a big canal from the North Sea to the Baltic Sea (while also answering the question of how big a tsunami would be needed to be to reach the Alps!) have a look at the results here.]
Direct Rainfall

On to our next topic of the day: Continuing improvements to hardware, software, and meteorological data availability are allowing the increased application of direct precipitation or rain-on-grid modeling around the world, blurring the lines between hydrological and hydraulic software applications.

Adding direct rainfall to your 2D Area is quite a simple process in HEC-RAS. Here is a demonstration of a very basic rain-on-grid model setup:


Getting meaningful results out of a rain-on-grid model, however, can be a bit more tedious. Here are a few considerations to keep in mind:

  • Rain-on-grid models typically take a very long time to run, because every cell in your 2D Flow Area gets wet (as opposed to inflow-based flood models that can have many dry cells)
  • Simulation time windows can be very long, since they need to capture the entire time of concentration for the catchment or watershed
  • The steepness of the hill slopes within the watershed or catchment can sometimes exceed maximum limitations for 1D and 2D models (as covered in the discussion associated with this blog post about boundary conditions)
  • Roughness values in sheet flow areas with shallow depths can vary significantly from typical values
  • Infiltration and other losses must be removed from rainfall depths (entered as rainfall excess only) before being applied in HEC-RAS
Additional Considerations

If you try to combine terrain modification with direct rainfall, there are some further considerations to be aware of. If you have used terrain modification to incorporate a building or bridge face with vertical walls, for instance, the rain falling on the flat surface would then need to flow over a vertical surface to transfer to the ground. This obviously exceeds HEC-RAS slope thresholds, and the velocities associated with a vertical drop will be erroneous. The presence of vertical faces in rain-on-grid models can give substantial errors, so it may not be suitable for these settings. (You could alternatively represent the buildings as polygons with really, really high roughness values).

That said, direct precipitation modeling is becoming increasingly common, and with proper calibration, the catchment response can be modeled in much more detail than in a typical rainfall-runoff model.

Free rain-on-grid webinar

So what are the latest rain-on-grid developments in HEC-RAS?

Coming up on August 14 (15th in Asia and Europe) ICE WaRM will be hosting a free webinar covering the use of direct rainfall in HEC-RAS. Registration links to the webinar along with recordings of previous webinars can be accessed here. The webinar will address the following topics:

* Basic demonstration and animation of a rain-on-grid model setup and results
* Discussion of rain-on-grid principles and how it is conceptually different from regular flood modeling (including considerations for roughness, tolerances, sheet flow paths, etc.)
* Introduction of what is under development with HEC-RAS Version 5.1 to improve rainfall-runoff modeling capabilities (including infiltration, spatially varying precipitation, depth-varying roughness, etc.)
* Where the industry is heading with the use of hydraulic models as rainfall-runoff models, including the application of radar-based gridded rainfall data.
Thanks for tuning in and be sure to let us know how you’re using HEC-RAS and if there are suggestions for future blog topics!

For anyone interest who didn’t get a chance to catch it live, the rain-on-grid webinar recording is now available here: https://youtu.be/mi-x52-0Id4


  1. Mike Chilson

    on August 13, 2018

    Initially, it was a little confusing to me in that the precipitation table included an ordinate at t=0. Incremental data is supposed to refer to a depth of rain occurring over a time period, it is not an instantaneous number and should not have a t=0 ordinate. After some experimenting with rain-on-grid, it appears to work correctly if 0 is placed in the t=0 ordinate, with incremental rainfall data being added after. Otherwise it appears that if data is entered as shown in the video above, the depth of rain that falls over the first time step is ignored, and the duration of rainfall is shortened by that first time step.

  2. Krey Price

    on August 17, 2018

    For anyone interest who didn't get a chance to catch it live, the rain-on-grid webinar recording is now available here: https://youtu.be/mi-x52-0Id4

  3. Li Lilin

    on September 15, 2018

    I'm glad to hear the release of HEC-RAS5.05.
    As a beginner of RAS, I have a simple question:
    I built a whole 2D area. And there is a small reservoir inside the 2D area. How can I delinete the reservoir boundary inside 2D area and add initial water level of the reservoir of 2D cells. Does the current version RAS can't work in this way?
    Actually I'm a Chinese. Please ignore some grammar fault.

  4. Kyle D

    on December 13, 2018


    This may be a little off topic, but I noticed in this article you mention that HEC-RAS "cannot accommodate the negative depths that would result from a below-ground culvert invert…"

    I am working on a bridge scour project involving multiple bridge structures situated along tidal waterways. Because of this, the channel inverts along the entirety of the subject reaches are negative values (-6.94 ft at the lowest point). I have the model setup under an unsteady flow regime with the tidal stage as the downstream boundary condition, and design storm hydrographs as the upstream condition. The model keeps going unsteady, which I've been troubleshooting. Just wondering if the negative values could be contributing or causing these instabilities. My initial flow condition is also setup negative stage (-3 ft) and a low flow (40 cfs). I appreciate any guidance/insight.


  5. Chris Goodell

    on December 13, 2018

    Negative stages are fine and should not be causing the instabilities you are working through. The article was talking about negative depths (i.e. elevation below the terrain elevation).

  6. Kyle D

    on December 14, 2018

    Okay, thanks for the clarification Chris.

  7. Wenrui Huang

    on September 4, 2020

    Chris :
    I just found you webpage. It is wonderful. I am going to use some of your webinar to my undergraduate senior class, Hydraulic Engineering. Thank you

  8. Mohammed Abdullah Ali Al-Obaidi

    on October 22, 2020

    Gents, “Add New Geometry” option is not appearing when i make right click, any solution please?

  9. Rusty

    on March 3, 2021

    New to the rainfall on grid hydrology part of HEC-RAS. What is the best/fastest way to adjust the rainfall for infiltration?

  10. Ongkeo

    on June 15, 2021

    Precipitation gage data couldn’t save and Time series plot is different date from the date in Table data. Date in Table data is 1Aug2019 when plot Time Series shown 28Dec1899 2400 and no data appeared.

  11. Sonam Rinzin

    on November 5, 2021

    What principle is being used in terrain modification? I was not able to find out actual underlying theory behind terrain modification in the ras mapper.

  12. Chris Goodell

    on November 8, 2021

    You can find that in the RAS Mapper Manual.

Add Your Comment

Leave a Reply

3 × three =

Related Posts