🦋 Chaos and Predictability

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.

📖 An Interactive Chaos and Predictability Textbook

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.

Open the textbook →

Notebooks

The two notebooks below are chapters 4 and 6 of the interactive textbook, reproduced here. Open the book for the full table of contents.

Deterministic Chaos

Chaos, Predictability & Ensemble Forecasting on Lorenz 63

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).

dX/dt = σ(Y−X), dY/dt = X(ρ−Z)−Y, dZ/dt = XY−βZ
  • The strange attractor and the route to chaos
  • Sensitive dependence on initial conditions & the Lyapunov exponent
  • Ensemble forecasting and the predictability horizon
  • Predictability of the 1st kind (weather) vs. 2nd kind (climate)
  • Guided questions to work through
▶ View Notebook ✎ Edit & Run ⤓ Jupyter (.ipynb)

The download installs its own dependencies in the first cell. Its sliders are static — edit value= and re-run to change a parameter.

Regular vs. Chaotic Motion

One Pendulum, Two Pendulums: From Regular to Chaotic

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.

θ̈ = −(g/L) sin θ  ·  phase space: 2-D vs. 4-D
  • Small-angle (SHM) approximation vs. the exact nonlinear pendulum
  • Why 1 DOF can never be chaotic (Poincaré–Bendixson theorem)
  • Double-pendulum equations of motion and twin-trajectory SDIC
  • Lyapunov exponent estimate from trajectory divergence
  • Guided questions connecting back to Lorenz 63
▶ View Notebook ✎ Edit & Run ⤓ Jupyter (.ipynb)

The download installs its own dependencies in the first cell. Its sliders are static — edit value= and re-run to change a parameter.