Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Strong-constraint 4DVar on Lorenz-63 — analysis + free forecast

This is where the dynamics story comes alive. The control variable is the initial condition x0x_0; the Lorenz dynamics are treated as a perfect constraint, so the entire assim-window trajectory is parameterised by three numbers. The optimiser recovers x0∗x_0^* to high precision from the obs; the free forecast then tracks the truth for many Lyapunov times.

1. Shared problem

2. Build Strong-4DVar

Note the bumped max_steps=2000 — the BFGS solver needs more iterations on the chaotic-rollout cost surface than the default 200. (At larger assim windows the cost surface becomes too difficult; we use a sub-Lyapunov 0.5-time-unit window so BFGS converges reliably.)

Strong-4DVar rmse_assim    = 0.051
Strong-4DVar rmse_forecast = 0.076
Strong-4DVar rmse_total    = 0.075
Strong-4DVar runtime       = 1937.1 ms

3. Trajectories — truth, obs, analysis, free forecast

<Figure size 1100x650 with 3 Axes>

4. RMSE(t) — many Lyapunov times of forecast skill

<Figure size 1000x350 with 1 Axes>

5. Phase-space butterfly

<Figure size 700x600 with 1 Axes>

6. Discussion

Strong-4DVar compresses the 51 × 3 = 153 assim-window unknowns down to three (the components of x0x_0). With 33 noisy full-state observations to constrain three parameters the optimiser recovers x0x_0 to ~0.05 RMSE, and the perfect-model forward integration then stays on the truth’s attractor branch for the entire 9.5-time-unit free-forecast — at the end of the window the RMSE is still well below the attractor’s intrinsic scale.

This is the canonical “value of dynamics” demonstration for 4DVar. Next: