In this project we are performing data assimilation to the 1-dimensional form of the Lorenz 961 system:
Which is our chaotic model:
And by simulating observations with errors (black stars), we use Ensemble Kalman Filter (EnKF) methods2 to make predictions (blue lines):
Note: We will do better than this with some tweaks3, but you'll have to look at the project to find out how.
Clone the repo and explore the Jupyter notebooks in the notebooks folder.
If you want a fancy Streamlit app that enables you to easily configure the number of ensembles and inflation factor and produce animation like this:
Then clone the repo, open your terminal, navigate to the directory of the repo and execute:
pip install -r requirements.txt
And then:
streamlit run streamlit_app.py
Footnotes
-
Lorenz, Edward N. "Predictability: A problem partly solved." Proc. Seminar on predictability. Vol. 1. No. 1. 1996. ↩
-
Evensen, Geir. "The ensemble Kalman filter for combined state and parameter estimation." IEEE Control Systems Magazine 29.3 (2009): 83-104. https://doi.org/10.1109/MCS.2009.932223 ↩
-
Raanes, Patrick N., Marc Bocquet, and Alberto Carrassi. "Adaptive covariance inflation in the ensemble Kalman filter by Gaussian scale mixtures." Quarterly Journal of the Royal Meteorological Society 145.718 (2019): 53-75. https://doi.org/10.1002/qj.3386 ↩