@@ -64,6 +64,36 @@ Configurable in `breed_config.yaml`.
6464** 8 breeding cycles** : Empirically sufficient for convergence. Monitor with
6565` breed_vectors.py status ` — the per-variable RMS should stabilize by cycle 5–6.
6666
67+ ### Time-varying forcing during breeding
68+
69+ Breeding is performed under the full time-varying atmospheric (ERA5) and ocean
70+ boundary (GLORYS) forcing — not frozen or climatological forcing. This is the
71+ correct approach for two reasons:
72+
73+ 1 . ** Bred vectors should capture the growing modes of the actual system
74+ trajectory.** The fastest-growing instabilities in the North Atlantic depend
75+ on the seasonal forcing state — Gulf Stream separation behavior differs
76+ between winter and summer, deep convection only occurs in winter, and summer
77+ stratification modulates baroclinic instability. Breeding under realistic
78+ forcing ensures the perturbations project onto modes that are actually
79+ growing in the flow regime the ensemble will simulate.
80+
81+ 2 . ** The forcing cancels in the bred vector computation.** Both the control and
82+ perturbed members see identical forcing. The bred vector (` member − control ` )
83+ isolates perturbation growth only — the common forcing signal drops out.
84+ Time-varying forcing drives the background state but does not contaminate
85+ the perturbation structure.
86+
87+ If breeding were performed under constant (frozen) forcing, the perturbations
88+ would lock onto modes specific to that frozen state and need time to readjust
89+ when exposed to evolving forcing in the production ensemble — partially
90+ defeating the purpose of breeding.
91+
92+ ** Seasonal timing** : Ideally, start breeding from the same season as the
93+ production ensemble start date, so the bred vectors are tuned to the relevant
94+ flow regime. For multi-year ensembles this is a minor consideration — bred
95+ vectors readjust within the first few weeks of the production run regardless.
96+
6797## Workflow
6898
6999### Prerequisites
0 commit comments