Skip to content

BrowNian6/Argo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This repository contains code and data for the paper "A Neural-Mean Vecchia Gaussian Process for Unified Argo Modeling". We implement methods from two related works—"Locally stationary spatio-temporal interpolation of Argo profiling float data" and "A functional-data approach to the Argo data"—and compare their performance against our proposed approach: a one-stop Gaussian Process regression based on Vecchia approximation.

Large data files in this repository are tracked using Git Large File Storage (Git LFS). Downloading the repository as a ZIP file from GitHub will not include the full data. Please clone the repository with Git and ensure Git LFS is installed.

Running MWGP or VGP for the global scenario on a personal laptop is not recommended due to high computational cost.

Repository Structure

data/:

  • One .mat file containing the Argo dataset preprocessed by Kuusela and Stein, along with a .m file containing MATLAB code used to extract the three-month subset (January–March). Both are imported from https://github.com/mkuusela/ArgoMappingPaper with minor modifications to save two more variables: profMonthAggr and profModeAggr. Running the .m file requires downloading beforehand RG_ArgoClim_Temperature_2019.nc from https://sio-argo.ucsd.edu/RG/RG_ArgoClim_Temperature_2019.nc.gz

  • Two .RData files, which serve as input data for the scenario studies presented in the paper:

    RG_Defined.RData stores a mean field from the RG Argo Climatology (2004-2018), and we use it to determine at which grid points a mean field is defined.

    jan_march_data.RData is generated by running process_data.R and stores the data used to implement the three methods compared in the paper: MVGP, KFD, and VGP.

  • select_subregion.R: Script used to generate input data for regional scenario studies.

  • One .txt file: A fitted mean field shared by Kuusela and Stein, which stores the grid points on which mean fields are defined when implementing MWGP.

MWGP/:

KFD/:

VGP/:

  • Preprocessing.R: Script used to generate CSV files to be saved in ./data.

  • ./pkg: A python package that can be installed locally.

  • ./experiments: Contains scripts for applying Vecchia GP regression with a neural mean to Argo data.

Usage

Setup

  • git clone https://github.com/BrowNian6/Argo
  • git lfs install
  • git lfs pull
  • cd ./data/
  • Rscript select_subregion.R 1
  • Rscript select_subregion.R 2

MWGP

  • cd ./MWGP
  • run Preprocessing.R in Rstudio after specifying the region of interest on Line 2 of the script
  • run MonthlyMeanF_glob.R or MonthlyMeanF_subregion.R to fit monthly mean fields for the region of interest
  • train and test MWGP models under certain scenarios:
    • model2_train_glob.R and model2_test_glob.R: Training and testing under the regional scenarios using Model 2 (MWGP-S).

    • model5_train_glob.R and model5_test_glob.R: Training and testing under the regional scenarios using Model 5 (MWGP-ST).

    • model2_train_subregion.R and model2_test_subregion.R: Training and testing under the regional scenarios using Model 2 (MWGP-S).

    • model5_train_subregion.R and model5_test_subregion.R: Training and testing under the regional scenarios using Model 5 (MWGP-ST).

KFD

  • cd ./KFD
  • run 00_preprocessing.R using Rstudio after specifying the region of interest on Line 2 of the script
  • after specifying the region of interest on Line 1 of each script, run the R scripts sequentially, beginning with files named 01 through 07
  • after specifying the region of interest on Line 1 of 08_load_nugget.R and 09_predTemp.R, test the trained KFD model by running 09_predTemp.R

VGP

  • cd ./VGP
  • run Preprocessing.R using Rstudio
  • (optional) create python venv
    • python3 -m venv venv
    • source venv/bin/activate
  • install dependencies
    • pip install torch
    • pip install scikit-learn
    • pip install pandas
  • cd ./VGP/pkg/
  • pip install .
  • cd ./VGP/experiments
  • python3 argo.py <domain> <time_span> <depth_level>
    • domain should be one of ["global", "region1", "region2"]

    • time_span should be one of ["Feb", "Jan-Mar"]

    • depth_level should be one of ["10", "300", "1500"]

    • for example, python3 argo.py global Feb 10

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors