The problem Flood Monitoring System solves
FloodMLis our solution to floods in India. It is a web app that uses advanced machine learning algorithms to predict future floods based on the weather forecast data – precipation, wind speed, humidity, temperature, maximum temperature, cloud cover – over the next 15 days, while allowing users to effectively visualize current and upcoming floods. The app has 4 core components:
- PLOTS :
The 3 visualizations on the plots page are bubble plots that display flood predictions, damage predictions, and heavy rainfall predictions across India, taking in factors such as precipation, wind speed, humidity, temperature, cloud cover, as well as previous data history.
- HEATMAPS :
The 3 heatmaps show flood predictions, damage predictions, and heavy rainfall predictions across India, taking in factors such as precipitation, wind speed, humidity, temperature, cloud cover, as well as previous data history.
- SATELLITE IMAGES :
Our satellite image analysis displays the volume of precipitation over various cities in India for different months. In order to create this feature, we analyzed netCDF4 formatted data from NASA's Global Precipitation Measurement Project, and produced geo-referenced plots using a combination of libraries, namely numpy, matplotlib, and cartopy. We then displayed our processed images on our web application for users and governments to view.
- PREDICT PAGE :
On our predict page, the user simply enters the name of any city in the world. Our app then automatically fetches the weather forecast data of that city in realtime, runs this data into our Machine Learning model, and gives instantaneous results, which include the flood prediction, the temperature, the maximum temperature, the humidity, the cloud cover, the windspeed, and the precipitation.
Challenges we ran into
Our biggest challenge was in mining and collecting data to build our models and data visualizations. Given the extremely limited existing data available for floods and water related factors in India, scraping quality data was a challenge. We used a combination of weather API's and scraping techniques to create and compile an accurate and effective dataset. We also struggled with integrating the plots with our web app application, being our first time working with Plotly. Lastly, we faced a lot of git merge conflict issues due to different encodings of csv files and pickle versions across different computer platforms.