Implicit double-gyre numerical version policy
Active version
The active accelerated implicit core identifies itself as implicit-dg-v2-aligned-1e5. It retains the V2 solver acceleration stack, uses the native warm start and spectral preconditioner, and tightens the default relative eta-solver tolerance from the archived V2 value of
where aam_min.
Training logs print the resolved core class and NUMERICS_VERSION. Data, training, and inference manifests must record this value together with the eta solver tolerance, preconditioner, Triton flags, CUDA Graph flags, and graph eta iteration cap.
No-spatial-Shapiro data-generation variant
The standard V2-Align operator keeps its historical horizontal Shapiro filters enabled with coefficient 0.05. Controlled data-generation experiments may set NEURALPOM_IMPLICIT_SPATIAL_SHAPIRO=off to disable all three spatial applications together: barotropic elevation, internal velocity, and tracers. This switch does not alter the Robert-Asselin time filter, elliptic solver, forcing, closure, time step, or initialization. Such runs remain V2-Align configuration variants rather than new core implementations and must use a separate output root. Their root manifest and per-member provenance must record the requested switch and all three resolved Shapiro coefficients.
Archived V3 operator
The retired V3 operator replaced archive/implicit-v3-safe-sqrt-20260818; it must not be imported or copied into active training code.
Archived legacy V2 profile
The historical V2 profile used a native warm start, spectral preconditioning, and a relative eta-solver tolerance of archive/implicit-v2-legacy-1e3-20260819 for old checkpoint reproduction. New training and matched inference use the active
The boundary, forcing, and numerics-provider refactors remain active because historical replay found no additional double-gyre numerical breakpoint after the V3 safe_sqrt change. They are infrastructure, not a separate numerical version.
Compatibility rule
Checkpoints are coupled to the core used for training. A run may use V1, legacy V2, or active V2 only when the chosen version and resolved solver options are explicit in its manifest; silently switching a trained checkpoint between them is prohibited. New solver-alignment changes must pass the fixed V1 replay gate before becoming defaults.
