A new minimization package has been developed and is contained in "da_minimise_lz.inc" subroutine. The input/output arguments are the same as the existing "da_minimise_cg.inc" routine.

"da_solve.inc" solver can either call the Conjugate Gradient (CG) or the Lanczos minimizer. This is handled through the namelist switch "USE_LANCZOS". The default is FALSE.

The results in terms of the reduction of the cost function and gradient norm are identical with CG and Lanczos. However, Lanczos produces an estimate of the analysis error covariance matrix, which can be used for:

  • Observation impact and sensitivity studies,
  • Preconditioning of subsequent outer loops,
  • Generation of ensemble forecasts,
  • Diagnostics of the analysis error.

Lanczos requires to store a vector of the size of the control variable for each iteration.

Unlike for CG, the re-orthonormalization of the gradient directions is always done since it shows positive impact on the convergence after about 20 iterations, and does not involve extra storage for the Lanczos minimization.

  • No labels