Hi, I'm an error. x

Data For Terrain Analysis Enhancements to the Height Above Nearest Drainage Flood Inundation Mapping Method

Authors: Irene Garousi-Nejad David Tarboton Mahyar Aboutalebi Alfonso Faustino Torres-Rua
Owners: David Tarboton Irene Garousi-Nejad
Resource type: Composite Resource
Storage: The size of this resource is 8.5 GB
Created: Dec 31, 2018 at 5:38 p.m.
Last updated: Mar 05, 2019 at 9:01 p.m. by Irene Garousi-Nejad
Citation: See how to cite this resource
Content types: Geographic Feature Content  Geographic Raster Content 
Sharing Status: Public
Views: 43
Downloads: 0
+1 Votes: Be the first one to  +1 this.  (You need to be logged in to rate this.)
Comments: No comments (yet)


This resource contains the input/output and scripts used for Terrain Analysis Enhancements to the Height Above Nearest Drainage Flood Inundation Mapping Method research which is submitted to the peer-reviewed journal of Water Resources Research and is not formally published on HydroShare in case any change are needed during the review process. Once the paper is accepted, a DOI will be used to cite this resource in the paper.

The abstract from the paper follows:

Flood inundation remains challenging to map, model, and forecast because it requires detailed representation of the hydrologic and hydraulic processes. Recently, an empirical approach, Continental-Scale Flood Inundation Mapping (CFIM), having fewer data demands has been suggested. This uses the National Water Model forecast discharge with the Height Above Nearest Drainage (HAND) calculated from a digital elevation model to approximate reach-averaged hydraulic properties, estimate a synthetic rating curve, and map near real-time flood inundation from stage. In 2017, a record flood occurred on the Bear River due to rapid snowmelt, and in this study we evaluated the CFIM method over the river section where this flooding occurred. We compared modeled flood inundation with flood inundation observed in high-resolution Planet CubeSat imagery. Differences were attributed to differences in observed and forecast discharges, but also notably due to shortcomings in the derivation of HAND from the national elevation dataset as implemented in CFIM, and possibly due to sub optimal Manning’s n hydraulic roughness parameter. Examining these differences helped us understand limitations in the HAND terrain analysis methodology. We present a set of improvements developed to overcome some of the limitations and advance the outcome of CFIM that include conditioning the topography using high resolution hydrography, dispersing nodes used to subdivide the river into reaches and catchments, and using a high-resolution digital elevation model. We also suggest an approach to obtain reach specific Manning’s n from observed inundation. The proposed improvements have the potential to improve the CFIM methodology.

Resource Level Coverage


Coordinate System/Geographic Projection:
WGS 84 EPSG:4326
Coordinate Units:
Decimal degrees
North Latitude
East Longitude
South Latitude
West Longitude



This resource contains the raw data, processed data, scripts, and the outputs of the:

Terrain Analysis Enhancements to the Height Above Nearest Drainage Flood Inundation Mapping Method


This directory contains the raw data used for this research. DigitalElevationModels:
Folder holding 10 m and 3 m National Elevation Dataset (NED) digital elevation models for the study area obtained from the national map viewer national map viewer.
The National Water Model analysis and assimilation data for NHDPlus reaches within the study domain (i.e., the available 3 m dem) obtained from NOAA. The script used to download the data is provided within the Scripts/NationalWaterModel directory of this resource. ObservedStreamflow:
The historical and observed streamflow at two gages (i.e., PacifiCorp at Collinstone and USGS gage 10126000 at Corrine) on the flood date obtained from Bear River Commission and the National Water Information System of the USGS.
Subset of the medium resoltuion NHDPlus flowlines for the HUC 2 (HUC2=16) that includes this study area obtained from this HydroShare resource. This is a subset prepared for the National Flood Interoperability Experiment and has flowlines for which National Water model forecasts are not produced, excluded [Predict no NWM results for missing flowlines]. MediumResolutionNHDPlusCatch:
Subset of the medium resoltuion NHDPlus catchments for the HUC 2 (HUC2=16) that includes this study area obtained from this HydroShare resource.
The high resoltuion NHDPlus flowlines for the HUC 4 (HUC4=1601) that includes this study area obtained from the national map. shapefile_3mdemdomain: The shape of the available 3 m DEM considered as the study domain in our study. shapefile_gages: The location of the two gages (PacifiCorp at Collinstone and USGS gage 10126000 at Corrine)



