Vipermdl / Oxyformer

Oxyformer: a deep learning method for estimating global ocean dissolved oxygen

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deep learning for eastimating dissolved oxygen in global ocean

Details for Oxyformer will be publicly available upon publication!

contributors last update forks stars open issues

View Demo Β· Documentation Β· Report Bug Β· Request Feature


πŸ“” Table of Contents

🌟 About the Project

πŸ”₯ Update

  • [2023/07/11] We have released the annual Dissolved Oxygen Products derived by Oxyformer, details are shown in here.

🧰 Getting Started

‼️ Prerequisites

  • Python 3.8
  • Pytorch 1.10.1
  • CUDA 11.3 or higher

βš™οΈ Installation

First, install dependencies

  # clone project 
  git clone https://github.com/Vipermdl/Oxyformer
  
  # install project
  cd Oxyformer
  pip install -r requirements.txt

🧭 Data preparation

  • Dissolved Oxygen measurements
  • Driven factors

🎨 Dissolved Oxygen measurements

Name Date accessed
World Ocean Database 02-2023
CLIVAR and Carbon Hydrographic Database 02-2023
Pangaea Database 02-2023
Global Ocean Data Analysis 02-2023
  • After download the measurements of oxygen data, run the following command to data compilation and quality control
  # interpolate depth mapping using pchip function and data integrated.
  python scripts/interpolate.py
  # quality control for observational oxygen data
  python scripts/quality_control.py

πŸ”‘ Driven factors

  • More details will be updated soon...
  • After download the driven factors, run the following command to obtain the dataset dicatating Oxyformer's input and output data and train/val/test splits.
  python scripts/label_utils.py --merge --splits

πŸ‘€ Develop the Oxyformer

πŸ“· Model architecture

πŸ§ͺ Training Oxyformer

To train Oxyformer, run the following command

  python main.py experiments/Oxyformer.toml

πŸƒ Run inference

To save predictions between July 2002 and December 2020 as NetCDFs for Oxyformer run

  python inference.py experiments/inference.toml -o outputdir

🚩 Post process

The post-processing algorithm is then applied

  python post-processing/mask_result_by_bathymetric.py

πŸ“œ Data and Results

  • See DATA.md for instructions on how to download the data of our Oxyformer.
  • Please read the DRAW.md to generate the paper figures.

πŸ‘‹ Contributing

Contributions are always welcome!

⚠️ License

Distributed under the no License. See LICENSE.txt for more information.

🀝 Contact

Dongliang Ma - @dongliangma1 - mdl.viper@gmail.com

Project Link: https://github.com/Vipermdl/Oxyformer

πŸ’Ž Acknowledgements

Use this section to mention useful resources and libraries that you have used in your projects.

About

Oxyformer: a deep learning method for estimating global ocean dissolved oxygen