Why weather forecasts fail beyond two weeks, why climate projections don't — and what deterministic chaos teaches us about the limits of prediction in the atmosphere and ocean. An interactive textbook, with every chapter runnable in the browser.
Thirty-one chapters spanning error growth, Lyapunov exponents, adjoint models, data assimilation, and the predictability of everything from next Tuesday to the next century. Every chapter runs Python in your browser — nothing to install, no account, no server. Free and open, for anyone.
The two notebooks below are chapters 4 and 6 of the interactive textbook, reproduced here. Open the book for the full table of contents.
An interactive walkthrough of the Lorenz (1963) system: the strange attractor, sensitive dependence on initial conditions (the butterfly effect), the Lyapunov exponent, and why ensemble forecasting is the correct operational response. Connects the toy model's numbers to real atmospheric predictability limits and distinguishes predictability of the first kind (weather) from the second kind (climate).
The download installs its own dependencies in the
first cell. Its sliders are static — edit value= and re-run to
change a parameter.
A side-by-side comparison of the single pendulum (always regular, never chaotic — even at large amplitude) and the double pendulum (chaotic at high energy). Derives the small-angle linear approximation, plots exact phase portraits, and runs a twin-trajectory experiment on the double pendulum to measure sensitive dependence on initial conditions and estimate its Lyapunov exponent.
The download installs its own dependencies in the
first cell. Its sliders are static — edit value= and re-run to
change a parameter.