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