Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Filter by Categories
ArcGIS Pro

Flood Risk Modelling in ArcGIS

Flooding is among the most destructive of natural hazards. It can cause loss of life, destroy infrastructure and property, and impede economic and social activities. Floods are primarily caused by heavy rainfall resulting in river overflows, flash floods, and coastal flooding. The risk of flooding is expected to increase, especially due to climate change, resulting in an increased frequency in precipitation events such as storm surges, and ever rising sea levels. Many experts now agree that absolute flood protection is not possible. This has steered a shift of focus from flood control using civil engineering structures, to Flood Risk Management (FRM) which now aims at developing the resilience of communities to flooding events.

The approaches to FRM are largely made possible by the availability of geospatial technology that can reliably model flood risk. These models span from 1D models for simple terrains, to more complex 2D and 3D models for complex terrains, processes, and built up areas. The key factor in getting the most accurate results is choosing the correct model for a particular location. Generally, the parameters used to quantify flood hazard include land use/land cover, elevation, slope, topographic wetness index (TWI), surface runoff, landform, lithology, distance from the main river, soil texture, and soil drainage.

The steps below describe the process of modelling flood risk in ArcGIS. This tutorial is written using ArcMap, but the same workflow will translate to ArcGIS Pro with minimal adjustments. The parameters used for this demonstration are slope, elevation, rainfall, land use/land cover (LULC), and Euclidean distance.

Step 1: Data acquisition and preparation

Datasets needed: Area of interest (AOI), Digital elevation model (DEM), Land use/Land cover (LULC), Precipitation

The first stage of modelling flood risk is collecting relevant data that will be used to create the model. Luckily, most of the data can be found free online at various geographical websites.

The AOI can be obtained from an administrative boundary shapefile, or you can digitize your custom desired area yourself. Its main purpose will be clipping out a defined area that we are interested in from the larger scope datasets which will be used in the modelling process.

The DEM can be obtained from the USGS EarthExplorer website. It contains elevation data which will be useful in calculating hydrological networks as well as obtaining the slope of the land. If your AOI can not be covered in a single DEM scene, download all the rasters that cover your AOI, then merge them in ArcMap using the “Mosaic to New Raster” tool under Data Management Tools – Raster – Raster Dataset. The USGS provides 30m raster datasets, which are pretty coarse resolution. If you have access to a higher resolution dataset, feel free to substitute it. 

Rainfall data can be obtained from the CHRS data portal, while LULC data is available from ESRI’s Sentinel-2 Land Use/ Land Cover Downloader. These datasets will provide the rainfall and LULC parameters to be included in the modelling process during overlay.

At this point, it is best practice to create a geodatabase for this project where all the outputs will be stored. It helps in finding the outputs faster and organizing outputs from different projects.

Step 2: Hydrological Analysis

  1. Fill Sinks (Fill Tool)

Filling sinks removes data breaks in the DEM, and outputs a seamless surface which is essential for accurate hydrological analysis. To fill sinks, go to Toolbox – Spatial Analyst Tools – Hydrology – Fill. Under “Input surface raster” load your DEM, then specify your preferred storage location under “Output surface raster”. Click OK to run the Fill tool.

Figure 1: Fill

  1. Determine Flow Direction (Flow Direction tool)

The Flow direction can be found under “Hydrology” tools in ArcGIS. It determines to which direction water flows from each cell. This is calculated based on the neighbouring cell that has the steepest downslope. To run the flow direction tool, set “Input surface raster” to the result of Fill tool, and OK after specifying a storage location in “Output flow direction raster”.

Figure 2: Flow Direction

  1. Computing Accumulation (Flow Accumulation tool)

The Flow Accumulation tool determines to which cells water will be accumulated. Still under the hydrology toolset, set “Input flow direction raster” to the result of the Flow direction tool, choose storage location, and click OK.

Figure 3: Flow Accumulation

After getting the results of Flow accumulation, the next step is to set the conditional for flow accumulation to >500. This can be done in the Raster Calculator, or “Con” tool under Conditional tools of the Spatial Analyst tools. This tutorial uses the raster calculator. Load the Flow accumulation raster into the raster calculator, add the expression “> 500” in front and click OK.

Figure 4: Raster Calculator

  1. Calculating linear networks (Stream Order tool)

