Skip to content

Commit

Permalink
PCA on proxy and readme info
Browse files Browse the repository at this point in the history
  • Loading branch information
khider committed Jun 13, 2024
1 parent 605de5b commit 256856b
Show file tree
Hide file tree
Showing 9 changed files with 2,362 additions and 1,935 deletions.
57 changes: 11 additions & 46 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -1,48 +1,13 @@
cff-version: 1.2.0
cff-version: 0.0.1
message: "If you use this cookbook, please cite it as below."
authors:
# add additional entries for each author -- see https://github.com/citation-file-format/citation-file-format/blob/main/schema-guide.md
- family-names: Rose
given-names: Brian E. J.
orcid: https://orcid.org/0000-0002-9961-3821 # optional
website: https://github.com/brian-rose # optional
affiliation: University at Albany (State University of New York) # optional
- family-names: Kent
given-names: Julia
orcid: https://orcid.org/0000-0002-5611-8986
website: https://github.com/jukent
affiliation: UCAR/NCAR
- family-names: Tyle
given-names: Kevin
orcid: https://orcid.org/0000-0001-5249-9665
website: https://github.com/ktyle
affiliation: University at Albany (State University of New York)
- family-names: Clyne
given-names: John
orcid: https://orcid.org/0000-0003-2788-9017
website: https://github.com/clyne
affiliation: UCAR/NCAR
- family-names: Camron
given-names: Drew
orcid: https://orcid.org/0000-0001-7246-6502
website: https://github.com/dcamron
affiliation: UCAR/Unidata
- family-names: Grover
given-names: Maxwell
orcid: https://orcid.org/0000-0002-0370-8974
website: https://github.com/mgrover1
affiliation: Argonne National Laboratory
- family-names: Ford
given-names: Robert R.
orcid: https://orcid.org/0000-0001-5483-4965
website: https://github.com/r-ford
affiliation: University at Albany (State University of New York)
- family-names: Paul
given-names: Kevin
orcid: https://orcid.org/0000-0001-8155-8038
website: https://github.com/kmpaul
affiliation: NVIDIA
- name: "Cookbook Template contributors" # use the 'name' field to acknowledge organizations
website: "https://github.com/ProjectPythia/paleoPCA-Cookbook/graphs/contributors"
title: "Cookbook Template"
abstract: "A sample cookbook description."
- family-names: "Khider"
given-names: "Deborah"
orcid: "https://orcid.org/0000-0001-7501-8430"
affiliation: "University of Southern California"
- family-names: "Sundar"
given-names: "Srihari"
orcid: " https://orcid.org/0000-0002-0556-3967"
affiliation: "National Renewable Energy Lab (NREL)"
title: "Investigating interhemispheric precipitation changes over the past millennium"
url: "https://projectpythia.org/paleoPCA-Cookbook/"
37 changes: 21 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
<img src="thumbnail.png" alt="thumbnail" width="300"/>
<img src="https://github.com/LinkedEarth/Logos/blob/master/LinkedEarth_medium.png?raw=true" alt="LinkedEarth Logo" width="500">

# (Replace_with_your_title) Cookbook
# Investigating interhemispheric precipitation changes over the past millennium¶

