Skip to content

m2lines/Samudra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Samudra 🌊

This repository contains the code of the Samudra Ocean Emulator described in the paper "Samudra: An AI Global Ocean Emulator for Climate". Samudra is a skillful global emulator of the ocean component of a state-of-the-art climate model. We emulate key ocean variables, sea surface height, horizontal velocities, temperature, and salinity, across their full depth.

Key features

  • Reliable ✅ : Capable of reproducing the temperature structure and variability of a realistic 3D ocean climate model
  • Stable ✅ : run for multiple centuries in a realistic configuration with time-dependent forcing while maintaining stability and accuracy
  • Fast ✅ : it is 🚅150 times faster🚅 than its original counterpart
  • Open ✅ : Samudra is available on Hugging Face. Anyone can now run a global ocean emulator!

Getting Started

  1. Clone this repository.
git clone https://github.com/m2lines/Samudra.git
cd Samudra
  1. Create a new conda environment using the environment.yml file.
conda env create -f environment.yml
  1. Run the notebook samudra_rollout.ipynb to generate a rollout with trained model weights.

Notebooks samudra_plotting.ipynb and samudra_plotting_multiseed.ipynb contain the code to generate the plots in the paper using a generated rollout.

Model Weights and Data

The model weights are currently hosted on huggingface and can be downloaded from here. The OM4 data used for training and testing the models in the paper can be accessed using:

import xarray as xr
data = xr.open_dataset("https://nyu1.osn.mghpcc.org/m2lines-pubs/Samudra/OM4", engine='zarr', chunks={})

For more details on the data and the model, please refer to the paper.

Citing

If you use this code in your research, please consider citing the following paper:

@article{dheeshjith2024samudra,
  title={Samudra: An AI Global Ocean Emulator for Climate},
  author={Dheeshjith, Surya and Subel, Adam and Adcroft, Alistair and Busecke, Julius and Fernandez-Granda, Carlos and Gupta, Shubham and Zanna, Laure},
  journal={arXiv preprint arXiv:2412.03795},
  year={2024}
}