Wednesday, December 16, 2015

The Advanced Hydrologic Prediction Service for Chehalis Washington

A great example of where flood inundation maps and accessible flood warning systems can help a community prepare for floods.


Contact:               Brent Bower                                                                      FOR IMMEDIATE RELEASE 
206-526-6095 x228                                                           December 15, 2015
Flood Inundation Maps to Enhance Flood Forecasts for the Chehalis River

People living along the Chehalis River have a new tool from the National Weather Service to help them understand their risk during floods. A large section of the river is now depicted on flood maps that show people where the water will flow and what it will look like in their community when the river crests beyond its banks. The new flood inundation maps will also help local officials reduce flood impacts to communities by giving them more advanced information for planning.

Monday, December 14, 2015

HEC-RAS 5.0 versus TUFLOW versus MIKE21 – HEC’s official response

In case you haven’t seen it, there has been a very popular LinkedIn discussion on the Hydraulic/Hydrologic Modeler’s Forum debating the advantages, disadvantages, and merits of HEC-RAS 5.0, TUFLOW, and DHI’s MIKE21.  There was a lot of great information (and some misinformation) and insight provided in that thread.  It is well worth the read.  Some of the misinformation was directed at the beta version of HEC-RAS Version 5.0.  Enough that HEC decided to publish a response to clear up any confusion.  
At play is a result of HEC-RAS’s 2D solution scheme using the full shallow water equation where for highly dynamic events where flows severely contract, using too small of a time step could lead to a divergence from the true solution, rather than a convergence.  This is not an issue when a computation interval is selected within the guidance presented by HEC in their user’s manual.  While HEC disagrees that this is a necessarily a “problem” with its software, as some on the discussion claim,  HEC has elected to make this a non-issue by “improving the portion of the full shallow water equation formulation, such that user’s will be able to use very small time steps without the results changing significantly.”   I’ve included HEC’s response, written by Gary W. Brunner, to the LinkedIn discussion below, but I highly recommend you read the LinkedIn discussion first by clicking here
I’m posting this not just to allow HEC to reach a larger audience with their rebuttal, but also because there is a LOT of great information in this document about how HEC-RAS 2D works and how we, as HEC-RAS 2D modelers should use it.  Please enjoy!  A downloadable pdf is available here.
The following text is copyrighted by the Hydrologic Engineering Center and Gary W. Brunner:

Tuesday, December 8, 2015

Pressure and Weir Flow

Here’s a video of pressure and weir flow yesterday at a bridge near my house.  This was brought on by some very intense rainfall over a short period of time.  What do you think the weir coefficient would be?

‘Tis the season in many parts of the world for heavy rains and high water.  This is a good reminder to always try to get out and view your rivers and streams when they are flooding.  There is nothing like a first-hand view of a flood to understand how water interacts around our infrastructure.  This is invaluable information for setting up and calibrating your HEC-RAS models. 

Thursday, October 29, 2015

Breaking the HEC-RAS Code – 1 Year!

Well it’s been one year since I published “Breaking the HEC-RAS Code”.  It was a lot of work, but I am very pleased to see how many people are making use of the book controlling and automating HEC-RAS with their own codes.


For those of you who haven’t discovered it yet, this book introduces the HECRASController, an API that gives you the ability to control HEC-RAS from an external application.  If you have HEC-RAS installed on your computer, you already have the HECRASController!  The book is written around Visual Basic for Applications (VBA), since most HEC-RAS users have Excel and many are already at least somewhat familiar with the VBA programming language embedded within.  However, many readers of my book have expanded the concepts presented to other programming codes like Python, R, C#, Matlab, etc with great success. 

“Breaking the HEC-RAS Code” unlocks the secrets to using the HECRASController.  If you would like more information about this book, or the companion Excel workbook that contains code written for every HECRASController procedure plus example code for a variety of applications, follow the link below or shoot me an email. 

Breaking the HEC-RAS Code

For those of you already making use of the HECRASController, let me suggest visiting The RAS Solution forum and posting examples and/or questions about your experience to the HECRAS Controller sub-forum.  Good luck breaking the HEC-RAS code!

Friday, October 9, 2015

Wednesday, September 30, 2015

Transect for Extracting Flow in a 2D Area

Written by Christopher Goodell, P.E., D.WRE  |  WEST Consultants
Copyright © The RAS Solution 2015.  All rights reserved.

