Lorenz96 model ============== A tutorial that validates the NEDAS ensemble Kalman filter implementation against the classic `Lorenz 1996 `_ model. The model is a one-dimensional, cyclic 40-variable system representing mid-latitude zonal atmospheric circulation. With a forcing parameter of F = 8 the system is chaotic, making it a standard benchmark for data assimilation algorithms. One model time step (Δt = 0.05) corresponds to approximately 6 hours. Results are cross-checked against the deterministic EnKF derivation in Bocquet's lecture notes (section 5.5). **Topics covered:** - Configuring ensemble size, observation error variance, localization radius, and observation network - Running the main cycling scheme (with Numba JIT compilation on first cycle) - Collecting in-memory diagnostics over multiple assimilation cycles - Animating ensemble spread and truth trajectory - Plotting error time series to verify filter convergence The notebook can be run in several environments: - `Google Colab `_ - Docker (see below) - Native Python — refer to the `environment setup guide `_ .. code-block:: bash docker pull myying/nedas-tutorials docker run -it --rm -p 8888:8888 myying/nedas-tutorials Then open the URL printed in the terminal and navigate to ``2.validation_with_lorenz96.ipynb``. The full notebook is available on `GitHub `_.