Floodplain delineation using only Arc Hydro models

Arc Hydro Tools

By Patrick Bergeron, postdoctoral fellow, INSPQ and Univerisité de Sherbrooke, Canada.

Temporal floodplain delineation is an important aspect of many urban and environmental management plans. Water height data, measured under bridges or at gauge stations, are common and usually free. However, the extent of flooding associated with these variations in water height are much more difficult to obtain.

Using GIS to model temporal variations in flood plain delineation seems rather obvious, but actually doing it often requires the use of other software in order to produce the primary data that can be processed by ArcGIS. Fortunately, there are models available in the Arc Hydro toolbox that now allow you to perform the modelling entirely in ArcGIS.

Modelling floodplain delineation requires a Digital Elevation Model (DEM) of the area on which we add or create a vector of the river and a point location where water height has been measured (see map below: gray = DEM, blue = river, orange = gauge station).

A Digital Elevation Model of the area with a vector of the river and a point location where water height has been measured.

Although the Arc Hydro models can accommodate complex drainage basins and multiple gauge stations, I will focus here on a simple 1-river/1-gauge station system.

Stream WSE from Point WSE Measurements dialog window. The overall data processing consists of 18 steps, all available in the Arc Hydro toolbox. The input data and specifically stage data that are used by the models have to be stored in standard Arc Hydro time series data structure. The 18 steps are regrouped into two models. The first model is ‘Stream WSE from point WSE Measurements.’ This model consists of several input files: the point location of the gauge, a table containing water height, a vector of the stream and a DEM raster of the area. It is important that the DEM is adjusted so that it doesn’t contain negative values. The gauge point has to be snapped on the river vector and also has to be assigned a HydroID (in Arc Hydro tools → Attribute tools → ID Management) that matched the ID in the water height table. There should also be a simple ‘VariableDefinition’ table. This model will create two temporary output files: a line raster file included in the folder containing the geodatabase and a Line3D file within the geodatabase.

Flood from Stream WSE

The second model ‘Flood from stream WSE,’ produces a raster and a polygon of the flooded area. The target raster location workplace is the folder containing the geodatabase while the target vector location workspace is within the geodatabase. Leave the default ‘Layers’ for the target feature dataset, the other inputs are rather straightforward to fill.

This second model will produce a very precise map of the flooded area both as a raster of water depth in the floodplain and as a polygon feature of the flooded area.

Now, it is only a matter of running these two models for different water heights in order to get a comprehensive understanding of where and for how long areas have been or could be affected by floods. In my case, I am relating the exposure to flood to public health issues. I overlaid the flood depth raster file generated by the models (below on the left) to a city map (below, on the right: orange = river bed).

The flood depth raster file generated by the models overlaid on a city map.

The actual flood in our area lasted five weeks but aerial photographs documented the flood extent only sporadically, yet a gauge station was monitoring water height every hour. By modelling the flood with the readings at the gauge station and Arc Hydro models, we were able to reconstruct flood extent on a daily basis.  Most importantly, the Arc Hydro model matched very accurately actual aerial photographs of the floodplain.

For more information about the time series table structure read this blog on GeoNet

This entry was posted in Analysis & Geoprocessing, Hydro, Local Government, Public Safety, Water Utilities and tagged , , , , , , , , , . Bookmark the permalink.

