ROMS Memory Management - myroms/roms GitHub Wiki

4D-Var Algorithms

In the 4D-Var algorithms, several state/control vector copies are needed to store ROMS trajectories, background, error covariance standard deviations, error covariance normalization coefficients, impulse forcing, eigenvectors, conjugate directions, and other transformations. They are also used to read/write state vectors into NetCDF files. The list below documents how these state vectors are used to help manage memory better in some parts of the code.

State ID Time Index Description
* iNLM 1, 2 Basic nonlinear kernel/prior state vector
ad_* iADM 1, 2 Basic adjoint kernel/control state vector
tl_* iTLM 1, 2 Basic tangent linear kernel/control state vector
iRPM 1, 2 Basic finite amplitude tangent linear (representers) state vector
b_* 14 1 Initial conditions error covariance normalization factors
15 2 Model error covariance B model normalization factors
d_* 18 N/A Conjugate directions, eigenvectors
19 N/A Fractional Incremental Analysis Update (IAU) contribution
e_* 10 1 Initial conditions B standard deviations state vector
11 2 Model B standard deviations state vector
f_* 7 N/A Time interpolated impulse forcing
f_*G N/A 1, 2 Impulse forcing snapshots
f_*S N/A 1, 2 Time convolutions snapshots