The stream order tool is used to calculate the linear network within the AOI. Still under Hydrology tools, open the Stream Order tool and set “Input stream raster” to the results of the raster calculator. Then set “Input flow direction raster” to the results of Flow Direction tool, choose a storage location and click OK.

Figure 5: Stream Order

  1. Creating features from a linear network (Stream to Feature)

The Stream to Feature tool is used to create features from the stream linear network within the AOI. Also located under the hydrology toolset, open Stream to Feature and set “Input stream raster” to the results of Stream Order tool. Then set “Input flow direction raster” to the results of Flow Direction tool, choose a storage location, and click OK.

Figure 6: Stream to Feature

Step 3: Deriving Euclidean Distance

Euclidean distance is the straight line distance from a cell to the nearest source cell. It computes how far each cell is from the stream features. To get Euclidean distance, expand “Distance”, which is under Spatial Analyst Tools, then open “Euclidean Distance”. Once opened, set “Input raster or feature source data” to the results of Stream Feature tool, then choose storage location and click OK.

Figure 7: Euclidean Distance

Step 4: Deriving Slope

Slope shows the gradient of change in elevation among adjacent cells in the AOI. To derive slope, go to Spatial Analyst Tools, expand “Surface”, and open “Slope”. Set “Input raster” to the DEM of the AOI, specify a storage location, and click OK.

Figure 8: Slope

Step 5: Reclassification

Reclassification helps in bringing the number of classes in each dataset to a uniform, interoperable number, depending on the classification criteria we intend to use in the model. In this tutorial a classification model of 1-5 is used to represent flood risk (i.e. 1 – Very low, 2 – Low, 3 – Moderate, 4 – High, and 5 – Very High). Therefore, we need to have 5 classes in each of the parameters (datasets) we will use.

To perform reclassification, expand “Reclass” which is under Spatial Analyst tools and double click on “Reclassify”. Load the raster you want to reclassify. For instance, in the “Input raster”, we would choose slope, then click on the “Classify” button and choose 5 classes. Since low slopes are more susceptible to flooding than high slopes, “Reverse New Values” to make it consistent with the classification model. Otherwise, if left unchanged, it will wrongly imply that low slope has low flood risk while high slope has high risk of flooding. Care should be taken for other rasters as well to make sure the parameters are consistent with the classification model being used (Rainfall – values not reversed, elevation – values reversed, euclidean distance – values reversed). This is where applying your geographic and environmental science knowledge comes in. 

Figure 9: Reclassify

Step 6: Overlaying Weights

After adjusting the number of classes in each dataset to 5, it is now possible to overlay the influence of each of the parameters by assigning weights. The weights should be assigned logically depending on how the factors interact in the AOI. There is no universal set of weights for the parameters, each area is unique in the way it is influenced by these parameters in regard to flood risk. For this tutorial, the following weights were used: Slope – 40, Elevation – 40, Rainfall 10, LULC – 5, Euclidean Distance – 5.

To overlay weights, open “Weighted Overlay”, which is under Overlay tools in the Spatial Analyst tools. Click the “+” sign to add the parameters one by one. Under the “% influence”, fill in the weights of the parameters. Go down to “Evaluation scale” and choose “1 to 5 by 1”. After that, go back to the overlay table and make the “Scale Value” inputs consistent with those in “Field” for each entry. Then click OK.

Figure 10: Weighted Overlay

Step 7: Presenting Results

The Weighted Overlay tool will output a flood risk map with values 1 – 5, following the classification model created during reclassification. Rename the values from 1 – Very Low, to 5 – Very High, just as defined earlier. Switch to layout view in ArcMap and add map elements such as neat line, title, scale, legend, and north arrow. The map can then be exported to a format of choice (PDF, PNG, JPEG, etc.). The final output is a representation of flood susceptibility levels of the locations in the AOI. Feel free to apply your cartographic flair as you see fit to make it your own. 

Figure 11: Flood Risk Model

Want to learn more about the science behind flood modelling? Listen to our podcast episode on Flood Monitoring from Space with Dr. Shay Strong of ICEYE

About the Author
I'm Daniel O'Donohue, the voice and creator behind The MapScaping Podcast ( A podcast for the geospatial community ). With a professional background as a geospatial specialist, I've spent years harnessing the power of spatial to unravel the complexities of our world, one layer at a time.