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 |