TorchDA: A Python package for performing data assimilation with deep learning forward and transformation functions

Data assimilation techniques are often confronted with challenges handling complex high dimensional physical systems, because high precision simulation in complex high dimensional physical systems is computationally expensive and the exact observation functions that can be applied in these systems a...

Full description

Saved in:
Bibliographic Details
Published inComputer physics communications Vol. 306; p. 109359
Main Authors Cheng, Sibo, Min, Jinyang, Liu, Che, Arcucci, Rossella
Format Journal Article
LanguageEnglish
Published Elsevier B.V 01.01.2025
Online AccessGet full text
ISSN0010-4655
1879-2944
DOI10.1016/j.cpc.2024.109359

Cover

More Information
Summary:Data assimilation techniques are often confronted with challenges handling complex high dimensional physical systems, because high precision simulation in complex high dimensional physical systems is computationally expensive and the exact observation functions that can be applied in these systems are difficult to obtain. It prompts growing interest in integrating deep learning models within data assimilation workflows, but current software packages for data assimilation cannot handle deep learning models inside. This study presents a novel Python package seamlessly combining data assimilation with deep neural networks to serve as models for state transition and observation functions. The package, named TorchDA, implements Kalman Filter, Ensemble Kalman Filter (EnKF), 3D Variational (3DVar), and 4D Variational (4DVar) algorithms, allowing flexible algorithm selection based on application requirements. Comprehensive experiments conducted on the Lorenz 63 and a two-dimensional shallow water system demonstrate significantly enhanced performance over standalone model predictions without assimilation. The shallow water analysis validates data assimilation capabilities mapping between different physical quantity spaces in either full space or reduced order space. Overall, this innovative software package enables flexible integration of deep learning representations within data assimilation, conferring a versatile tool to tackle complex high dimensional dynamical systems across scientific domains. Program Title: TorchDA CPC Library link to program files:https://doi.org/10.17632/bm5d7xk6gw.1 Developer's repository link:https://github.com/acse-jm122/torchda Licensing provisions: GNU General Public License version 3 Programming language: Python3 External routines/libraries: Pytorch. Nature of problem: Deep learning has recently emerged as a potent tool for establishing data-driven predictive and observation functions within data assimilation workflows. Existing data assimilation tools like OpenDA and ADAO are not well-suited for handling predictive and observation models represented by deep neural networks. This gap necessitates the development of a comprehensive package that harmonizes deep learning and data assimilation. Solution method: This project introduces TorchDA, a novel computational tool based on the PyTorch framework, addressing the challenges posed by predictive and observation functions represented by deep neural networks. It enables users to train their custom neural networks and effortlessly incorporate them into data assimilation processes. This integration facilitates the incorporation of real-time observational data in both full and reduced physical spaces.
ISSN:0010-4655
1879-2944
DOI:10.1016/j.cpc.2024.109359