OOPS
|
Control variable increment. More...
#include <ControlIncrement.h>
Public Member Functions | |
CostJbTotal (const CtrlVar_ &, JbState_ *, const eckit::Configuration &, const Geometry_ &, const ObsSpaces_ &odb) | |
Construct \( J_b\). More... | |
~CostJbTotal () | |
Destructor. More... | |
void | initialize (const CtrlVar_ &) const |
Initialize before nonlinear model integration. More... | |
JqTermTLAD_ * | initializeTraj (const CtrlVar_ &, const Geometry_ &, const eckit::Configuration &) |
double | finalize (const CtrlVar_ &) const |
Finalize computation after nonlinear model integration. More... | |
void | finalizeTraj (JqTermTLAD_ *) |
JqTermTLAD_ * | initializeTL () const |
Initialize before starting the TL run. More... | |
void | finalizeTL (JqTermTLAD_ *, const CtrlInc_ &, CtrlInc_ &) const |
JqTermTLAD_ * | initializeAD (CtrlInc_ &, const CtrlInc_ &) const |
Initialize before starting the AD run. More... | |
void | finalizeAD (JqTermTLAD_ *) const |
void | multiplyB (const CtrlInc_ &, CtrlInc_ &) const |
Multiply by covariance matrix and its inverse. More... | |
void | multiplyBinv (const CtrlInc_ &, CtrlInc_ &) const |
void | randomize (CtrlInc_ &) const |
Randomize. More... | |
void | addGradientFG (CtrlInc_ &) const |
Add Jb gradient at first guess. More... | |
void | addGradientFG (CtrlInc_ &, CtrlInc_ &) const |
const CtrlVar_ & | getBackground () const |
Return background. More... | |
const CtrlInc_ & | getFirstGuess () const |
Return first guess \( x_0-x_b\). More... | |
const Geometry_ & | resolution () const |
Jb terms for ControlIncrement constructor. More... | |
const JbState_ & | jbState () const |
const ModelAuxCovar_ & | jbModBias () const |
const ObsAuxCovars_ & | jbObsBias () const |
const util::DateTime & | windowBegin () const |
const util::DateTime & | windowEnd () const |
Private Types | |
typedef ControlIncrement< MODEL, OBS > | CtrlInc_ |
typedef ControlVariable< MODEL, OBS > | CtrlVar_ |
typedef State< MODEL > | State_ |
typedef CostJbState< MODEL > | JbState_ |
typedef JqTermTLAD< MODEL > | JqTermTLAD_ |
typedef Geometry< MODEL > | Geometry_ |
typedef ModelAuxCovariance< MODEL > | ModelAuxCovar_ |
typedef ObsAuxCovariances< OBS > | ObsAuxCovars_ |
typedef ObsSpaces< OBS > | ObsSpaces_ |
Private Member Functions | |
double | evaluate (const CtrlInc_ &) const |
Private Attributes | |
const CtrlVar_ & | xb_ |
std::unique_ptr< JbState_ > | jb_ |
ModelAuxCovar_ | jbModBias_ |
ObsAuxCovars_ | jbObsBias_ |
const CtrlVar_ * | fg_ |
std::unique_ptr< CtrlInc_ > | dxFG_ |
First guess increment \(x_0-x_b\) or more generally \( x_i-M(x_{i-1})\). More... | |
std::unique_ptr< Geometry_ > | resol_ |
Inner loop resolution. More... | |
const util::DateTime | windowBegin_ |
const util::DateTime | windowEnd_ |
Control variable increment.
Total Jb cost function for all components of the control variable.
The control variable acts as a container for the inputs of the variational data assimilation cost functions in physical space. That includes the states at the start the assimilation window or of each sub-window but also additional variables such as model bias, VarBC coefficients, or other control variables for algorithms that use them. The control variable increment contains variations of the control variable.
Definition at line 44 of file ControlIncrement.h.
|
private |
Definition at line 36 of file CostJbTotal.h.
|
private |
Definition at line 37 of file CostJbTotal.h.
|
private |
Definition at line 41 of file CostJbTotal.h.
|
private |
Definition at line 39 of file CostJbTotal.h.
|
private |
Definition at line 40 of file CostJbTotal.h.
|
private |
Definition at line 42 of file CostJbTotal.h.
|
private |
Definition at line 43 of file CostJbTotal.h.
|
private |
Definition at line 44 of file CostJbTotal.h.
|
private |
Definition at line 38 of file CostJbTotal.h.
oops::CostJbTotal< MODEL, OBS >::CostJbTotal | ( | const CtrlVar_ & | xb, |
JbState_ * | jb, | ||
const eckit::Configuration & | conf, | ||
const Geometry_ & | resol, | ||
const ObsSpaces_ & | odb | ||
) |
Construct \( J_b\).
Definition at line 118 of file CostJbTotal.h.
|
inline |
Destructor.
Definition at line 52 of file CostJbTotal.h.
void oops::CostJbTotal< MODEL, OBS >::addGradientFG | ( | CtrlInc_ & | grad | ) | const |
Add Jb gradient at first guess.
Definition at line 239 of file CostJbTotal.h.
void oops::CostJbTotal< MODEL, OBS >::addGradientFG | ( | CtrlInc_ & | grad, |
CtrlInc_ & | gradJb | ||
) | const |
|
private |
double oops::CostJbTotal< MODEL, OBS >::finalize | ( | const CtrlVar_ & | mx | ) | const |
Finalize computation after nonlinear model integration.
Definition at line 142 of file CostJbTotal.h.
void oops::CostJbTotal< MODEL, OBS >::finalizeAD | ( | JqTermTLAD_ * | jqad | ) | const |
Definition at line 294 of file CostJbTotal.h.
void oops::CostJbTotal< MODEL, OBS >::finalizeTL | ( | JqTermTLAD_ * | jqtl, |
const CtrlInc_ & | bgns, | ||
CtrlInc_ & | dx | ||
) | const |
Definition at line 271 of file CostJbTotal.h.
void oops::CostJbTotal< MODEL, OBS >::finalizeTraj | ( | JqTermTLAD_ * | jqlin | ) |
|
inline |
Return background.
Definition at line 83 of file CostJbTotal.h.
|
inline |
Return first guess \( x_0-x_b\).
Definition at line 86 of file CostJbTotal.h.
void oops::CostJbTotal< MODEL, OBS >::initialize | ( | const CtrlVar_ & | fg | ) | const |
Initialize before nonlinear model integration.
Definition at line 133 of file CostJbTotal.h.
JqTermTLAD< MODEL > * oops::CostJbTotal< MODEL, OBS >::initializeAD | ( | CtrlInc_ & | bgns, |
const CtrlInc_ & | dx | ||
) | const |
Initialize before starting the AD run.
Definition at line 282 of file CostJbTotal.h.
JqTermTLAD< MODEL > * oops::CostJbTotal< MODEL, OBS >::initializeTL |
Initialize before starting the TL run.
Definition at line 261 of file CostJbTotal.h.
JqTermTLAD< MODEL > * oops::CostJbTotal< MODEL, OBS >::initializeTraj | ( | const CtrlVar_ & | fg, |
const Geometry_ & | resol, | ||
const eckit::Configuration & | inner | ||
) |
|
inline |
Definition at line 91 of file CostJbTotal.h.
|
inline |
Definition at line 92 of file CostJbTotal.h.
|
inline |
Definition at line 90 of file CostJbTotal.h.
void oops::CostJbTotal< MODEL, OBS >::multiplyB | ( | const CtrlInc_ & | dxin, |
CtrlInc_ & | dxout | ||
) | const |
Multiply by covariance matrix and its inverse.
Definition at line 303 of file CostJbTotal.h.
void oops::CostJbTotal< MODEL, OBS >::multiplyBinv | ( | const CtrlInc_ & | dxin, |
CtrlInc_ & | dxout | ||
) | const |
void oops::CostJbTotal< MODEL, OBS >::randomize | ( | CtrlInc_ & | dx | ) | const |
|
inline |
Jb terms for ControlIncrement constructor.
Definition at line 89 of file CostJbTotal.h.
|
inline |
Definition at line 93 of file CostJbTotal.h.
|
inline |
Definition at line 94 of file CostJbTotal.h.
|
private |
First guess increment \(x_0-x_b\) or more generally \( x_i-M(x_{i-1})\).
Definition at line 107 of file CostJbTotal.h.
|
mutableprivate |
Definition at line 104 of file CostJbTotal.h.
|
private |
Definition at line 100 of file CostJbTotal.h.
|
private |
Definition at line 101 of file CostJbTotal.h.
|
private |
Definition at line 102 of file CostJbTotal.h.
|
private |
Inner loop resolution.
Definition at line 110 of file CostJbTotal.h.
|
private |
Definition at line 111 of file CostJbTotal.h.
|
private |
Definition at line 112 of file CostJbTotal.h.
|
private |
Definition at line 99 of file CostJbTotal.h.