Flood Risk Assessment using Grass GIS
Contents
Introduction
With the prevalence of climate change in society today many individuals are discovering the advantageous functionality of Geographic Information Systems (GIS) for modelling and predicting the ramifications of climate change to their localities. The climate crisis brings about many pressing issues to the world, but this tutorial will prioritize emulating rising water levels to demonstrate a very basic flood risk assessment using open source software and data. This tutorial will make use of GRASS GIS to demonstrate the recently updated user-friendly Graphical User Interface and will focus on conducting a basic flood risk analysis on one of Canada's most populated coastal cities, Vancouver BC. This tutorial uses open source data from USGS's Earth Explorer and the City of Vancouver's Open Data website.
Vancouver is one of Canada's largest coastal cities and experiences the ramifications of climate change much more severely than us at Carleton University in Ottawa. An article by CBC ([1]) provides some context to the tutorial with recent (as of 2022) flooding in the city to emphasize the importance as well as the potential that GIS holds in aiding communities at a national scale.
Software and Data
This tutorial uses the latest version of Grass GIS 8.3.0, which can be downloaded for Windows, MacOSX, and Linux from their website ([2]). After downloading, run the installer and install GRASS onto your computer. This tutorial aims to focus on using the updated GUI but will brush on the command console and its ease of use in GRASS.
The data used for this lesson are derived from two main sources, the US Geological Survey Earth Explorer tool ([3]) and the City of Vancouver Open Data website ([4]); both are open data sources, although the USGS requires you to create an account to access their data.
First, let's begin by collecting the data needed from the City of Vancouver Open Data Website:
- 1. Open the link provided above
- 2. Select the Catalogue tab in the left of the home page
- 3. A catalogue browser will open, in the search bar enter "Local Area Boundary"
- 4. Select the file containing the cities 22 planning areas (this will serve as our city boundary)
- 5. Inspect the integrity of the data by reviewing the metadata, paying specific attention to the Data Accuracy, Last Processed Date and the Data Owner
- 6: Select the "Export" tab and select the hyperlink for the Shapefile download
- 7: Repeat this process for another Shapefile called "Public Streets"
- 8. Store the data in a folder you'll keep tabs on (we will export it to the GRASS database later)
Next, we will collect the data from the Earth Explorer website:
- 1. Open the link provided from above
- 2. Select the Data Sets tab at the top of the window
- 3. Expand the Digital Elevation menu, expand the SRTM submenu, select SRTM 1 Arc-Second Global
- 4. Return to the Search Criteria tab
- 5. Under the "Select a Geocoding Method" drop down tab select Address/Place and enter Vancouver
- 6. Select the coordinates for Vancouver BC and click the "Results" tab
- 7. Under results a DEM should appear, start by inspecting the metadata
- 8. First click "Show Footprint" to ensure the image covers the study area
- 9. Next click "Show metadata" and browse, paying close attention to acquisition date and Resolution
- 10. Finally click "Download Options" and select "TIFF" format; store the resulting TIFF file somewhere safe for now
Methods
Starting a GRASS session
Now that we have our data collected, we can open Grass GIS and setup the tutorial session:
- 1. Open Grass GIS
- 2. Browse to your selected directory in Step 1
- 3. Create a New Location for your workspace in Step 2
- 4. Specify the Project Location and Location Title, select Next
- 5. Select the default Select EPSG code of spatial reference system and click on Next
- 6. Search for NAD83 / Florida East, or input the EPSG code 26958 and click on Next
- 7. Select datum 2 for Used in Florida and click on OK
- 8. Click on Finish
- 9. Select your new Location and click on Start GRASS Session
Importing Vector Data into GRASS
The GRASS session is now setup, and we can start importing the data we collected from earlier, starting with the boundary file
- 1. Under the File tab from the top of the window, select Import Vector Data and choose the Import of common vector formats [v.in.ogr]
- 2. Browse to the location of the Daytona Beach boundary file
- 3. Under the Optional tab, select the Override projection check and click on Run
- 4. At the top toolbar select the Add vector map layer button
- 5. Select the boundary file under the drop-down menu and click OK
- 6. Right-click on the boundary file in the Layer Manager and select Set computational region from selected map(s), this creates an area of interest (AOI) and sets the computational extent around the city
Next, we will import the major roads file using the same process as above, without setting the computational region (Step 6)
Importing Raster Data into GRASS
Now we can import the SRTM DEM we downloaded earlier from the USGS:
- 1. Under the File tab, select Import raster data and choose Import of common raster formats [r.in.gdal]
- 2. Browse to the location of the SRTM DEM and input a name for the output raster map
- 3. Select Override projection check under the Projection tab and click on Run
Changing Symbology
Now that we have the data displayed, we can adjust the symbology to better suit our applications:
- 1. Right-click on the SRTM DEM layer and select Set color table
- 2. Ensure that the correct raster file is selected
- 3. Under the Define tab, click on the drop-down menu under Name of color table and select the elevation color table, and click on Run
- 4. Right-click on the boundary file and select Properties
- 5. Under the Colors tab, select a color for the boundary itself and check Transparent for the Area fill color, and click on OK
Creating flooding scenarios
We have our map ready to run a basic flood risk assessment using the raster calculator. The lowest points of elevation in Daytona Beach is approximately 4m, but we will simulate an initial rise of 2m to conservatively determine the effects of flooding.
- 1. Under the Raster tab, select Raster map calculator [r.mapcalc]
- 2. Input this expression to simulate water levels of 6m: DaytonaFLOOD2m = ( ( DaytonaSRTM@PERMANENT <= 6 ) == 1 ) & ( ( DaytonaSRTM@PERMANENT >= 6 ) == 0 ) *supplement DaytonaSRTM with whatever you named the SRTM DEM file*
- 3. Click on Run, make sure the Add created raster map into layer tree option is selected before doing so
The resultant raster map shows which areas are inundated (yellow) and the non-inundated areas (purple) at 2m sea level rise. Next we will create another raster map showing an example of 5m of rising sea level.
- 1. Under the Raster tab, select Raster map calculator [r.mapcalc]
- 2. Input this expression to simulate water levels of 6m: DaytonaFLOOD2m = ( ( DaytonaSRTM@PERMANENT <= 9 ) == 1 ) & ( ( DaytonaSRTM@PERMANENT >= 9 ) == 0 ) *supplement DaytonaSRTM with whatever you named the SRTM DEM file*
- 3. Click on Run, make sure the Add created raster map into layer tree option is selected before doing so
Results
By toggling between the original SRTM DEM, 2m Flooding, and 5m Flooding layers, we can ascertain the levels of flooding we could see in areas in and around Daytona Beach.