Project Info
This project did not submit a demo video on Devpost.
Inspiration
The increasing frequency and intensity of hurricanes and other natural calamities inspired us to build a system that could provide timely and accurate predictions, helping communities prepare and respond more effectively. We wanted to leverage machine learning and real-time data tracking to create a tool that can forecast not just hurricanes but a variety of topological disturbances like cyclones, gale winds, and more.
What it does
The system predicts and tracks hurricane activities and other weather-related disturbances in real time, using machine learning to analyze data such as wind speed, pressure, and proximity to land. It provides early warnings and alerts, allowing at-risk regions to prepare for potential disasters. The tool also includes bot assistance, which delivers real-time notifications and updates to users.
How we built it
We used data from NOAA, IBTrACS, and the NCDC Storm Events Database, combined with real-time data from APIs like Google Earth. Machine learning models like Random Forest were used to predict weather disturbances. We integrated the system with Flask for a web-based interface and APIs for real-time updates. The entire model was built with Python, leveraging libraries like pandas, scikit-learn, and geopy for data processing and analysis.
Challenges we ran into
One of the biggest challenges was dealing with inconsistencies and missing data in historical datasets. Integrating real-time data with older datasets required significant preprocessing. Managing large datasets and ensuring efficient data manipulation without performance bottlenecks was another hurdle. Additionally, handling class imbalances in multi-class prediction proved to be challenging for some machine learning models.
Accomplishments we're proud of
We successfully built a robust prediction system that can forecast not only hurricanes but a wide range of weather disturbances. Achieving high model accuracy and recall, especially for minority classes, was a significant accomplishment. Integrating real-time data and creating a user-friendly alert system with bot assistance is another feature we’re proud of.
What we learned
We learned how to efficiently handle and manipulate large, complex datasets, as well as how to tackle class imbalance issues in multi-class prediction. Our team gained valuable experience in integrating machine learning models into real-time systems and ensuring that predictions remain accurate and up-to-date.
What's next
for Pre-Hurricane Alarm We plan to expand the system’s capabilities to cover more geographic regions and incorporate additional types of environmental data, such as satellite imagery and ocean temperature data. We also aim to enhance the bot assistance feature, making it more interactive and responsive to user needs.
Pre-Hurricane Alarm
Project Description
Developed a machine learning model to predict topological disorder from Northern Atlantic waves, which is essential in detecting and forecasting hurricane activities. Utilizing data from the Google Earth API, the model analyzes key parameters such as wind speed, pressure, and proximity to land. This model is integrated into a real-time alert system, enhancing disaster preparedness for regions at risk of hurricanes. The project showcases advanced pattern recognition and predictive modeling, aiming to improve environmental safety through early detection and alerts.
Background on Hurricanes
Hurricanes are some of the most devastating natural disasters, causing massive damage to coastal areas around the globe. These powerful storms form over warm ocean waters and are defined by violent winds, heavy rain, and storm surges. The Northern Atlantic region regularly experiences hurricane activity, often leading to the loss of life, damage to property, and disruption of ecosystems.
The increasing frequency and intensity of hurricanes, largely driven by climate change, make them a major global concern. Rising sea temperatures provide more energy for storm formation, resulting in stronger storms. As coastal areas become more vulnerable, millions of people are at risk. Predictive systems and early warning tools are critical in reducing hurricane impact by giving governments and individuals time to prepare and respond effectively.
Datasets
1. Google Earth Engine - International Best Track Archive for Climate Stewardship (IBTrACS)
IBTrACS provides historical data on the location and intensity of global tropical cyclones, dating back to the 1840s. This dataset includes key information such as wind speed, minimum central pressure, and proximity to land. It is available in 3-hour intervals and is critical for understanding hurricane patterns.
2. NOAA Hurricane Data
NOAA's extensive historical hurricane data spans over 150 years, providing a comprehensive look at hurricane tracks, wind speeds, and storm intensities. This dataset is essential for modeling storm behavior and predicting future activities.
3. Kaggle - Hurricanes and Typhoons, 1851-2014
The National Hurricane Center (NHC) conducts post-storm analysis of tropical cyclones in the Atlantic and Pacific Oceans. This dataset includes retrospective storm analysis to improve prediction models, with detailed storm information dating from 1851.
Real-Life Impact
Hurricane Katrina (2005)
- Affected Louisiana, Mississippi, and Alabama, causing catastrophic flooding, primarily in New Orleans.
- Resulted in over 1,800 deaths and $125 billion in damages.
Hurricane Maria (2017)
- Devastated Puerto Rico with winds up to 175 mph, leading to the destruction of the power grid and over 3,000 deaths.
Hurricane Harvey (2017)
- Brought unprecedented rainfall and flooding to Texas, with damages exceeding $125 billion.
Hurricane Sandy (2012)
- Affected the northeastern U.S., causing $70 billion in damages and extensive flooding in New York City.
Hurricane Dorian (2019)
- Struck the Bahamas as a Category 5 storm, with winds reaching 185 mph, causing widespread destruction and highlighting the vulnerability of small island nations.
Conclusion
The Pre-Hurricane Alarm system provides a crucial tool for early detection and disaster preparedness. By leveraging advanced machine learning techniques and rich hurricane datasets, this project aims to minimize the catastrophic impact of hurricanes, safeguarding lives and infrastructure.
STEPS:
=> Open your terminal and clone the repository using:
git clone <repository_url>
cd <project_directory>
=> Create the virtual environment:
python -m venv venv
=> Activate the virtual environment:
Windows:
venv\Scripts\activate
macOS/Linux:
source venv/bin/activate
=> Run the following to install all the required packages:
pip install -r requirements.txt
=> Create a .env file in the project root:
touch .env
=> .env file variables
GEMINI_API_KEY = {GEMINI API KEY}
OPENWEATHER_API_KEY = {OPENWEATHER API KEY}
GOOGLE_MAPS_API_KEY = {GOOGLE MAPS API KEY}
DB_HOST = {GCP CLOUD PUBLIC IP}
DB_USER = {GCP CLOUD DB USER}
DB_PASSWORD = {GCP CLOUD DATABASE PASSWORD}
DB_NAME = {GCP CLOUD DATABASE NAME}
CLOUD_SQL_CONNECTION_NAME = {GCP CLOUD CONNECTION NAME}
=> Run python file
python app.py
Thank you so much!
Analysis
View
Metric
- 16
- 6
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FlaskIn code
- HTMLIn code
- PythonIn code
4 of 4 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
53 KB
Source files
7
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
kru2710shna/Pre_Hurricane
17 files · 89.9 MB · @ d2bdd25
Structure
Interface
1 file · 6%Screens, components and styles rendered to the user.
Application logic
4 files · 24%Domain rules, services and shared utilities.
Data & schema
2 files · 12%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- HTML45%
- Python41%
- Markdown9%
- CSS5%
- YAML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi · 11- Flask
- Flask-Mail
- geopy
- google-generativeai
- gunicorn
- joblib
- mysql-connector-python
- numpy
- pandas
- python-dotenv
- requests
package.json
npm · 1- @vapi-ai/web
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
Distance-to-land calculationVerified
Analyzes proximity to land as a prediction parameter
Claimed on Devposthigh confidenceapp.py:231— calculate_distance_to_land uses geopy geodesic distance against a landmass coordinate listapp.py:208— /get_distance_to_land endpoint exposes this to the frontend, consumed at templates/index.html:356
Google Maps interactive map with prediction markersVerified
Built with google-maps; real-time tracking on a map interface
Claimed on Devposthigh confidencetemplates/index.html:189— initMap() creates a google.maps.Map, places clickable markers, and recolors the marker icon based on prediction labeltemplates/index.html:499— Loads the Google Maps JS API using google_maps_api_key passed from Flask
Machine learning hurricane/disturbance prediction (Random Forest)Verified
Machine learning models like Random Forest were used to predict weather disturbances (10 classes: hurricane, tropical storm, gale winds, etc.)
Claimed on Devposthigh confidenceapp.py:22— Loads a trained model (best_random_forest_model4.pkl) and preprocessor via joblibapp.py:99— /predict_status route builds a feature DataFrame (wind, pressure, distance to land, lat/lon), runs preprocessor.transform and model.predict, and maps output to 10 disturbance-type labelsUntitled14-2.ipynb:3194— Notebook trains models using sklearn including a RandomForest-based pipeline with the same feature set
Real-time hurricane/disturbance prediction and tracking dashboardVerified
The system predicts and tracks hurricane activities and other weather-related disturbances in real time
Claimed on Devposthigh confidencetemplates/index.html:438— predict-btn handler gathers live weather-derived inputs and posts to /predict_status, displaying the resulting disturbance classification in a modalapp.py:99— predict_status endpoint performs the actual ML inference server-side
Real-time weather data integration (OpenWeatherMap)Verified
Real-time data tracking of wind speed, pressure, and other weather parameters
Claimed on Devposthigh confidencetemplates/index.html:327— fetchWeather() calls OpenWeatherMap API directly from the client and populates wind speed, pressure, local timeapp.py:171— get_weather_data() server-side function also calls OpenWeatherMap API and computes distance to land
Bot assistance / chatbot for real-time notifications and hurricane info (Gemini)Code-supported
The tool also includes bot assistance, which delivers real-time notifications and updates to users
Claimed on Devpostmedium confidenceapp.py:60— /gemini_chatbot route calls Google Generative AI (gemini-1.5-flash) with the user's question and returns a text answertemplates/index.html:421— Frontend 'Ask' button posts questions to /gemini_chatbot and renders the response, confirming a working Q&A chatbot
Email alert/notification system for subscribersCode-supported
Provides early warnings and alerts, allowing at-risk regions to prepare; user-friendly alert system
Claimed on Devpostmedium confidenceapp.py:264— /subscribe route stores name/email/phone in a MySQL DB and sends a thank-you email via Flask-Mailutils/email_templates.py:1— Provides the subscription_thank_you_message email body template
Trained on NOAA, IBTrACS, and NCDC Storm Events datasetsCode-supported
We used data from NOAA, IBTrACS, and the NCDC Storm Events Database, combined with real-time data from APIs like Google Earth
Claimed on Devpostlow confidenceUntitled14-2.ipynb:3194— Training notebook exists and builds an sklearn preprocessing/model pipeline consistent with the shipped model files, but the notebook's data-loading cells were not confirmed to reference NOAA/IBTrACS/NCDC files by name in the scoped search
Google Earth API integration for dataClaimed only
Utilizing data from the Google Earth API, the model analyzes key parameters such as wind speed, pressure, and proximity to land
Claimed on readmemedium confidenceutils/gemini.py hurricane-specific Gemini prompt engineClaimed only
Bot assistance delivers hurricane-specific simulations, safety tips, and comparisons using real-time and historical hurricane data
Claimed on Devposthigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.