This directory contains 13 python scripts which can be used to reproduce the results of the study. Note that these scripts should be run orderly as they are numbered. Prior to run these scripts, make sure to have the results of the terrain analysis (TauDEM functions) and Height Above Nearest Draiange (HAND raster) as described in the methodology section of the paper. Note that some functions used in these script are based on arcpy library. The addresses and the name of inputs are based on those used in Scenario 6. One can find these all at this HydroShare resource. 01_script_01_Hydroprop.py:
This script takes the HAND raster and the
STAGE.txt (a text file of different stage values) as inputs and generates a raster with all grid cells less than a specific stage value for each stage value in STAGE.txt. It also creates the raster that shows the flood inundation depth at each grid cell using the HAND value and a specific stage value for each stage value in STAGE.txt. 02_script_02_Hydroprop.py:
This script takes: (1) D-infinity slope raster, (2) the "Less Than" and "Depth" rasters which are the outputs of the "01_script_01_hydroprop.py" code, and (3) the "linkid.txt" (a text file including the id of each reach or catchment). The results of this code are three csv files for each catchment. These csv files are: (1) the average inundation depth (called depths.csv), (2) the number of flooding cells (called cells.csv), and (3) the square root of 1+(D-infinity slope)^2 (called srp.csv). These csv files are then used in "03_script_03_hydroprop.py" code to create the base hydraulic properties table (river geometry). 03_script_03_Hydroprop.py:
This script calculates the river geometry using the cell
.csv, depth.csv, and srp.csv (which are the output of the "02_script_02_Hydroprop.py" code). 04_script_04_Hydroprop.py:
This scripts uses the river geometry csv file (the result of the "03_script_03_Hydroprop") and computes the reach-averaged hydraulic properties (full hydraulic table) and rating curve for each catchment.
This script uses the observed discharge values and the rating curve (created from the script above) to estimate the flood stage for each reach/catchment. 06_script_Inundationmap.py:
This script uses the estimated flood stage and the HAND raster to map the inundation. The results are the inundation maps for catchments. These are then merged later in 07_script_Condusionmatrix.py" as one complete map that shows the HAND based flood inundation extent.
This script uses the classified observed inundation from satellite and the HAND based flood inundation map to compare the modeled and observed inundation by creating the map of the confusion matrix. This map is later used to compute the evaluation metrics. 08_script_Evaluationmetrics.py:
This script computes the evaluation metrics (Correctness, C, and Fit, F) for the entire domain.
This script computes the evaluation metrics (Correctness, C, and Fit, F) for each catchment. 10_script_FandCforStages.py:
This script is the first step of the optimizaiton procedure where we want to find the optimal stage value for which F has the best possible value. This script computes the hydraulic properties, rating curve, flood inundation stage, flood inundation map, and evaluation metrics for a range of stage (h) values for a specific catchment. So, remember to define the catchment at the "Define the following parameters" section of the script.
This script finds the best stage (h) value based on the maximum value of F (computed from the results of the script above) for each catchment. 12_script_BestInundationdepthBasedonBestF.py:
This code finds the best average inundation depth value based on the best stage. This is an interpolation where the values are found from the hydraulic table. We need the best average inudnation depth when we want to back calcualte the Manning's n and find the best n value in the next script.
This script finds the best Manning's n based on the best average flood inundation depth.



Funding Agencies

This resource was created using funding from the following sources:
Agency Name Award Title Award Number
Utah Water Research Laboratory

How to Cite

Garousi-Nejad, I., D. Tarboton, M. Aboutalebi, A. F. Torres-Rua (2019). Data For Terrain Analysis Enhancements to the Height Above Nearest Drainage Flood Inundation Mapping Method, HydroShare, http://www.hydroshare.org/resource/665dfa6aee8d4689ab59def52b3b1179

This resource is shared under the Creative Commons Attribution CC BY.



There are currently no comments

New Comment