*Update:  Version 5.0.2 now does flow transects in RAS Mapper with profile lines.  No longer necessary to use a 2D Area Connection to do this.

A very common output request in 2D modeling is for flow over (through) a transect line.  HEC-RAS 5.0 does not have a specific tool for extracting flow data along a line in a 2D area, however it CAN be done.  Here’s how you do it.
Inside your 2D area, draw a 2D Area Connection where you would like to extract flow.  In the figure below, I’ve drawn my 2D Area Connection line from bottom to top, which represents left to right, looking in the downstream direction. 
Notice that with the completely orthogonal cell orientation, but with a skewed 2D Area Connection line, the black and red striped connection line is “jagged”, following cell faces between the connecting cells.   To fix this, we need to use a breakline.  You could draw a break line on top of the 2D Area Connection (click the 2D Area Break Lines button on the top of the Geometric Data window), however, HEC-RAS also has a short cut for putting breaklines on 2D Area Connections.  If you right click on the 2D Area Connection (I’ve named if “Flow Line”), you’ll see an option to “Create 2D Flow Area Breakline”.  Select this for quick cell re-orientation around the 2D Area Connection Line.
Now you’re ready to enter data to the 2D Area Connection that you’ll use for extracting flow.  Click the SA/2D Area Conn button on the left side of the Geometric Data window. 
Make sure you connect “From” and “To” to the same 2D flow area.  Then choose “Normal 2D Equation Domain”.  This will force RAS to use the same 2D St. Venant equations over the terrain under the 2D Connection line as if the connection line wasn’t there.  BUT…you still have to define the Structure Type as a Weir and provide station-elevation data to define the crest of the weir, even though RAS will not use it.  Maybe this gets fixed in a later version.  HEC makes this easy though as you can extract the terrain profile from the 2D Connection cutline by clicking the button “Terrain Profile” as shown below.  Just copy and paste the terrain profile into your station-elevation table and you will  have defined a “zero-height” weir.  I guess it’s possible to use any crest definition, since RAS shouldn’t use the weir equation-it will use the normal 2D equation domain, but I haven’t tried it. 
Now you are ready to compute.  After computing, go to the Stage and Flow Hydrographs output window.
Make sure you select Type…Storage Area Connections (yes, it is technically an SA/2D Area Connection, but HEC hasn’t gotten around to renaming this yet in this window).  Now you can see the flow hydrograph for the flow line you’ve drawn.  You can check, but you’ll see the results are exactly the same as before including the flow line.


Monday, September 28, 2015

New Beta Version of HEC-RAS 5.0

Fellow HEC-RAS users:

A new beta version of HEC-RAS (August 21, 2015 build-"Release Candidate 2") is now available to download and install.  I have no new information about  when the final release will be made available, but for now this new beta version has a lot of bugs fixed and many new features, including breaklines, Manning’s n value regions, and mapping of sloped water surfaces in RAS Mapper for 2D areas.  Please follow the directions from HEC below for downloading and installing.

Enclosed is a link to a new HEC-RAS 5.0 version, Release Candidate 2, August 2015.  We have fixed several Bugs since the Release Candidate 1 version.  This version has all the features we have planned for the final release.  We are in a No New Features mode, and performing the final testing and documentation updates.

     Here is the link:

     This self extracting exe should be run in a separate directory.  Once it is run, there will be a new Setup package for the HEC-RAS 5.0 beta software; a new 2D User’s Manual in PDF format; and a new set of 2D example data sets in a zip file.  You must have admin privileges to run and install the software using the setup package.  Please Uninstall the previous HEC-RAS 5.0 beta first!!!!

     Thank you for installing and testing this final Beta version of the software.

Some of the New Stuff:

1. Lateral Structures can now be Georeferenced.  So it will be easier to lay them out, and get them connected to 1D river reaches and 2D Flow Areas.
2. HEC-RAS Mapper, now uses a TIN based sloping water surface technique to show spatial results inside of RAS Mapper. Previous versions, in 2D area the depth, velocity, etc.. was plotted as a single value for the entire cell, which produced some blocky looking plots in steep terrain.
3. More flexible internal hydraulic structures.
4. Improvements to the stability of connecting 1D reaches into and out of 2D flow areas.
5. Several New output capabilities in RAS Mapper – please see the 2D user’s manual.
6. Many Bug fixes, especially in RAS Mapper.

Thursday, September 17, 2015

Combining Two Reaches or Splitting One

