ppesage

Simplified Additive Gaussian process Emulator (sage) for climate model PPEs

https://github.com/yiqioyang/ppesage

Science Score: 44.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Simplified Additive Gaussian process Emulator (sage) for climate model PPEs

Basic Info
  • Host: GitHub
  • Owner: yiqioyang
  • Language: R
  • Default Branch: main
  • Homepage:
  • Size: 866 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 1
Created almost 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Citation

README.md

This is the code for an additive emulator for climate model PPEs. It is simplified from additive Gaussian Processes, and coded in R. We nickname it as sage for Simplified Additive Gaussian processes Emulator. The codes are the method reported in the manuscript titled "A simple emulator that enables interpretation of parameter-output relationships in climate model PPEs and insights from applying it to two climate model PPEs", to be submitted to JAMES.

Authors: Qingyuan Yang, Gregory S Elsaesser, Marcus Van Lier-Walqui, Trude Eidhammer, and Linnia Hawkins

To run the method, go to application/run.R and read the notations therein. run.R includes the complete processes to run the method, including loading packages and functions, data loading, training, validaiton, saving results and etc. run.R implements these processes through running the separate codes in run/

In run/, a new code LHSgenerator.R is added as an example to generate the LHS samples. It reads data from data/paradef.csv which has three columns, i.e. parameter name, min, and max. This code outputs the sampled parameters to data/lhs_parameters.csv

Note: 1. The current version of the codes does not implement uncertainty quantification, but this will be part of code expansion 2. sage works with one variable at a time. 3. During the training and testing, all parameters are uniformed to the range of 0-1, and the target variable is normalized to be zero-mean with a standard deviation of one. In the last segment of the code "run.R", the variable "outgeneratedoriginal_scale" converts the generated data back to the original scale.

Method input (what is required for training sage): Climate model PPE data:

  1. The parameters used to generate the PPE.

    It should be a nensemble x nparameters dataframe/matrix saved as csv file. Each row corresponds to the parameters for one ensemble member run.

  2. The target climatologies.

    It should be a nensemble x nclimatologies dataframe/matrix saved as csv file. Each row corresponds to a series of climatologies of interest for one ensemble member run.

The two climate model PPEs adopted in this work can be found in ./data

Method output (stored in the created directory: /cases/casename, casename defined by user):

  1. Three figures evaluating the emulator performance

    a. emu_comp.png: emulated results vs ground truths. Two sets of points are generated, which are based on the complete and optimized parameter sequences (see more below).

    emu_comp

    b. emuselecpara.png: how the explained variability (see more below) decreases with more terms added to the emulator prediction, during training.

    emu_selec_para

    c. sdreduceupdated_parameters.png: how the explained variability (see more below) decreases with more terms added to the emulator prediction, during validation.

sd_reduce_updated_parameters

  1. Two csv files monitoring the explained variability during validation

    a. sdreduceall.csv: the explained variability for each parameter and parameter group using the complete parameter sequence, during validation.

    b. sdreduceupdate.csv: the explained variability for each parameter and parameter group using the optimzed parameter sequence, during validation.

  2. The trained emulator saved as an .R file:

    emus.R

Owner

  • Name: Qingyuan Yang
  • Login: yiqioyang
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Yang
  given-names: Qingyuan
orcid: https://orcid.org/0000-0002-5631-889X
title: ppe sage
version: v0
date-released: 2025-02-11
                           

GitHub Events

Total
  • Release event: 1
  • Watch event: 1
  • Delete event: 1
  • Push event: 10
  • Pull request event: 1
  • Create event: 5
Last Year
  • Release event: 1
  • Watch event: 1
  • Delete event: 1
  • Push event: 10
  • Pull request event: 1
  • Create event: 5