This repository contains scripts to model and forecast the groundwater table level in Norfolk, Virginia using Long Short-term Memory and Recurrent Neural Networks. These models are created with Tensorflow and Keras and run on a HPC with a GPU. The models are trained and tested with observed data; the models are also tested on forecast data to simulate a real-time prediction scenario.
This work has been publised in Water and is available via open access at https://www.mdpi.com/2073-4441/11/5/1098.
There is a need for accurate forecasts of groundwater table as part of flood prediction in coastal urban areas because:
- Coastal urban areas face recurrent flooding from storm events and sea level rise
- Expected to get worse as climate change continues
- In these areas, the groundwater level is often close to the surface
- Exact height is only known at sparse points (wells)
- Can quickly rise in response to storms
- High groundwater level decreases storage capacity and
- Increases runoff
- Increases stormwater load
- Increases flooding during storms
The modeling process has been broken into three steps: preprocessing, modeling, and post-processing.
The main model dependencies used are:
- Tensorflow
- Keras
- Scikit-Learn
- Ben Bowes
- Jeff Sadler
- Mohamed Morsy
This project is licensed under the MIT License - see the LICENSE.md file for details
- The Unreasonable Effectiveness of Recurrent Neural Networks - A great blog post by Andrea Karpathy explaining what RNNs are and why they work so well.
- Understanding LSTM Networks - One of the clearest explanations of LSTMs, from Christopher Olah's blog.
- Deeplearning Videos - Educational and entertaining videos by Siraj Raval on many AI topics including tensorflow, deeplearning, LSTM, and RNN.