Skip to content

julialsimpson/ocean_co2_fromsk981102

 
 

Repository files navigation

Ocean pCO2 Prediction with Deep Learning

Author: Shaun (Siyeon) Kim, sk4973@columbia.edu

Global Ocean pCO2 modeling for Gentine Lab

This repository contains models that predict pCO2 level of the ocean by incorporating spatial and temporal information with the help of Deep Learning (Image Segmentations + ConvLSTM algorithms).

It also contains traditional machine learning models such as neural network, random forest, and XGboost.

CNN-UNET Pretrained Model

PERFORMANCE

Alt text

RMSE over TIME

Alt text

ConvLSTM Pretrained Model

PERFORMANCE

Alt text

RMSE over TIME

Alt text

Performance compared to Traditional ML

Model RMSE (uatm)
Random Forest 40.387
FFN 39.494
XgBoost 37.709
CNN-UNET 8.499
ConvLSTM 3.737

Potenial Use Cases of Pretrained Models

  1. Used to predict dpCO2 in addition to pCO2 via transfer learning
  2. Used to predict pCO2 in real world SOCAT sampling via transfer learning

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.9%
  • Other 0.1%