$ show openclimatefix/graph_weather
graph_weather is a research-oriented deep learning library for weather forecasting with graph neural networks. It implements multiple model families—GraphCast-inspired encoder/processor/decoder models, the diffusion-based GenCast and GenDA, the ensemble FGN, WeatherMesh, Aurora, FengWu-GHR, and CaFA—along with a substantial set of data loaders, loss functions, training scripts, and evaluation utilities. The package is structured as a Python library with HuggingFace Hub model integration, PyTorch Lightning training support, and a comprehensive test suite, giving it a hybrid character: it is fundamentally research code, but packaged and tested with application-grade discipline. Entry points include GraphWeatherForecaster, GraphWeatherAssimilator, WeatherStationReader, and various dataset classes, while training scripts live under train/.
The LLM identified 5 files worth highlighting for reuse:
Ingests raw weather station observations from CSV and API sources (SynopticPy, WeatherReal-Benchmark) and converts them into ML-ready NetCDF structures. It solves a recurring data problem—normalizing heterogeneous point observations into a uniform format—and is extracted from the forecasting pipeline with minimal internal coupling.
Builds sparse bipartite connectivity graphs from latitude/longitude coordinates using H3 hexagonal grid hierarchies, with caching for repeated use. This is a reusable spatial-data pattern for any GeoAI or mesh-based GNN project requiring efficient spherical graph construction from raw coordinates.
Generates connectivity between regular latitude/longitude grids and icosahedral meshes, producing edge indices and local coordinate rotation matrices. The spherical-geometry logic is self-contained and applicable to other earth-system ML models that need irregular mesh-to-grid transfer.
Provides isotropic Gaussian noise generation for diffusion model training, including noise-level conditioning and denoising parametrization. This is a clean, reusable component for probabilistic generative modeling on gridded or meshed atmospheric data.
Loads ERA5 reanalysis from WeatherBench2 cloud storage, applies normalization and target noise augmentation for diffusion training. It demonstrates a robust pattern for streaming large geophysical datasets with reproducible transforms, though the storage path is somewhat domain-specific.