§0 Abstract
Standard numerical weather prediction (NWP) models operate at coarse spatial scales (9–25 km), failing to resolve hyper-local microclimate variations in complex urban environments. In cities like Bengaluru, convective precipitation and localized thermal dynamics create severe spatial variation over sub-kilometer distances.
Namma Weather is a hybrid multi-agent forecasting framework designed for hyper-local (100 m radius) predictions. It fuses distributed simulated Edge-IoT telemetry, simulated satellite feeds, and simulated crowdsourced mobile data alongside live historical meteorological data from Open-Meteo. Specialized physics-constrained agents model simplified Navier–Stokes relations, Kessler microphysics, and Urban Heat Island (UHI) effects. These feed a meta-ensemble of XGBoost, LightGBM, Gradient Boosting, and Random Forest regressors, optimized via Optuna and evaluated with Gaussian Process uncertainty estimation. Neighborhoods are indexed with Uber's H3 hexagonal grid at resolution 9 for microclimate and elevation adjustment.
The gradient-boosting ensemble and cloud classifier are fully trained and validated. Deep spatiotemporal architectures — ConvLSTM, Transformers, Bayesian Neural Networks — are implemented and unit-tested, but not yet trained to convergence. This is stated explicitly throughout rather than implied otherwise.
§1 Introduction & Problem Statement
Regional forecasts from agencies like IMD, or global models like GFS and ECMWF, are optimized for multi-day horizons over large geographic zones. They are inadequate for urban planning, localized storm warning, and daily commuting decisions. In Bengaluru, convective rainfall is highly localized: it's common for one neighborhood — Koramangala, say — to experience heavy downpour while an adjacent one, HSR Layout, stays dry.
To bridge this resolution gap, Namma Weather fuses data-driven ML with classical physical constraints. A multi-agent system distributes the forecasting task among specialized estimators that enforce thermodynamic and fluid-dynamic boundaries on their own outputs — rather than letting a purely statistical model produce physically implausible predictions.
§2 System Architecture
The system is organized into three layers: multi-source data fusion, physics-constrained agents, and an ML ensemble with spatial adjustment.
┌─────────────────────────────────────────────────────────────┐
│ DATA SOURCES │
│ ┌────────────┐ ┌────────────┐ ┌─────────────────────┐ │
│ │ IoT Grid │ │ Satellite │ │ Crowdsourced mobile │ │
│ │ (Simulated)│ │ (Simulated)│ │ reports (Simulated) │ │
│ └─────┬──────┘ └─────┬──────┘ └──────────┬──────────┘ │
└────────┼────────────────┼─────────────────────┼─────────────┘
└────────────────┼─────────────────────┘
▼
┌───────────────────────────┐
│ Data Normalizer │ ← Conflict resolution
│ and Fusion Layer │ via confidence weights
└─────────────┬─────────────┘
▼
┌───────────────────────────────────────────────────────────┐
│ PHYSICS AGENTS LAYER │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌─────────┐ │
│ │ Pressure │ │ Temp Agent │ │ Precip │ │ Cloud │ │
│ │ Gradient │ │ (Urban heat│ │ Kessler │ │ Vision │ │
│ │ (N-S Eq.) │ │ canyon) │ │ microphys. │ │ (MNv2) │ │
│ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └────┬────┘ │
└────────┼──────────────┼──────────────┼─────────────┼──────┘
└──────────────┴──────────────┴─────────────┘
▼
┌───────────────────────────────────┐
│ ML Ensemble Layer │ ← Optuna-optimized
│ XGBoost + LightGBM + Gradient │ weight mapping
│ Boosting + Random Forest │
└─────────────────┬─────────────────┘
▼
┌───────────────────────────────────┐
│ H3 Hexagonal Grid │ ← Microclimate
│ Spatial Adjustment (Res 9) │ corrections
└─────────────────┬─────────────────┘
▼
┌───────────────────────────────────┐
│ Hyper-Local Forecast │
└───────────────────────────────────┘
Cloud Classifier
MobileNetV2 / ResNet50 fine-tuned on GCD, 7 sky classes.
Trained · 62.0% val accGradient Boosting Ensemble
XGBoost, LightGBM, Gradient Boosting, Random Forest + Optuna.
Trained · see §5ConvLSTM Temperature Agent
Spatiotemporal convolutional LSTM for temperature fields.
Architecture onlyBiLSTM Wind Agent
Bidirectional LSTM with attention over pressure gradients.
Architecture onlyBayesian Neural Net
TensorFlow Probability, DenseVariational layers, MC sampling.
Architecture onlyTemporal Fusion Transformer
Multi-head attention over spatial + temporal grids.
Architecture only§3 Methodology & Equations
3.1 Multi-source data fusion
Data is ingested from three sources with varying confidence:
where $\alpha=0.5$ (direct IoT sensor reading), $\beta=0.3$ (indirect satellite grid), and $\gamma=0.2$ (crowdsourced reports). Conflicting observations are resolved with confidence-weighted averaging:
3.2 Physics-constrained agents
Precipitation agent — Kessler microphysics, modeling autoconversion, collection, and evaporation:
Temperature agent — Urban Heat Island. Sky View Factor:
where $H$ is average building height and $W$ average street width. UHI temperature delta:
Wind agent — geostrophic + log-law surface friction:
where $z_0$ is urban surface roughness (0.5 m) and $f$ is the Coriolis parameter.
3.3 Spatial neighborhood adjustment
Predictions are indexed with Uber's H3 hexagonal grid at resolution 9 (~0.1 km² cells). Elevation lapse-rate correction:
where $H_{\text{cell}}$ is the cell's elevation and $0.0065\ ^\circ\text{C/m}$ is the standard atmospheric lapse rate.
§4 Implementation & Training Details
4.1 Cloud classifier Trained
- Dataset: Ground-based Cloud Dataset (GCD), 7 cloud categories.
- Architecture: MobileNetV2 and ResNet50, ImageNet-initialized.
- Training: Phase 1 — head trained 20 epochs, base frozen. Phase 2 — top 30 conv layers unfrozen, fine-tuned 40 epochs, lr 1e-5, Adam.
- Result: 62.0% overall validation accuracy on the GCD test set. Class-wise precision/recall not yet computed — noted as future work.
4.2 Forecasting ensembles Trained
- Models: XGBoost, LightGBM, Gradient Boosting, Random Forest.
- Data: 60 days of historical Bengaluru meteorological data, fetched live from Open-Meteo.
- Split: 80/20 train-test.
- Optimization: Optuna, 100 trials, minimizing RMSE.
- Uncertainty: Gaussian Process Regressor, Matérn + RBF kernels — produces a confidence score from posterior uncertainty, reported separately from RMSE in §5.
4.3 Deep spatiotemporal architectures Implemented, not converged
ConvLSTM2D (temperature), BiLSTM-attention (wind), Temporal Fusion Transformers, and a Bayesian Neural Network (TensorFlow Probability, DenseVariational layers with Gaussian priors/posteriors) are fully coded and pass architecture/unit tests, but have not been trained to convergence due to compute/environment constraints. These are documented as a defined upgrade path, not production components.
§5 Experimental Evaluation Results
Evaluated on the 20% held-out test split of the 60-day Bengaluru dataset:
| Model | Temp. RMSE (°C) | Wind RMSE (m/s) | Precip. RMSE (mm) |
|---|---|---|---|
| Random Forest | 0.2203 | 0.3827 | 1.1776 |
| Gradient Boosting | 0.1870 | 0.3573 | 1.3172 |
| XGBoost | 0.1217 | 0.3960 | 1.4390 |
| LightGBM | 0.7166 | 1.0259 | 2.8454 |
| Ensemble Average | 0.2687 | 0.2810 | 0.8974 |
Best value per column highlighted in amber.
Separately, the Gaussian Process-based Ensemble Confidence Score for the combined pipeline was 94.86% — a measure of posterior prediction certainty, not an accuracy percentage, and should not be conflated with the RMSE table above.
Key observations
- Precipitation & wind speed: the Ensemble Average had the lowest error of the group — consistent with variance reduction from combining diverse learners, even though no single base model led on both metrics.
- Temperature: XGBoost alone had the lowest individual RMSE (0.1217°C); the Ensemble Average (0.2687°C) was pulled upward by LightGBM's comparatively weak temperature fit (0.7166°C) within the average — reported honestly rather than cherry-picking the best individual model as "the ensemble result."
- Physical feasibility: Kessler microphysics constraints prevented physically invalid negative precipitation output, which unconstrained models (notably LightGBM near zero targets) were otherwise prone to producing.
§6 Limitations & Future Work
6.1 Stated limitations
6.2 Future work roadmap
- Deploy physical ESP32-CAM and Arduino-based sensor nodes in a pilot zone (Koramangala).
- Integrate real satellite feeds (INSAT-3D via MOSDAC API) in place of simulated input.
- Benchmark directly against Open-Meteo and IMD forecasts for the same locations once real sensor data exists.
- Train ConvLSTM, Temporal Fusion Transformer, and Bayesian NN to convergence on GPU-enabled hardware.
- Integrate Doppler radar for 0–2 hour precipitation nowcasting.