Written by Christopher Goodell, P.E., D.WRE
Copyright © The RAS Solution 2015.  All rights reserved.

Suppose you have two separate HEC-RAS rivers and wish to combine them.  There is no “combine two rivers” option in HEC-RAS, but it can be done using the Move Points/Objects option.  Take the very simple reach presented below:


I wish to combine the Upper Tualatin with the Clackamas reach of the Willamette River.  In the figure above, they are disconnected-two separate rivers.  Select Edit…Move Points/Objects and

Wednesday, August 26, 2015

2D Modeling with HEC-RAS Training in Italy!

Who wants to meet up in Milan, Italy for some 2D HEC-RAS training?!?!  I’ll be giving this course with help from Antonio Cotroneo on November 10-12, 2015.  The course will be given in English with Italian translation.

This intensive, three day course will prepare the engineer and water resource professional to use HEC-RAS 5.0 for modeling two-dimensional
(2D) flow. Led by Chris Goodell, P.E. D.WRE Manager, Director of Applied Research. WEST Consultants, Inc. Portland OR (USA), with the collaboration of Antonio Cotroneo, Italian Hydraulic Engineer. The participants will learn how to approach and construct a 2D model for unsteady flow conditions, and to effectively view and analyze results. HEC-RAS 5.0 incorporates various aspects of 2D hydraulic modeling, including combined 1D and 2D systems.



Follow the link for more information and to enroll:


Please direct questions to Antonio Cotroneo at

Hope to see you there!



Friday, July 31, 2015

Using User-Defined Curves for Gates

Written by Christopher Goodell, P.E., D.WRE  |  WEST Consultants
Copyright © The RAS Solution 2015.  All rights reserved.

HEC-RAS allows for four different gate types that will compute the stage-discharge relationship of that gate for you based on the physical size/shape of the gate and a few empirical coefficients:  Sluice Gates, Radial Gates, Overflow Gates (closed top) and Overflow Gates (open air).  However, sometimes the built-in gate types don’t quite fit the gate that you want to simulate.  Or perhaps you have a unique spillway that can’t be captured adequately with the simple weir equation that HEC-RAS uses.  Either way, if you can come up with your own rating curve (state-discharge relationship) for the gate or hydraulic structure, you can model it accurately in HEC-RAS using the “User Defined Curves” gate type. 


As you can see, the User Defined Curves, although not a gate “type” in the literal sense, is added as the fifth gate type that you can choose from.  To use User Defined Curves, first add a new gate group to your inline structure (can also be used with lateral structures or SA/2D area connections) by entering in some geometric properties.  When using curves, the height and width are inconsequential-they don’t matter, because they won’t be used.  Just make sure that the height is at least as high as the highest gate opening setting you will use.  The invert is important, because that is what determines at what stage HEC-RAS will begin using the rating curves.  The centerline stationing just tells HEC-RAS how many gates you will have.  Again, the actual  stationing is inconsequential, just make sure you have the correct number of stations included.  Finally, enter in the user defined curves by pressing the Enter/Edit User Defined Curves… button. 


After entering the User Defined Gate Performance Curves window for the first time, you’ll notice that you must click on the “New” button image  to start a new set of curves.  Click New, then enter a name for the curves set. 


The first column, column 1, starting below the Gate Open Ht\HW entry, put in gate openings you wish to define curves for.  Each gate opening will have its own rating curve.  If you are putting in just a single rating curve (e.g. a spillway-maybe a morning glory type spillway), I always put in a zero gate opening curve in row 2 (with values of zero discharge for each headwater entry) and then the gate opening I wish to define goes in row 3.  No need for any more rows to be entered for single rating curves  The “zero” curve may or may not be necessary.  It seems to change with each new version of HEC-RAS.  Also, with a single rating curve, the gate opening value you enter in the first column really doesn’t matter.  It can be anything as long as it is equal to or less than the arbitrary gate height you defined in the gate editor AND it is the gate opening you use for the unsteady flow editor boundary condition (more on this in just a bit).  For a family of curves, you’ll want to put in a curve for a number of different gate openings, spanning the range of gate openings you plan to use in the simulation. 

Next enter in some headwater elevations (HW) in the first row.  You need at least 2 HW entries so that HEC-RAS can interpolate/extrapolate if necessary.  But the more HW values you enter, the more definition you’ll have.  The first headwater entry should be the invert of the gate (or spillway) and should get all zero values for discharge in that column.  The last headwater entry should be equal to or greater than the largest stage you expect to have in the forebay (although it doesn’t have to be, HEC-RAS will extrapolate). 


