https://github.com/blutjens/graphino

Code associated with the paper "The World as a Graph: Improving El Niño Forecasting with Graph Neural Networks". This paper is currently under review.

https://github.com/blutjens/graphino

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

Code associated with the paper "The World as a Graph: Improving El Niño Forecasting with Graph Neural Networks". This paper is currently under review.

Basic Info
  • Host: GitHub
  • Owner: blutjens
  • License: mit
  • Default Branch: master
  • Homepage:
  • Size: 233 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Fork of salvaRC/Graphino
Created over 3 years ago · Last pushed about 4 years ago
Metadata Files
Readme License

README.md

The World as a Graph: Improved El Nino Forecasts with Graph Neural Networks

Link to paper (under review currently)
Deep learning-based models have recently outperformed state-of-the-art seasonal forecasting models, such as for predicting El Ni~no-Southern Oscillation (ENSO). However, current deep learning models are based on convolutional neural networks which are difficult to interpret and can fail to model large-scale atmospheric patterns. In comparison, graph neural networks (GNNs) are capable of modeling large-scale spatial dependencies and are more interpretable due to the explicit modeling of information flow through edge connections. We propose the first application of graph neural networks to seasonal forecasting. We design a novel graph connectivity learning module that enables our GNN model to learn large-scale spatial interactions jointly with the actual ENSO forecasting task. Our model, \graphino, outperforms state-of-the-art deep learning-based models for forecasts up to six months ahead. Additionally, we show that our model is more interpretable as it learns sensible connectivity structures that correlate with the ENSO anomaly pattern.

Data setup

  • Download the datasets from this link
  • Place the downloaded data into this subfolder (which already has the correct substructure with subdirs SODA, GODAS, CMIP5_CNN).

Environment setup

Please follow the instructions in this file.

Models

All reported models (4 per #lead months) are provided in the out directory. To reload them & ensemble them as in the paper (and get the reported all season correlation skills), you may run the eval_gcn script for a given number of lead months/horizon.

Running the experiments

Please run the run_graphino script for the desired number of lead months h in {1,2, .., 23} (the horizon argument).

Eigenvector centrality analysis and Fig. 2

To produce Figure 2 in our paper, i.e. a heatmap of eigenvector centrality scores of the nodes for various of our GCN models for different lead times, please see this jupyter notebook.

Citation

Please consider citing the following paper if you find it, or the code, helpful. Thank you!

@article{cachay2021world,
      title={The World as a Graph: Improving El Ni\~no Forecasts with Graph Neural Networks}, 
      author={Salva Rhling Cachay and Emma Erickson and Arthur Fender C. Bucker and Ernest Pokropek and Willa Potosnak and Suyash Bire and Salomey Osei and Bjrn Ltjens},
      year={2021},
      eprint={2104.05089},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

Owner

  • Name: Björn Lütjens (he/him)
  • Login: blutjens
  • Kind: user
  • Company: MIT

Postdoctoral Associate in tackling climate change with AI @ MIT. Project overview at https://blutjens.github.io/

GitHub Events

Total
Last Year

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 13
  • Total Committers: 3
  • Avg Commits per committer: 4.333
  • Development Distribution Score (DDS): 0.231
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
salva s****g@g****m 10
Salva Rühling Cachay 4****C 2
Ernest Pokropek e****8@g****m 1

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels