Spatio-Temporal Weather Prediction with Graph Neural Networks
Bibliographic record
Abstract
Weather forecasting plays a vital role in climate risk management, disaster mitigation, and agricultural planning. Traditional forecasting models often rely on sequential methods or spatially coarse datasets, limiting their ability to capture fine-grained interactions across geographically distributed locations. This research proposes a Graph Neural Network (GNN)-based approach for spatio-temporal weather prediction, utilizing ERA5 reanalysis data from 1979 to 2020 for 1,359 locations in Nepal. Key meteorological features, including precipitation, relative humidity, and temperature, are incorporated into the model. The proposed framework constructs a graph representation, where each node corresponds to a geographic location and edges represent spatial adjacency or environmental similarity. The GNN architecture integrates graph convolutional layers to capture spatial dependencies and a Gated Recurrent Unit (GRU) to model temporal patterns. Performance evaluation against historical weather data demonstrates that the model achieves lower Mean Squared Error (MSE) than traditional sequential baselines, while maintaining computational efficiency. Results highlight the model’s ability to generalize across diverse climate zones, making it a promising tool for large-scale weather monitoring. Future enhancements could incorporate real-time sensor feedback and probabilistic uncertainty quantification to develop a more robust forecasting pipeline. This study underscores the potential of GNNs in enhancing weather prediction accuracy by effectively modeling spatial dependencies—an aspect often overlooked in conventional approaches. While the model achieved strong accuracy for temperature and humidity, precipitation predictions exhibited modest visual deviations. These differences are largely attributable to the bursty, sparse nature of rainfall and vertical scale exaggeration in plotted values. Nonetheless, the predictions remained temporally aligned with actual events and yielded low MSE, underscoring the model’s validity.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.000 | 0.002 |
| Meta-epidemiology (narrow) | 0.001 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.001 |
| Bibliometrics | 0.001 | 0.001 |
| Science and technology studies | 0.000 | 0.000 |
| Scholarly communication | 0.001 | 0.001 |
| Open science | 0.001 | 0.000 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.001 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".