Inspiration
In recent decades, climate change has only compounded floods on a global scale. Heavy rainfall events have surged by 3% per decade because of climate change, fueling catastrophic floods. This causes large-scale destruction, leaving many in the wake of the tragic aftermath. Preventable flood damage resulted in 25 Billion kg CO2, further perpetuating the cycle of carbon emissions into the atmosphere. In 2019, 21.5 million people were displaced by climate-induced weather hazards, including floods.
With the global devastation caused by floods, we created Swift Rescue. These floods exact a staggering $60 billion yearly toll on economies and cause immense human suffering. Swift Rescue emerges as our response, harnessing cutting-edge technology to predict and mitigate these disasters, ultimately protecting lives and livelihoods. We've made this project for the Schlumberger, D2K, and Chevron challenges and the Productivity track.
What it does
Swift Rescue is a groundbreaking app that harnesses the power of machine learning to predict and respond to floods with a 97% accuracy rate. Whether you're a concerned user or a dedicated responder, Swift Rescue empowers you to stay one step ahead of the devastating effects of climate change.
We created machine learning models that make early forecasts for whether or not floods will occur. These models were deployed on the cloud and constantly update a firebased database that consists of issues flood warnings across the world. We also created a mobile app for users to receive flood warnings before the flood happens, and to visualize the flood warnings and land susceptibility to floods on a dashboard interface.
For users, Swift Rescue is your trusted ally in the battle against climate challenges. Stay informed through our environment-related news feed, keeping you up-to-date on critical developments. When disaster strikes, connect with others nearby on our interactive map, forging a community of support during emergencies.
For responders, Swift Rescue is your mission control center. Access our predictive flood data and severity assessments through a comprehensive dashboard. Pinpoint users in flood-prone areas on the map, ensuring you're always ready to leap into action when rescue is needed. Swift Rescue provides the most optimized routes, using a method that combines K-means clustering and Dijkstra's algorithm, to reach those in distress, saving valuable time and resources.
With Swift Rescue, we are transforming data science into powerful rescue technology. Join the Swift Rescue community today and be part of a proactive movement to predict, prevent, and respond swiftly to floods.
How we built it
There aren't datasets of floods and weather features when the floods occurred (like precipitation, proximity to water sources, etc) so we had to create our own dataset. We used flood incidences (date and location) from the NOAA database which consisted of over 100,000 flood instances. We collected negative data by taking random lat/long/times where floods did not happened. For this list of flood incidences, we collected data for features indicative of floods.
Precipitation Proximity to dams and reservoirs Forest loss Road/infrastructure presence Rock type Proximity to water bodies Our sources included
OpenStreetMap(road/infrastructure presence) Global Forest Change (Forest Loss) IMERG (precipitation) Global Dam Watch LP DAAC (Water Bodies) We dealt with 100+ GB of data, taking hours to process for each feature.
We used the sci-kit learn library to create our KNN, SVC, & Random Forest models. Then we trained them on the dataset we created. Our Random Forest model obtained the highest test accuracy of 97% and a recall (detection rate) of 97.6%. This means, it correctly forecasted 97.6% of floods in the test set.
We used the Firebase Realtime Database to store previous floods within the local areas of users along with a global database for the user to explore recent, global floods.
The mobile app shares the user's current location to display the relevant information to them and monitor the Firebase Database for flood warnings in their city. The website for first responders was created with React and also uses Firebase to display flood data & warnings to users, but additionally shows a zoomable, global susceptibility map, and route optimization for rescue.
Route optimization works through a combination of k-means to identify user clusters, and a TSP nearest-neighbors algorithm that traverses all the points.
Challenges we ran into
One of the largest challenges was collecting data for our models to train on. As mentioned, there aren't publicly accessible, flood datasets containing weather or terrain-related information at the time of the flood. So, we had to do research to determine which features were indicators of floods, then we had to determine which were feasible to collect with the time constraints that we had.
Another issue that arose was the actual data collection because we had to deal with large amounts of data - over 100 GB! Processing the data was difficult, and took up most of our time in this project. We had multiple scripts running at the same time for hours to collect the data for 10,000 incidences. Then we had to process this data, compile it together, and got our final datasets of 10,000 flood and non-flood incidences.
Generating the most optimized route from the backend was comparatively easier, but still took time. To save time, we used GPT4 code interpreter to create all the graphs and simulated data for this while our other data processing scripts were running.
Accomplishments that we're proud of
Creating such a functioning, ambitious project in less than 36 hours.
What we learned
Applying complex algorithms and models to ideas, then making them client facing through frontend.
What's next for Swift Rescue
Get a lot of sleep.
Built With
- fastapi
- firebase
- google-maps
- modal-labs
- python
- react
- scipy
Log in or sign up for Devpost to join the conversation.