AWS Summit DTU
VARSHA: Improving Rainfall Forecasts with AWS and Machine Learning
By Team IgniteZ
Introduction: What If We Could Make Rainfall Forecasts More Useful?
Every monsoon, heavy rainfall can disrupt transportation, damage infrastructure, affect agriculture, and increase the risk of flooding. Weather forecasting systems provide essential early warnings, but translating large-scale weather predictions into reliable, locally relevant insights remains a challenge.
This motivated us to build VARSHA, a machine-learning-powered rainfall forecasting improvement platform designed to make existing rainfall forecasts more useful for district-level analysis and disaster preparedness.
Our goal is not to replace existing weather forecasting systems. Instead, we aim to improve the information they provide, evaluate forecast reliability, and help decision-makers understand rainfall-related risks more clearly.
1. The Problem We Wanted to Solve
Numerical Weather Prediction (NWP) systems use mathematical models to forecast future weather conditions. However, their predictions can contain systematic errors caused by differences between model estimates and observed weather conditions.
These errors become particularly important when assessing heavy rainfall. A forecast that performs reasonably well on average may still fail to represent localized extreme rainfall accurately.
We identified three important challenges:
Forecast correction: How can we reduce systematic errors in existing rainfall forecasts?
Local relevance: How can large geographical weather grids be translated into useful district-level information?
Reliable warnings: How can we assess heavy-rainfall risk without presenting uncertain predictions as guaranteed outcomes?
VARSHA brings these challenges together in a single analytical platform.
2. How VARSHA Works
VARSHA combines meteorological data processing, historical observations, statistical correction, machine learning, and forecast verification.
Our platform includes several features that help users explore and evaluate rainfall forecasts.
Rain Map: Allows users to compare original rainfall forecasts with corrected forecasts.
My District: Converts gridded meteorological information into district-level rainfall statistics. District averages describe overall conditions, while maximum grid-cell values help identify possible localized rainfall hotspots.
Pattern Analysis: Examines standardized rainfall anomalies and persistence criteria to classify rainfall conditions, including active and break patterns.
Alerts: Estimates the probability of crossing specified 24-hour rainfall thresholds associated with heavy, very heavy, and extremely heavy rainfall.
Past Days: Supports historical rainfall analysis and comparisons between available forecasts and observed rainfall.
Accuracy and Verification: Evaluates forecasts using metrics such as RMSE, Probability of Detection (POD), False Alarm Ratio (FAR), Critical Success Index (CSI), Equitable Threat Score (ETS), Fractions Skill Score (FSS), and Brier Score.
These features are designed to support more informed decisions by disaster-management teams, district authorities, weather analysts, and emergency planners.
3. How We Used AWS
One of the important parts of VARSHA is its use of real meteorological forecast data.
We use Amazon Simple Storage Service (Amazon S3) to access NOAA's Global Forecast System (GFS) forecast data made available through AWS. This data serves as an input to our processing pipeline.
Our workflow follows these steps:
Access weather data: Obtain the required NOAA GFS forecast data available through Amazon S3.
Process meteorological files: Use Python and ecCodes to read and process weather data.
Prepare and align datasets: Use NumPy and Pandas to organize forecast values and align them with relevant historical observations.
Apply correction methods: Use statistical correction and supervised machine learning to investigate and reduce forecast errors.
Verify performance: Compare original and corrected forecasts using appropriate evaluation metrics.
Amazon S3 is important because it provides access to the large-scale forecast datasets on which our analysis depends.
We also believe it is important to be precise about our cloud architecture. In our current implementation, Amazon S3 is the AWS service we use for forecast-data access. Our machine-learning models run in Python using scikit-learn. We do not claim that the models currently run on AWS-managed machine-learning infrastructure.
4. Our Technology Stack and Architecture
VARSHA combines web development with a dedicated machine-learning workflow.
Frontend: Next.js and React provide the user-facing interface.
Backend: Node.js, Express, and TypeScript support backend application functionality.
Machine Learning: Python and scikit-learn support model development and evaluation.
Meteorological Data Processing: ecCodes, NumPy, and Pandas help process and organize weather datasets.
Weather Data Source: NOAA GFS forecast data accessed through Amazon S3.
Application Packaging: Docker is specified for packaging application components.
Automation and Hosting: The project repository specifies GitHub Actions for automated health checks, Vercel for frontend hosting, and Render for backend hosting.
At a high level, our architecture connects weather-data access and processing to the machine-learning pipeline. The results are then presented through the VARSHA website, where users can explore forecast comparisons, district-level analysis, rainfall patterns, alerts, and verification metrics.
The main engineering principle is to keep the data-processing and machine-learning components distinct from the interface users interact with.
5. Our Main Innovation: A Do-No-Harm Approach
A correction technique should not be accepted simply because it is more sophisticated.
For VARSHA, we combine statistical quantile mapping with gradient-boosting-based learning to capture rainfall distribution differences and nonlinear relationships.
We also use a do-no-harm gate. Correction methods are evaluated on out-of-sample performance before being accepted. When a correction does not demonstrate sufficient benefit under the required comparison, the system can retain the original forecast instead.
This is particularly important for extreme rainfall. A reduction in average error does not automatically mean better detection of dangerous rainfall events.
That is why VARSHA considers multiple verification metrics rather than relying on a single accuracy number.
In our documented pilot, tested comparisons reported a 4%–25% reduction in everyday rainfall RMSE. These results are promising, but they apply to the tested comparisons and do not establish improved performance in every location, weather regime, or extreme-rainfall event.
6. What We Learned
Building VARSHA helped us understand that a useful machine-learning project involves much more than training a model.
We learned the importance of working with real meteorological data, processing datasets consistently, aligning forecasts with observations, and evaluating results using suitable metrics.
We also learned that average performance can hide weaknesses in rare but high-impact situations. A responsible forecasting platform must communicate uncertainty and avoid presenting probability estimates as guarantees.
From an engineering perspective, integrating data processing, machine learning, backend services, and a user-facing website taught us to think about an entire system rather than treating the model as an isolated component.
Working with AWS-accessible weather datasets also showed us how cloud-hosted data can support projects addressing real-world problems.
Most importantly, the project taught us that technical innovation must be accompanied by transparent evaluation. A model is useful not only when it improves results, but also when we understand where it works, where it fails, and when its corrections should not be trusted.
7. What Is Next for VARSHA?
Our next priorities are broader validation across different districts and weather regimes, further testing of extreme-rainfall detection, and stronger evaluation of corrected forecasts against observed rainfall.
We also aim to explore more automated data pipelines, operational integration, and deployment improvements that could support reliable use beyond a pilot environment.
These steps are necessary before the platform can be considered ready for operational decision-making.
Conclusion: Better Information for Better Decisions
VARSHA began with a simple question:
Can we make existing rainfall forecasts more useful for the people who need to act on them?
By combining NOAA GFS forecast data accessed through Amazon S3, open-source scientific Python tools, statistical correction, supervised machine learning, and multi-metric verification, we are working toward an answer.
For Team IgniteZ, this project represents an opportunity to apply software engineering, cloud-accessible data, and machine learning to a problem with real societal importance.
Our vision is to help make rainfall forecasting more reliable, transparent, and useful for disaster preparedness.
VARSHA is not about promising perfect predictions. It is about measuring uncertainty, improving forecasts responsibly, and giving decision-makers better information when it matters most.
Built by Team IgniteZ.
Suggested tags: AWS, Amazon S3, Machine Learning, Python, Data Analytics, Weather Forecasting, Disaster Management
Comments
Post a Comment