Created in collaboration with Northeastern University
This end-to-end dynamic flood simulation is intended for use with the Analytics workflow in UVDAT (Urban Visualization and Data Analysis Toolkit). This module consists of three parts: downscaling prediction, hydrological prediction, and hydrodynamic prediction.
First, an AI downscaling model uses regional climate projections to determine future local precipitation conditions, such as the intensity of extreme rainstorms. These extreme precipitation levels are fed into a hydrological model, which uses precipitation and evapotranspiration to determine runoff and discharge. Finally, a hydrodynamic model uses discharge to map flood depth over time.
This is a proof of concept for the Charles River in Boston that could be translated to other rivers and cities. The user selects the inputs described below, and the output is a flood simulation, represented as a multiframe stacked GeoTIFF raster, a time-varying map of flood depth with one frame per hour for 24 hours.
-
Time Period: the 20 year time period in which to predict a flood. Right now, the only option available is
2030-2050
, which is the default value. -
Annual Probability: the probability that a flood of this magnitude will occur in any given year. This value must be greater than 0 and less than 1. The default is 0.04, which represents a 1 in 25 year flood.
-
Hydrograph: a list of proportions that sum to 1; these represent fractions of the total rainfall volume per timestep.
-
Potential Evapotranspiration Percentile: Select the 25th, 50th, 75th, or 90th percentile value for potential evapotranspiration
-
Soil Moisture Percentile: Select the 25th, 50th, 75th, or 90th percentile value for soil moisture
-
Ground Water Percentile: Select the 25th, 50th, 75th, or 90th percentile value for ground water
Install requirements with pip install -r requirements.txt
.
To run a flood simulation with default inputs:
python main.py
To see the help menu explaining how to use arguments to specify input values:
python main.py -h
By default, results will be displayed with a matplotlib
animation. This animation is saved in the outputs folder as animation.gif
. Results are also saved in the outputs folder as a multiframe geospatial tiff called flood_simulation.tif
, which can be added to UVDAT for visualization.