Skip to content

Repository files navigation

Spatiotemporal upscaling of sparse air-sea pCO2 data via physics-informed transfer learning

Paper: https://www.nature.com/articles/s41597-024-03959-w

Authors (*: equal contribution): Shaun (Siyeon) Kim* [email protected], Juan Nathaniel* [email protected], Zhewen Hou, Tian Zheng, Pierre Gentine

Dataset: https://zenodo.org/records/12726686

TLDR: We leverage physics embedded in Earth System Models and sparse observations fine-tuning to derive global, long-term $pCO_2$ product (i.e., physics-informed transfer learning).

Overview

Abstract: Global measurements of ocean $pCO_2$ are critical to monitor and understand changes in the global carbon cycle. However, $pCO_2$ observations remain sparse as they are mostly collected on opportunistic ship tracks. Several approaches, especially based on direct learning, have been used to upscale and extrapolate sparse point data to dense estimates using globally available input features. However, these estimates tend to exhibit spatially heterogeneous performance. As a result, we propose a physics-informed transfer learning workflow to generate dense $pCO_2$ estimates that are grounded in real-world measurements and physically consistent. The models are initially trained on dense input predictors against $pCO_2$ estimates from Earth system model simulation, and then fine-tuned to sparse SOCAT observational data. Compared to the benchmark direct learning approach, our transfer learning framework shows major improvements of up to 56-92%. Furthermore, we demonstrate that using models that explicitly account for spatiotemporal structures in the data yield better validation performances by 50-68%. Our strategy thus presents a new monthly global $pCO_2$ estimate that spans for 35 years between 1982-2017.

Getting Started

Requirements

This model was trained on the following libraries:

cuda11.0/toolkit cuda11.0/blas cudnn8.0-cuda11.
tensorflow==2.4.0

Downloading Data and Libraries

To download the data from figshare:

mkdir data #create data directory
./download_data.sh [file_id]
- file_id : 8 code digit at the end of the data url from figshare

To download the python libraries:

pip install -r requirements.txt

Project Organization

├── LICENSE
├── Makefile           <- Makefile with commands like `make data` or `make train`(coming soon!)
├── requirements.txt   <- The requirements file for reproducing the analysis environment, e.g.
│                         generated with `pip freeze > requirements.txt
│
├── download_data.sh   <- .sh to download figshare ocean_pco2 data
├── README.md          <- The top-level README for developers using this project.
│    │
├── models             <- Trained and serialized models
│
├── notebooks          <- Jupyter notebooks. Consists of EDA and Base Model implementations.
│
├── assets             <- Visualizations (gif, png, etc. )created for the project
│
├── src                <- Source code for use in this project.
│   ├── __init__.py    <- Makes src a Python module
│   ├── utils.py       <- various util functions for data preprocessing and plotting
│   │
│   ├── features       <- Scripts to turn raw data into features for modeling
│   │   └── build_features.py
│   │
│   ├── models         <- Scripts to train models and then use trained models to make
│   │   │                 predictions
│   │   ├── predict_model.py
│   │   └── train_model.py
│   └── 
└── 

Project based on the cookiecutter data science project template.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages