/FaIRGP

This repo contains material for the paper "FaIRGP: A Bayesian Energy Balance Model for Surface Temperatures Emulation"

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

FaIRGP: A Bayesian Energy Balance Model for Surface Temperatures Emulation

DOI

Getting started

The data used in experiments can be obtained here (files train_val.tar.gz, test.tar.gz) and should be placed in ./data directory.

Fit global FaIRGP model

  1. Choose in config/FaIRGP.yaml which scenarios to use for training
  2. Run from root directory
$ python fit_FaIRGP.py --cfg=config/FaIRGP.yaml --o=path/to/output/directory

Fit spatial FaIRGP model

  1. Choose in config/PlainGP.yaml which scenarios to use for training
  2. Run from root directory
$ python fit_spatial_FaIRGP.py --cfg=config/spatial-FaIRGP.yaml --o=path/to/output/directory

Reproduce results

SSP global emulation benchmark

  1. Running evaluation of FaIRGP
$ python evaluate_FaIRGP.py --cfg=config/FaIRGP.yaml --o=path/to/output/directory
  1. Running evaluation of Plain GP
$ python evaluate_Plain_GP.py --cfg=config/PlainGP.yaml --o=path/to/output/directory
  1. Running evaluation of FaIR
$ python evaluate_FaIR.py --cfg=config/FaIR.yaml --o=path/to/output/directory
  1. Go to notebooks/SSP-global-experiment-score-analysis.ipynb

SSP spatial emulation benchmark

  1. Fit 4 spatial FaIRGP model on training set without ssp126 XOR ssp245 XOR ssp370 XOR ssp585
  2. Fit 4 spatial PlainGP model on training set without ssp126 XOR ssp245 XOR ssp370 XOR ssp585
  3. Go to notebooks/SSP-spatial-experiment-score-analysis.ipynb

Installation

Code implemented in Python 3.8.0

Setting up environment

Create and activate environment (with pyenv here)

$ pyenv virtualenv 3.8.0 venv
$ pyenv activate venv
$ (venv)

Install dependencies

$ (venv) pip install -r requirements.txt

References

@article{bouabid2023fairgp,
  title={{FaIRGP: A Bayesian Energy Balance Model for Surface Temperatures Emulation}},
  author={Bouabid, Shahine and Sejdinovic, Dino and Watson-Parris, Duncan},
  journal={arXiv preprint arXiv:2307.10052},
  year={2023}
}