11 #ifndef OOPS_ASSIMILATION_LBMINIMIZER_H_
12 #define OOPS_ASSIMILATION_LBMINIMIZER_H_
18 #include "eckit/config/Configuration.h"
24 #include "oops/util/Logger.h"
61 template<
typename MODEL,
typename OBS>
64 int ninner = config.getInt(
"ninner");
65 double gnreduc = config.getDouble(
"gradient norm reduction");
68 gradJb_.reset(
new CtrlInc_(J_.jb().resolution(), *gradJb_));
70 gradJb_.reset(
new CtrlInc_(J_.jb()));
73 Log::info() << std::endl;
74 Log::info() << classname() <<
": max iter = " << ninner
75 <<
", requested norm reduction = " << gnreduc << std::endl;
84 J_.computeGradientFG(rhs);
85 J_.jb().multiplyB(rhs, brhs);
86 J_.jb().addGradientFG(brhs, *gradJb_);
89 Log::info() << classname() <<
" rhs" << brhs << std::endl;
97 Log::info() << classname() <<
" output increment:" << *dx << std::endl;
109 #endif // OOPS_ASSIMILATION_LBMINIMIZER_H_