Leave a Reply


  1. m_zam4 says:

    Buenas tardes, es un excelente articulo, que posibilidad hay en que se de a conocer paso a paso el procedimiento para llegar a la inundación real como se muestra en las imágenes.

    saludos y gracias

  2. wyoredfish says:


    Can you post a download location for the toolbox illustrated above? I was able to download the toolbar version but the H & H Modeling/Map to Map tools do not seem to be included. Thanks.

    Larry Neasloney

    • chrisholden says:

      You already should have them. For some reason the toolboxes don’t get added when you install it. You only need to add the toolboxes.

      To do that right click ArcToolbox, Select Add Toolbox…..
      Navigate to /Desktop/ArcToolbox/Toolboxes

      The Arc Hydro Tools Toolbox should be there.

  3. robertmmurphyi says:

    Would you be willing to provide an example or the table content headings and definitions for the tables you mention (table containing water height (standard Arc Hydro time series data structure) and ‘VariableDefinition’ table)? I am stuck on the first model step because I must not have the correct fields defined. My email is cirruskmf@aol.com. Thanks, Kris

  4. sayeret.poland says:

    Hi! i`ve the same problem with “standard Arc Hydro time series data structure”. I`ll be grateful if you could send me a sample of it. My mail is sayeret.poland@wp.pl. Thanks a lot!

  5. pierre-plaulhe says:

    Hey patrick,
    this is an excelent post that i try to follow step by step.
    The problem is that it doesn’t work at all for me. I have some error message.
    i have no ideas where that come from.
    I have:
    - all my layers, raster and table in the same mdb on the C:
    - my river: a simple line
    -my gauge: a simple point snap on the river
    -my DEM: the values are betwin 160 and 255 so they are positive
    my tables: variaabledefinition and Timeseries are ‘linked’ by respectively HydroID and VarID
    Timeserie and gauge and river ‘linked’ by FEATUREID and HydroID
    my error message :
    Create 3D lines from Tron_hydro
    , System.ArgumentOutOfRangeException: L’index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
    Nom du paramètre : index
    à System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
    à System.ThrowHelper.ThrowArgumentOutOfRangeException()
    à System.Collections.Generic.List`1.get_Item(Int32 index)
    à ESRI.APWR.ApUtilsTools.ApConfigGPT.Make3DLine(IFeatureCursor pFCursor, IFeatureClass pFCLine3D, IFeatureClass pFCPointZ, String ZValueField, IRasterLayer pDEMLayer, IGPMessages message, String& exMessage, Boolean bAddPoint, Double AddPointPositionPCT) dans C:\Builds\HydroSolutions\10.2_ArcHydro\Sources\ArcHydroTools\src\ESRI.APWR.ApUtilsTools\ApConfigGPT.vb:ligne 598
    Échec de l’exécution de (Point TSValue to 3D Line).

    does anyone have an idea?
    if needed i can share the datas.
    Or if somebody can share with me his data that i can use as a test it could be very usefull

    Thanks in advence


  6. hyrohde says:

    Hey, that looks like a really usefull tool! But unfortunately you don’t explain the structure of the TimeSeries-Table.
    Could you post an example in the blog?

  7. chrisjohnryan says:

    As mentioned in the comments above is there any chance that you could expand upon/provide examples of the time series and variable definition table that are required to successfully run the first model?


  8. ecohydro99 says:

    Has anyone tried this approach in 10.3? The toolbars are the same but the toolbox seems to be different. Thanks

    • sita karki says:

      I tried this tool with ArcMap 10.3 and it worked well. The important thing was the directory as following:
      1. GDB:

      2. dem.tif
      3. floodDepth
      4. lineRaster
      5. mxd.mxd

    • sita karki says:

      The directory should be like:
      > GDB.gdb
      >> Feature Dataset
      >>> line
      >>> line3d
      >>> Points
      >> watershed
      >> Layer Dataset
      >> TimeSeries table

      > dem.tif
      > floodDepth
      > lineRaster
      > mxd.mxd

      Other things to make sure are:
      a. make sure all the projections are consistent.
      b. The correct version of ArcHydro tool is installed.
      c. The data structures and tables are correct.

  9. shootme002 says:

    I added the Arc Hydro toolbox to 10.3. The Stream WSE From Point WSE Measurements tool is producing the “Invalid Tool” Error box. “Unable to execute the selected tool” message box.

  10. Gregg Cornetski says:

    Hi. In the ‘Stream WSE From Point WSE Measurements’ model, what is the role of the ‘Raster’ input? From what I can tell the input raster – here the DEM – is simply used to apply its cell size and its extent to the output stream line raster (‘Line Raster’). Other than that, is the model using the elevations in the DEM for any kind of analysis or interpolation/extrapolation? Looking at the model in edit mode, its ‘PointTSValue to 3D Line’ tool says the ‘Input Raster’ (the DEM) is optional. So makes me wonder what the complete role of the DEM is in this model. Finally, in the ‘Flood From Stream WSE’ model, why is the ‘Stream’ input optional? What is the role of this input? The model already requires the stream line raster (‘WSEAlongStream’), so the stream polyline seems unnecessary here.

  11. sunguoyu says:

    I am working on the floodplain delineation analysis on a project about river planning, and my colleague recommended this article. I tried several times by using this method, however, I confront some questions when I running the models. I stuck on the first step, the 3D line produced was flat, and the line raster are only two values,the ‘flood from stream WSE’ model couldn’t success, so I think the bug mainly related to the data preparation before the process of “Stream WSE from point WSE Measurements”.The followings are my questions may related to the failure of running the models:
    1. In the localization of gauge station, it says ‘adapt elevation based on DEM values’, does it mean the I should add the spot’s elevation into the Gauge station’s attribute table, and name it as ‘elevation’ or any name I can? Does that cause the failure?
    2. In the creation of timeseries table, the step of assign hydro ID is random by the computer or I could just enter any number and also do it to the feature ID in the timeseries table? Could that be the reason of failure?
    3. About the TimeSeries, the article showed that the TStime in the table you used DD.MM.YYYY pattern, which is different and forbidden when you set the field’s pattern as Date as you showed in the article ; and I find a reply under the article, if the TStime was set into DD.MM.YYYY pattern, the first step would succeed.