Press the Plot… button just to make sure that the curves look correct.


The final step is to go into the unsteady flow editor and set an internal boundary condition for the user defined gates.  You can select from Time Series Gate Openings (T.S. Gate Openings), Elevation Controlled Gates, Navigation Dams, or Rules).  Typically you’ll stick with one of the first two, the latter two are for advanced applications.  If you have a single rating curve, select T.S. Gate Openings and then just enter in the gate opening you have in the user defined curves for the entire simulation.  If you have a family of curves (as illustrated above), you can use T.S. Gate Openings or Elevation controlled gates, which ever suits your needs.  Elevation controlled gates allows HEC-RAS to determine how much to open the gate(s), based on the water surface elevation at a target location.  With T.S. Gate Openings, you simply tell HEC-RAS what the gate opening will be for each computation interval. 


Now you’re ready to compute.

Wednesday, July 8, 2015

Windows 8 Compatibility Issues

If you are a Windows 8 user and you are having trouble getting HEC-RAS Version 5.0 beta to work, Window's Program Compatibility Troubleshooter may solve the problem.  Problems usually arise when pressing the compute button.  One common message that pops up is "Error starting process.
Steady file not found."  The Program Compatibility Troubleshooter will fix this.

In Windows 8, you can get to the Program Compatibility Troubleshooter and learn how to use it for HEC-RAS by following the instructions here:

Thursday, June 25, 2015

Lifting Terrain in HEC-RAS 5.0

Written by Gerrit Kiers |  VIZITERV Consult Kft., Hungary
Copyright © The RAS Solution and Gerrit Kiers 2015.  All rights reserved.

Using Cross Section Data to add a levee

