Data Assimilation (Inversion)#

This subpackage provides implementations to solve data assimilation (DA) problems (inverse problems) for both time-independent and time-dependent simulation models.

The package distinguishes between two categories of DA methods:

  • Filters (time-independent): methods that use a single observation to update the model state or parameter (e.g., Kalman filter, 3D-Var, EnKF).

  • Smoothers (time-dependent): methods that use multiple observations at different times to update the state trajectory (e.g., 4D-Var, Kalman smoother).

All DA methods inherit from InverseProblem, which manages registration of the simulation model, observation operator, error models, prior, and observational data.

Abstract Base Classes#

pyoed.assimilation.InverseProblem

Base class for implementations of Inversion/Inference/DA (Data Assimilation) methods/approaches.

pyoed.assimilation.Filter

Base class for all filtering (time-independent) DA implementations.

pyoed.assimilation.Smoother

Base class for all smoothing (time-dependent) DA implementations.

Class Hierarchy#

Inheritance diagram of pyoed.assimilation.core.assimilation.InverseProblem, pyoed.assimilation.core.assimilation.Filter, pyoed.assimilation.core.assimilation.Smoother

Data-assimilation abstract base class hierarchy#