Opal.jl: a comprehensive, composable framework for data assimilation in Julia
Nicholas Mueller
Abstract
Data assimilation (DA) and inverse modelling are indispensable tools for combining physics-based models with observations, yet the software that implements them is often fragmented: sequential (Kalman and particle) filters and variational (3D/4D-Var) estimators are typically developed as separate codebases, each tied to a specific class of forward model - for example, simple time-marching schemes for ordinary differential equations (ODEs), or full finite element (FE) discretisations of partial differential equations (PDEs). In this work, we present Opal.jl, a Julia package that overcomes this fragmentation by providing a unified environment for a wide range of DA methods and forward model backends, all accessible behind a single high-level interface. Starting from a handful of basic methods, complex inference tools can be built by composing them with advanced capabilities, such as covariance localisation/inflation, online noise covariance estimation, bias-aware correction, and kriging-based calibration of reduced-order surrogates. The package integrates natively with the SciML ecosystem for ODE-governed systems, and with Gridap/GridapROMs for both full-order and reduced-order discretisations of PDEs. Notably, the API is designed to allow a reduced-order surrogate to replace a full-order solver with no change to the code, even at the driver level. We demonstrate the library on a Lorenz-63 benchmark, on a Van der Pol oscillator problem with biased observations, on a turbulent Navier-Stokes flow past a square cavity, where the unknown Reynolds number is inferred from sparse velocity and pressure measurements, and finally on a heat equation using a reduced-order surrogate instead of a more standard full-order model.
Create a lesson
Related papers
The Pauli Lightcone: Information-Theoretic Error Mitigation Beyond the Autocorrelation
Paolo D'Alberto
ADDA: a Modular Framework for Representing, Simulating and Assimilating Dynamics with End-to-end Differentiability
Anthony Frion, Vien Minh Nguyen-Thanh, Ali Can Bekar et al.
Eigensolvers for polynomial roots and tensor decomposition
Enrica Barrilli, Bernard Mourrain
DSLHyPE-a DSL kernel language for the Exascale Hyperbolic PDE Engine ExaHyPE
Timothy J. R. Stokes, Nick Brown, Thomas A. Flynn et al.
Tensor Network Kernel Machines: A JAX Framework for Machine Learning and Nonlinear System Identification
Albert Saiapin, Kim Batselier
A Performance Portable Matrix Free Dense MTTKRP in GenTen
Gabriel Kosmacher, Eric T. Phipps, Sivasankaran Rajamanickam