openclimatefix / graph_weather

PyTorch implementation of Ryan Keisler's 2022 "Forecasting Global Weather with Graph Neural Networks" paper (https://arxiv.org/abs/2202.07575)
MIT License
201 stars 51 forks source link

[Paper] GraphCast: Learning skillful medium-range global weather forecasting #55

Open jacobbieker opened 1 year ago

jacobbieker commented 1 year ago

Detailed Description

https://arxiv.org/abs/2212.12794

Context

Possible Implementation

jacobbieker commented 1 year ago

This paper is similar to Kiesler, but has a few changes, including:

  1. Taking the previous timestep as well, so two timestep input, to output the next one

  2. Multiple meshes for the latent graph, from super coarse (12 nodes and 20 faces) down to 40,962 nodes and 81,920 faces on highest resolution (6 total). Each scale is connected to the one above it, as each node is a subnode of a lower resolution one. Edges from all levels of the hierarchy are mapped onto the finest-resolution mesh image

  3. Data is stored in pressure levels as well, so is a 3D graph

  4. Processor is 16-layer deep GNN

  5. Loss is MSE with some modifications image

jacobbieker commented 1 year ago

There seems like there might be an implementation here: https://github.com/HFAiLab/OpenCastKit

mnabian commented 1 year ago

We also have an implementation of GraphCast in NVIDIA Modulus. Model: https://github.com/NVIDIA/modulus/tree/main/modulus/models/graphcast Training recipe: https://github.com/NVIDIA/modulus-launch/tree/main/examples/weather/graphcast Let me know if you had any questions!

jacobbieker commented 1 year ago

Thanks @mnabian! That looks really cool, I'll definitely check it out

mnabian commented 1 year ago

FYI, DeepMind released the GraphCast code and checkpoints a couple of days ago: https://github.com/deepmind/graphcast

jacobbieker commented 1 year ago

Awesome! Glad they released it.