/torchda

Use Deep Learning in Data Assimilation

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

TorchDA

Use deep learning in data assimilation workflow. Paper link

arxiv badge flake8 pytest License Code style: black Imports: isort

Tutorials (4 notebooks)

notebook open in colab / kaggle
EnKF Testing Demo on Lorenz 63 Model Colab Kaggle
LSTM on Lorenz 63 Model Colab Kaggle
Testing Demo on Variational Methods Colab Kaggle
Testing Demo of Variational Methods on Shallow Water Model Colab Kaggle

Updates

  • Support all torch native optimizers
  • Support early stopping for optimization steps in 3D/4D-Var
  • Automatic conversion to sparse matrices for sparse B or R in 3D/4D-Var
  • Remove logging module dependency

Package Dependencies

  • Python 3.10 or later
  • PyTorch (Recommend 2.0 or later)

Installation

  • Build a conda environment, run:
conda env create -f environment.yml

then activate it with:

conda activate TorchDA
  • Install PyTorch with pip, run:
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu118
pip3 install -r requirements.txt

then at the root folder of this repo, run:

pip3 install .
  • Install torchda from source, run:
pip3 install git+https://github.com/acse-jm122/torchda.git