[![nightly-build](https://github.com/ProjectPythia/paleoPCA-Cookbook/actions/workflows/nightly-build.yaml/badge.svg)](https://github.com/ProjectPythia/paleoPCA-Cookbook/actions/workflows/nightly-build.yaml)
[![Binder](https://binder.projectpythia.org/badge_logo.svg)](https://binder.projectpythia.org/v2/gh/ProjectPythia/paleoPCA-Cookbook/main?labpath=notebooks)
[![DOI](https://zenodo.org/badge/813352705.svg)](https://zenodo.org/badge/latestdoi/813352705)

This Project Pythia Cookbook covers ... (replace `...` with the main subject of your cookbook ... e.g., _working with radar data in Python_)
This Project Pythia Cookbook covers paleoclimate model-data comparison using spatio-temporal pattern obtained using Principal Component Analysis (PCA).

## Motivation

(Add a few sentences stating why this cookbook will be useful. What skills will you, "the chef", gain once you have reached the end of the cookbook?)
Paleoclimate observations obtained from tree rings or the geochemical composition of speleothems, ice and sediments provide an out-of-sample validation of climate models. However, comparing the output of climate models directly with the paleoclimate observations is difficult: (1) they are often expressed in different quantities (i.e., temperature vs ring width), (2) paleoclimate observations have large time uncertainties, (3) paleoclimate observations often incorporate more than one environmental signal (i.e., temperature AND moisture).

Recently, [Steinman et al. (2022)](https://www.pnas.org/doi/full/10.1073/pnas.2120015119) used PCA analysis to compare model and data output. Here, we use a similar approach with the [CESM Last Millennium simulation](https://www2.cesm.ucar.edu/models/cesm1.2/) and proxy records stored on the [LiPDverse](https://lipdverse.org). This repository contains paleoclimate datasets that have been curated by the community and are archived in a standard format, facilitating analysis.

## Authors

[First Author](@first-author), [Second Author](@second-author), etc. _Acknowledge primary content authors here_
[Deborah Khider](@khider), [Hari Sundar](@sriharisundar)

### Contributors

Expand All @@ -24,15 +27,19 @@ This Project Pythia Cookbook covers ... (replace `...` with the main subject of

## Structure

(State one or more sections that will comprise the notebook. E.g., _This cookbook is broken up into two main sections - "Foundations" and "Example Workflows."_ Then, describe each section below.)
This Cookbook is broken down into three main sections. The first section performs the PCA analysis on the output of the CESM LME simulation. The second section performs the same analysis on paleoclimate observations. The last section compares the two analyses.

### PCA analysis on the CESM Last Millennium Analysis¶

### Section 1 ( Replace with the title of this section, e.g. "Foundations" )
The section walks through fetching the data from JetStream2, calculating the precipitation d18O and running PCA.

(Add content for this section, e.g., "The foundational content includes ... ")
### PCA analysis on proxy observations

### Section 2 ( Replace with the title of this section, e.g. "Example workflows" )
The section shows the query used to obtain relevant proxy datasets from a graphDB mirroring the LiPDverse data, filtering for records that cover at least 1500 of the last 2000 years with a resolution better than 60 years, and running PCA.

(Add content for this section, e.g., "Example workflows include ... ")
### Model Data Comparison

Visualizing the output of the PCA analyses.

## Running the Notebooks

Expand All @@ -59,22 +66,20 @@ Jupyter](https://foundations.projectpythia.org/foundations/getting-started-jupyt

If you are interested in running this material locally on your computer, you will need to follow this workflow:

(Replace "cookbook-example" with the title of your cookbooks)

1. Clone the `https://github.com/ProjectPythia/cookbook-example` repository:
1. Clone the `https://github.com/ProjectPythia/paleoPCA-Cookbook` repository:

```bash
git clone https://github.com/ProjectPythia/cookbook-example.git
git clone https://github.com/ProjectPythia/paleoPCA-Cookbook.git
```

1. Move into the `cookbook-example` directory
1. Move into the `paleoPCA-Cookbook` directory
```bash
cd cookbook-example
cd paleoPCA-Cookbook
```
1. Create and activate your conda environment from the `environment.yml` file
```bash
conda env create -f environment.yml
conda activate cookbook-example
conda activate paleoPCA-Cookbook
```
1. Move into the `notebooks` directory and start up Jupyterlab
```bash
Expand Down
4 changes: 2 additions & 2 deletions _toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ parts:
- caption: Preamble
chapters:
- file: notebooks/how-to-cite
- caption: Introduction
- caption: Model-Data Comparison
chapters:
- file: notebooks/notebook-template
- file: notebooks/paleoPCA
15 changes: 14 additions & 1 deletion environment.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
name: cookbook-dev
name: paleoPCA-Cookbook
channels:
- conda-forge
dependencies:
- jupyter-book
- jupyterlab
- sphinx-pythia-theme
- pip
- pandas
- xarray
- s3fs
- fsspec
- numpy
- cartopy
- matplotlib
- pip:
- pyleoclim
- eofs
- nc_time_axis

Binary file added notebooks/.DS_Store
Binary file not shown.
Loading

0 comments on commit 256856b

Please sign in to comment.