Skip to content

Tutorials

The tutorial notebooks below build up from the basic classes to full real-data digital twins, numbered by topic. The source lives in scripts/tutorials. Topics 0 and 1, and the POD / POD-ESN notebooks of topic 3, are rendered inline (with saved outputs); the rest link out to GitHub for now. Two arcs run through them: DA concepts (1) applied to physical models (2), and reduced-order-model concepts (3) combined with DA in real time (4).

0. How the repository works

Notebook Contents
Class Model The Model base class, integrators and state history.
Class ESN_model An ESN as a forecast model.
Class Observations Truth generation, noise and manual biases.
Class Bias Training and running an ESN bias estimator.
Class Estimator The Estimator hierarchy: instantiating a filter and running the forecast step.

1. Introduction to real-time DA

Notebook Contents
Real-time DA intro Bayesian estimation (MAP, univariate example) and the classical Kalman filter on a linear model.
Ensemble DA intro The EnKF: twin experiment on the Van der Pol model, and Monte Carlo convergence to the KF.
Augmented formulation Combined state and parameter estimation.
Chaos and DA (Lorenz 63) Ensemble DA on a chaotic system.
Model-bias-aware DA The r-EnKF with an ESN bias estimator on the Van der Pol model.

2. Real-time DA in thermoacoustics

Notebook Contents
Rijke tube: model and DA The Rijke-tube low-order model, then twin state/parameter estimation with the EnKF. The model itself is covered in depth by the dynamodels tutorial.
TABADA Rijke (CMAME) Bias-aware DA on the Rijke tube with an ESN bias estimator.
Annular combustor: model, data and digital twin The annular-combustor low-order model, the experimental recordings, and a real-data digital twin with bias-aware DA. The model itself is covered in depth by the dynamodels tutorial.*

3. Introduction to reduced-order models

Notebook Contents
POD / SPOD POD, Sieber SPOD and Towne SPOD on the cylinder wake.*
POD-ESN on the cylinder wake The packaged POD_ESN reduced-order model at scale.*

4. Real-time DA on reduced-order models

Notebook Contents
Real-time DA with POD-ESN Assimilating sparse sensors into the POD-ESN wake model.*

* These notebooks download their dataset from Zenodo on first use (annular data, wake data).

Running the tutorials as tests

The notebook runner executes all tutorials headlessly:

python -m pytest test_tutorials.py                       # all folders
SUBFOLDERS='["0","1"]' python -m pytest test_tutorials.py  # only folders 0 and 1
NB_TEST_QUICK=1 python -m pytest test_tutorials.py       # skip training-heavy notebooks