It is a common problem in hydraulic modeling that terrain data does not include the actual terrain underneath the water surface. With HEC-RAS 5.0 a terrain model can be improved by adding channel bathymetry to the existing terrain surface with the Cross Section Data (see Chapter 2 of the 2D Modeling User's Manual, or visit

With this procedure it is also possible to locally lift the terrain, for instance on locations where a new levee alignment is planned. I use the Cross Section Editor to define a levee as an inverse channel that will be standing out above the existing surface. Then I create a levee terrain model and add that levee model to the existing terrain surface.

For the following example, I used the Muncie 2D HEC-RAS dataset that comes with HEC-RAS 5.0.0 Beta March 2015. One of its geometries contains break lines in the 2D Flow Grid. It is important to define break lines along the levees to make sure that flow across the cell faces is blocked by the elevation of the levee along the break line. In this example it is fortunate that these break lines were already defined so I was able to use their alignment for my levee.


For the definition of the levee I created a new geometry file and in this geometry I drew a river reach (Muncie levee) just on top of the break lines.


Constructing the cross section data for the new levee is rather straightforward. In this example I created the levee on a fixed elevation of 950 ft. There is no need to extend the side-slopes so that they touch the actual surface, but they do have to be pointing downwards. I added two identical cross sections on both ends of the levee.


There are two additional aspects to be aware of at this phase. First of all, make sure that the levee is wide enough to be represented in the terrain model you create. That is strongly related to the cell size of the terrain model. In this example a levee of 20 ft width will be more than sufficient as the Muncie terrain has a cell size of 5 ft x 5 ft Secondly, one also needs to check if the levee is consistently defined above the existing surface level, since we don’t want the levee to cut into existing terrain. If the alignment runs into natural high ground, one can locally lift the levee above the terrain level by adding extra cross sections. It is also possible to split the levee into separate reaches, before and after the high ground section.

With the current Beta version it is important to generate multiple cross sections by interpolation before creating the levee model. I opted for interpolation at every 100 ft.


At this point I was able to export the levee model as a terrain model. For this I used the ‘Create Terrain GeoTIFF from XS's’ option, accessible from the data file tree on the left in RAS Mapper. Right-click on the name of the geometry file you’re working in and select Export Layer… Create terrain GeoTiff from XS’s. In my example the ‘Channel Only’ option is sufficient. I named my terrain LeveeOnly.


There is only one step left, the joining of the original terrain model with the ChannelOnly terrain and the LeveeOnly terrain to create a terrain model that includes all features we want represented in the terrain. From RAS Mapper I invoked the menu option "New terrain" and added the different terrain models to the listing, as can be seen in the next screen capture. As the channel and levee must have higher priority for this procedure, they were moved to the top of the list.


The new terrain 'TerrainWithChannelAndLevee' includes both the channel bathymetry and the aligned levee.


On closer inspection we can see that there is an issue with the levee in one of its bends. Due to the cross section spacing of 100 ft, the LeveeOnly terrain appears cut off.  Tighter cross section spacing will improve this.  Notice that there is also an issue with the grid cells at this location. There is one 2D cell whose face does not match the break line alignment. Closer cell center spacing assigned to that break line should improve this situation.


Consequently, this bend will allow for some leaking along the different cell faces. In a real world situation I would need to address both issues before I can continue with my calculations. For now I neglect these and want to see how my new terrain performs.
For that purpose we can calculate one of the defined examples with the new terrain model. In the next screenshot we see the flooding caused by the upstream river levee breach with the original terrain, as modeled in the plan ‘Unsteady Run with 2D 50ft User n Value R’.


In the next screenshot we see the same flood event with the new terrain. It is clearly visible how the new levee performs in protecting lower areas, even though some leakage is visible. This leakage is due to the abovementioned issues in the terrain at the levee bend. This leakage can be eliminated by more refinement of the levee in the terrain (i.e. closer cross section spacing) and by better alignment of the adjacent cells using breaklines with smaller cell center spacing.


With this I hope to have demonstrated that the use of the Cross Section Data in HEC-RAS 5.0 is a very efficient tool for defining levee alignments in HEC-RAS 5.0. This new concept is relatively easy and can be used to define multiple terrain models with different levee alignments, which can be used in the evaluation of different flood protection scenarios.

Disclaimer: These model runs are only generated as examples to demonstrate the new abilities of HEC-RAS 5.0.0 Beta.

Gerrit Kiers is a Dutch hydrologist, working for VIZITERV Consult Kft. in Hungary.  Thank you Mr. Kiers for sharing your idea for terrain lifting in HEC-RAS 5.0!

Mr. Kiers' data set that demonstrates this technique can be downloaded here:

Tuesday, May 19, 2015

My Unsteady HEC-RAS Model is Unstable…Why?

Written by Christopher Goodell, P.E., D.WRE  |  WEST Consultants
Copyright © The RAS Solution 2015.  All rights reserved.

This question (or some variation of it) comes up quite a bit on The RAS Solution:  “I have an unsteady flow model.  When I run it, it goes completely unstable.  What is causing this?”  Many times a screen shot of the computation window with the dreaded “red bar” is attached.  


While the person asking the question genuinely needs help, what he/she doesn't understand is that it is impossible for anyone to troubleshoot his/her model with this limited amount of information or without the model data files.  There are an almost infinite number of possible reasons the model crashed.  

If I could sum up my approach to troubleshooting unsteady HEC-RAS models in one sentence, it would be
“HEC-RAS likes things to change gradually”

If your model is crashing, look for places or times where something is changing drastically.  It could be a sudden and significant change in the size and shape of the main channel from one cross section to the next.  It could be a sudden increase/decrease in flow.  It could be a sudden increase/decrease in stage.  Whatever steps you take to try to stabilize your model, make sure you are confident that the steps you are taking will improve stability without giving up more accuracy then you’re willing to sacrifice.  Haphazardly making changes and adjustments to your model without any forethought or strategy, in an attempt to make it stable could very well make it worse and get you nowhere-and waste a lot of time.  Making methodical, logical, and beneficial changes to your model is a much better approach.  By methodical, I mean understand what you are doing, and why it can improve numerical stability.  Also understand what accuracy (if any) you are sacrificing to achieve the increased stability.  Keep in mind, stabilizing your model may require more than one “change”.  This is why it is important to understand the theory behind the computations in HEC-RAS.  That understanding will allow you to make informed and intelligent decisions on what techniques to use to stabilize your model. 

Here are some very helpful references that deal directly with how to troubleshoot HEC-RAS unsteady flow models that are unstable and/or crashing.  If you’re having trouble with your unsteady flow model, please carefully read through these references.  And consider taking an HEC-RAS training course if you can.  The “Unsteady Flow” and “Dam Breach” classes both cover techniques for troubleshooting an unsteady flow HEC-RAS model. 
  • HEC-RAS User’s Manual Chapter 8, Performing an Unsteady Flow Analysis.  Particularly the section on Model Accuracy, Stability, and Sensitivity.  This manual (along with the Hydraulic Reference Manual) comes with the installation of the HEC-RAS software.  You can access it from the main HEC-RAS window under Help…User’s Manual.



 Stabilizing a Dynamic Unsteady HEC-RAS Model.  Post on The RAS Solution.  Steps taken to stabilize a HEC-RAS model, along with the dataset used.



Thursday, May 14, 2015

The Projection File

Written by Christopher Goodell, P.E., D.WRE
Copyright © The RAS Solution 2015.  All rights reserved.

RAS Mapper is a window in HEC-RAS that allows you to preprocess 2D areas, map results, and manage background images.  In future versions of HEC-RAS, RAS Mapper will become more and more prevalent in our HEC-RAS modeling experience.  As I understand it, eventually RAS Mapper and the geometry editor window may merge to form the front-end interface for HEC-RAS, replacing the iconic “Main RAS Window”.


But that’s speculation.  What is not speculation is that if you want to use HEC-RAS 5.0 for anything more than a very basic model, there is really no getting around using RAS Mapper, and by extension…The Projection File!  The projection file defines a specific geographic coordinate system and projection and is somewhat of a new thing for us HEC-RAS modelers (it has actually been a part of RAS Mapper since it’s inception, but now with 2D modeling and web-imagery in Version 5.0, RAS Mapper is becoming an integral part of HEC-RAS modeling). The projection file requires us to know something about geospatial mapping (i.e. GIS), which we really haven’t had to know too much of before as RAS users.  But if you wish to use RAS Mapper, and you will, you need to understand what the projection file is and how to get one.  Without it, RAS Mapper is pretty much useless.  Adding a projection file to our RAS project establishes the project’s geospatial reference.  Projection files have the extension *.prj.  Be careful not to confuse this with the HEC-RAS project file, also with an extension *.prj.  They both reside in your HEC-RAS project directory, but only a properly formatted projection file will work in RAS Mapper for setting your projection.

The projection file is really just a simple text file with keywords in a specific format.  In fact, it is a single string written in “Well-Known Text” format, or WKT.  It’s simple, easy to read and was created by the Open GIS Consortium.  Here’s what a projection file looks like on the inside.  Notice that there are some keywords, identified by all CAPS, followed by some data related to the key-word, contained in brackets [  ].  I've color-coded it to make it easier to see what goes with what.  The purple color denotes the highest order in the hierarchy, followed by blue, then green, then red.  In other words, a red keyword is a “child” to a green keyword, green is a child to blue, and blue is a child to purple. 


Each keyword and the bracketed data that follows is called a “clause”.  The first and primary clause, PROJCS, stands for Projected Coordinate System.  The projected coordinate system is made up of the following sub-clauses:

1.  Geographic Coordinate System (GEOGCS), which is based on degrees latitude and longitude and contains the horizontal reference datum (DATUM), and the reference meridian for longitude measurements (PRIMEM).  DATUM also contains a description of the shape of the earth (SPHEROID), which in the example above is the Clarke Ellipsoid of 1866.  Units (UNIT) are inferred here only for the GEOGCS, in this case degrees.
2.   Projection (PROJECTION), which is the projection from geographic coordinates (lat/long) to projected coordinates.  This is essentially how the three-dimensional spheroid (Earth) is projected to a two-dimensional viewing medium.  In the example above, Transverse Mercator is selected, which uses the Universal Transverse Mercator (UTM) coordinate system.

Cylindrical projection - transverse aspect © USGS

3.  Various projection parameter values (PARAMETER).  The parameter is labeled in quotations, followed by its value. 
4.  Units for the projected coordinate system (UNIT).  Here meters are used as the linear unit with a conversion factor of “1”.  The conversion factor converts the described units into meters.  If “FOOT_US” is used, then the conversion factor would be 0.30480060960121924.

There may be some additional clauses in your projection file, but the ones listed above seem to be typical.  All of the keywords used in WKT format with descriptions can be found at GeoAPI here.
You can write your own projection files and presents a method (there are other examples out there, just Google it).  However, it is much easier and much more practical to find an already-compiled projection file and use that.  If you have a georeferenced HEC-RAS project already, every shapefile used to create your geometry components (stream centerline, xscutlines, flowlines, etc.) comes with a projection file.  Just find where it is stored on your computer and use that. 

If you don’t have the GIS files that were used to create your georeferenced HEC-RAS project, you can find projection files in at least three different places:  ArcGIS 10.0 or earlier,, and the EPSG Projection Database.  If you know of others, please comment below!

When using any of these sources, make sure you pick the correct projection file.  You’ll know if it is the right one by bringing in web imagery to RAS Mapper and checking to make sure that everything lines up spatially correct.  ArcGIS (Versions prior to 10.1) includes a Coordinate Systems folder that contains more than 5,000 geographic, projected, and vertical coordinate systems.  Unfortunately, newer versions of ArcGIS do not come with that folder.  If you have ArcGIS 10.1 or newer or don’t have ArcGIS at all, you can access a large database of spatial reference systems at


If you go to, make sure you only select from the EPSG, IAU2000, or references.  The ESRI references only contain the GEOGCS clause in the projection file and not the complete PROJCS clause.  They will not work in RAS Mapper.   Once you’ve found the reference you want, click on it, then select “.PRJ File” from the list of available formats.  A projection file will then be downloaded to your computer and you are ready to use it in RAS Mapper.  There is a convenient Search box that allows you to search on key words for your reference.  For example, if your project is in Hawaii and you know your horizontal datum is NAD83, you can enter the keywords:  Hawaii NAD83, click the Search button and you’ll see the following list of spatial references:


Also available on line is the EPSG Projection Database, hosted on GoogleCode by  Here you'll find a text file of a multitude of projection files in the correct WKT format that can easily be copied and pasted into your own projection file.

Once you’ve selected a projection file and assigned it to RAS Mapper, double-check that it is correct by adding web imagery.  If everything lines up, you are good to go.  The figure below shows the Muncie dataset in RAS Mapper, with an incorrect projection file assigned.


Obviously our streamlines and cross sections in this example are not correctly aligned in Muncie Indiana where they belong.  The incorrect projection file has landed us in the middle of Alberta, Canada!


Reassigning the correct projection file gets the model back to its correct spatial reference.



Does anyone know of any other sources of projection files that we can use in HEC-RAS?  If so, please comment below.

And here are some great follow-up comments from Dudley M.  Thanks Dudley for passing along this information!  "I was using RAS Mapper to set the SRS. From the menu Tools->Set Projection for Project. This brings up the "Spatial Reference Projection File" dialog where you can specify a filename. RAS Mapper will read the file and interpret as Chris described to get the coordinate system and projection.

I knew I had a valid ESRI projection file because it came from ArcCatalog. But RAS Mapper complained "Error - unable to make a projection with specified file. Make sure the file is a valid ESRI projection (*.prj) file." I looked in the projection file with a text editor. I saw that mine included a vertical datum clause. Chris didn't mention this in the post, so I thought maybe this was something RAS Mapper didn't like. The vertical datum information is introduced by the keyword VERTCS. I removed this entire part of the projection file and it worked.

But before it worked, I encountered another hitch. It's in that dialog "Spatial Reference Projection File." If you browse for a file and choose the same one you had before, the app does not read the file again. In other words, it doesn't refresh. I had to select a different projection file, choose OK, then go back and choose my edited projection file, and choose OK. For many minutes I was mystified why my edits to the file were not taking. I was making edits to the projection file in a text editor, then switching over to RAS Mapper and attempting to have it read the file again.

So if you get this error message even though you think you're giving RAS Mapper a valid projection file, try what I did."  

Wednesday, May 6, 2015

New HEC-RAS 2D Modeling User’s Manual

In advance of the final release of Version 5.0 (hoping for this summer), HEC has released its 2D Modeling User’s Manual, written by Gary Brunner, the HEC-RAS Team Leader.  This manual contains updates to all of the information that was put out in the previous guidance document, “Combined 1D and 2D Modeling using HEC-RAS” as well as more discussion on developing your terrain, creating the 2D mesh, combining with 1D elements, and avoiding errors and instabilities.

If you plan to run a 2D or combined 1D/2D model in HEC-RAS, please read this manual.  Mr. Brunner has done a fantastic job putting together this very well-written document with easy-to-understand instructions and guidance for setting up and running a 2D or combined 1D/2D model in HEC-RAS. 

You can get a free electronic copy of the HEC-RAS 2D Modeling User’s Manual here, or by clicking on the link on the side bar to the right. 
An excerpt from the Introduction:
“HEC has added the ability to perform two-dimensional (2D) hydrodynamic flow routing within the unsteady flow analysis portion of HEC-RAS. Users can now perform one-dimensional (1D) unsteady-flow modeling, two-dimensional (2D) unsteady-flow modeling (full Saint Venant equations or Diffusion Wave equations), as well as combined 1D and 2D unsteady-flow routing. The 2D flow areas in HEC-RAS can be used in number of ways. The following are examples of how the 2D flow areas can be used to support modeling with HEC-RAS:
    Detailed 2D channel modeling
  • Detailed 2D channel modeling
  • Detailed 2D channel and floodplain modeling
  • Combined 1D channels with 2D floodplain areas
  • Combined 1D channels with 2D flow areas behind levees
  • Directly connect 1D reaches into and out of 2D flow areas
  • Directly connect a 2D flow area to 1D Storage Area with a hydraulic structure
  • Multiple 2D flow areas in the same geometry
  • Directly connect multiple 2D flow areas with hydraulic structures
  • Simplified to very detailed Dam Breach analyses
  • Simplified to very detailed Levee Breach analyses
  • Mixed flow regime. The 2D capability (as well as the 1D) can handle supercritical and subcritical flow, as well as the flow transitions from subcritical
    to super critical and super critical to subcritical (hydraulic jumps).

2D flow modeling is accomplished by adding 2D flow area elements into the model in the same manner as adding a storage area. A 2D flow area is added by drawing a 2D flow area polygon; developing the 2D computational mesh; then linking the 2D flow areas to 1D model elements and/or directly connecting boundary conditions to the 2D areas.”

(Hydrologic Engineering Center, “HEC-RAS River Analysis System 2D Modeling User’s Manual Version 5.0”, Davis, CA.  April 2015.)

Monday, April 13, 2015

2D Mesh “Leaking” Part 2 – 2D Area Breaklines

Written by Christopher Goodell, P.E., D.WRE  |  WEST Consultants
Copyright © The RAS Solution 2015.  All rights reserved.

Continuing on with the discussion on leaking in 2D meshes, I want to highlight a new feature that will be included in the full release of Version 5.0 (hopefully due out early this summer).  The new feature, 2D Area Breaklines, will make aligning cell faces on to high ground features a snap!  Essentially, you draw breaklines along the crest of high ground features in your topography that will completely or temporarily act as a barrier to water flow.  A good example of this is a levee or berm.  As discussed in the previous post, we need to have our cell faces aligned to the high ground of these features so that the terrain is properly picked up in our mesh.  Here’s the same example found in the Muncie data set.  I’ve set the cell size to be rather larger through here, but certainly of an adequate size.  As shown, there is a high ground feature with a slightly lower overflow section that (when the stage is high enough) will allow flow to spill northward and continue up the floodplain. 


Notice that there is a cell that sits on top of the overflow section and straddles its high ground.  Running the model this way will allow flow to leak through the high ground feature, even before the high ground is overtopped, as shown below.  The example simulation below actually leaks water through the high ground a full 4 hours and 50 minutes before it is actually overtopped.  Not good!


In previous RAS 5.0 beta versions, to fix this you had to manually add cell points to align your cell faces.  In this example, that is not too hard, but you can imagine that with a long high ground feature and small cell sizes, this can take quite a bit of time. 

With the pending full release of Version 5.0, you can now let 2D Area Breaklines do the work for you. 


Select the 2D Area BreakLines button and click a series of points on your schematic to draw your breakline.  Double-click for the last point and at the prompt, give your breakline a name.



Left-clicking on the breakline will provide you some options for control over how your breakline re-adjusts cells.



Select Edit Break Line Cell Spacing to specify the spacing of cell points around the breakline.  In this example, I used a slightly higher center spacing so that the cells on the downstream side of the high ground feature extends all the way to the low spot (It is important to not have cells completely contained on a slope of a high ground feature like a levee or berm-I’ll save this topic for another discussion)

Now simply left-click again and select “Enforce Breakline in 2D Flow Area…” and RAS automatically redraws the mesh, respecting the breakline and the specified breakline cell center spacing. 


Now we can see that the high ground feature no longer leaks and only allows water to pass to the next cell once it is overtopped.



It’s important to note that there is some fragmentation downstream of the crest.  This is normal for water flowing over steep terrain.  You could go to the trouble of reducing the size of cells as I did in the previous post to eliminate this issue, but as with all modeling decisions in HEC-RAS, you must determine if that effort is worth it based on your overall study objectives.