FV3 Bundle
oops::CostJbTotal< MODEL > Class Template Reference

Control variable increment. More...

#include <ControlIncrement.h>

Collaboration diagram for oops::CostJbTotal< MODEL >:
[legend]

Public Member Functions

 CostJbTotal (const CtrlVar_ &, JbState_ *, const eckit::Configuration &, const Geometry_ &)
 Construct \( J_b\). More...
 
 ~CostJbTotal ()
 Destructor. More...
 
JqTerm_initialize (const CtrlVar_ &) const
 Initialize before nonlinear model integration. More...
 
JqTermTLAD_initializeTraj (const CtrlVar_ &, const Geometry_ &)
 
double finalize (JqTerm_ *) 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 ObsAuxCovar_jbObsBias () const
 

Private Types

typedef ControlIncrement< MODEL > CtrlInc_
 
typedef ControlVariable< MODEL > CtrlVar_
 
typedef CostJbState< MODEL > JbState_
 
typedef JqTerm< MODEL > JqTerm_
 
typedef JqTermTLAD< MODEL > JqTermTLAD_
 
typedef Geometry< MODEL > Geometry_
 
typedef ModelAuxCovariance< MODEL > ModelAuxCovar_
 
typedef ObsAuxCovariance< MODEL > ObsAuxCovar_
 

Private Member Functions

double evaluate (const CtrlInc_ &) const
 

Private Attributes

const CtrlVar_xb_
 
boost::scoped_ptr< JbState_jb_
 
ModelAuxCovar_ jbModBias_
 
ObsAuxCovar_ jbObsBias_
 
const CtrlVar_fg_
 
boost::scoped_ptr< CtrlInc_dxFG_
 First guess increment \(x_0-x_b\) or more generally \( x_i-M(x_{i-1})\). More...
 
boost::scoped_ptr< Geometry_resol_
 Inner loop resolution. More...
 

Detailed Description

template<typename MODEL>
class oops::CostJbTotal< MODEL >

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 41 of file ControlIncrement.h.

Member Typedef Documentation

◆ CtrlInc_

template<typename MODEL >
typedef ControlIncrement<MODEL> oops::CostJbTotal< MODEL >::CtrlInc_
private

Definition at line 36 of file CostJbTotal.h.

◆ CtrlVar_

template<typename MODEL >
typedef ControlVariable<MODEL> oops::CostJbTotal< MODEL >::CtrlVar_
private

Definition at line 37 of file CostJbTotal.h.

◆ Geometry_

template<typename MODEL >
typedef Geometry<MODEL> oops::CostJbTotal< MODEL >::Geometry_
private

Definition at line 41 of file CostJbTotal.h.

◆ JbState_

template<typename MODEL >
typedef CostJbState<MODEL> oops::CostJbTotal< MODEL >::JbState_
private

Definition at line 38 of file CostJbTotal.h.

◆ JqTerm_

template<typename MODEL >
typedef JqTerm<MODEL> oops::CostJbTotal< MODEL >::JqTerm_
private

Definition at line 39 of file CostJbTotal.h.

◆ JqTermTLAD_

template<typename MODEL >
typedef JqTermTLAD<MODEL> oops::CostJbTotal< MODEL >::JqTermTLAD_
private

Definition at line 40 of file CostJbTotal.h.

◆ ModelAuxCovar_

template<typename MODEL >
typedef ModelAuxCovariance<MODEL> oops::CostJbTotal< MODEL >::ModelAuxCovar_
private

Definition at line 42 of file CostJbTotal.h.

◆ ObsAuxCovar_

template<typename MODEL >
typedef ObsAuxCovariance<MODEL> oops::CostJbTotal< MODEL >::ObsAuxCovar_
private

Definition at line 43 of file CostJbTotal.h.

Constructor & Destructor Documentation

◆ CostJbTotal()

template<typename MODEL >
oops::CostJbTotal< MODEL >::CostJbTotal ( const CtrlVar_ xb,
JbState_ jb,
const eckit::Configuration &  conf,
const Geometry_ resol 
)

Construct \( J_b\).

Definition at line 111 of file CostJbTotal.h.

◆ ~CostJbTotal()

template<typename MODEL >
oops::CostJbTotal< MODEL >::~CostJbTotal ( )
inline

Destructor.

Definition at line 50 of file CostJbTotal.h.

Member Function Documentation

◆ addGradientFG() [1/2]

template<typename MODEL >
void oops::CostJbTotal< MODEL >::addGradientFG ( CtrlInc_ grad) const

Add Jb gradient at first guess.

Definition at line 219 of file CostJbTotal.h.

◆ addGradientFG() [2/2]

template<typename MODEL >
void oops::CostJbTotal< MODEL >::addGradientFG ( CtrlInc_ grad,
CtrlInc_ gradJb 
) const

Definition at line 228 of file CostJbTotal.h.

Here is the call graph for this function:

◆ evaluate()

template<typename MODEL >
double oops::CostJbTotal< MODEL >::evaluate ( const CtrlInc_ dx) const
private

Definition at line 191 of file CostJbTotal.h.

Here is the call graph for this function:

◆ finalize()

template<typename MODEL >
double oops::CostJbTotal< MODEL >::finalize ( JqTerm_ jqnl) const

Finalize computation after nonlinear model integration.

Definition at line 133 of file CostJbTotal.h.

Here is the call graph for this function:

◆ finalizeAD()

template<typename MODEL >
void oops::CostJbTotal< MODEL >::finalizeAD ( JqTermTLAD_ jqad) const

Definition at line 264 of file CostJbTotal.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ finalizeTL()

template<typename MODEL >
void oops::CostJbTotal< MODEL >::finalizeTL ( JqTermTLAD_ jqtl,
const CtrlInc_ bgns,
CtrlInc_ dx 
) const

Definition at line 245 of file CostJbTotal.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ finalizeTraj()

template<typename MODEL >
void oops::CostJbTotal< MODEL >::finalizeTraj ( JqTermTLAD_ jqlin)

Definition at line 172 of file CostJbTotal.h.

Here is the call graph for this function:

◆ getBackground()

template<typename MODEL >
const CtrlVar_& oops::CostJbTotal< MODEL >::getBackground ( ) const
inline

Return background.

Definition at line 80 of file CostJbTotal.h.

◆ getFirstGuess()

template<typename MODEL >
const CtrlInc_& oops::CostJbTotal< MODEL >::getFirstGuess ( ) const
inline

Return first guess \( x_0-x_b\).

Definition at line 83 of file CostJbTotal.h.

◆ initialize()

template<typename MODEL >
JqTerm< MODEL > * oops::CostJbTotal< MODEL >::initialize ( const CtrlVar_ fg) const

Initialize before nonlinear model integration.

Definition at line 124 of file CostJbTotal.h.

◆ initializeAD()

template<typename MODEL >
JqTermTLAD< MODEL > * oops::CostJbTotal< MODEL >::initializeAD ( CtrlInc_ bgns,
const CtrlInc_ dx 
) const

Initialize before starting the AD run.

Definition at line 254 of file CostJbTotal.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initializeTL()

template<typename MODEL >
JqTermTLAD< MODEL > * oops::CostJbTotal< MODEL >::initializeTL ( ) const

Initialize before starting the TL run.

Definition at line 237 of file CostJbTotal.h.

Here is the caller graph for this function:

◆ initializeTraj()

template<typename MODEL >
JqTermTLAD< MODEL > * oops::CostJbTotal< MODEL >::initializeTraj ( const CtrlVar_ fg,
const Geometry_ resol 
)

Definition at line 155 of file CostJbTotal.h.

Here is the call graph for this function:

◆ jbModBias()

template<typename MODEL >
const ModelAuxCovar_& oops::CostJbTotal< MODEL >::jbModBias ( ) const
inline

Definition at line 88 of file CostJbTotal.h.

◆ jbObsBias()

template<typename MODEL >
const ObsAuxCovar_& oops::CostJbTotal< MODEL >::jbObsBias ( ) const
inline

Definition at line 89 of file CostJbTotal.h.

◆ jbState()

template<typename MODEL >
const JbState_& oops::CostJbTotal< MODEL >::jbState ( ) const
inline

Definition at line 87 of file CostJbTotal.h.

◆ multiplyB()

template<typename MODEL >
void oops::CostJbTotal< MODEL >::multiplyB ( const CtrlInc_ dxin,
CtrlInc_ dxout 
) const

Multiply by covariance matrix and its inverse.

Definition at line 271 of file CostJbTotal.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ multiplyBinv()

template<typename MODEL >
void oops::CostJbTotal< MODEL >::multiplyBinv ( const CtrlInc_ dxin,
CtrlInc_ dxout 
) const

Definition at line 280 of file CostJbTotal.h.

Here is the call graph for this function:

◆ randomize()

template<typename MODEL >
void oops::CostJbTotal< MODEL >::randomize ( CtrlInc_ dx) const

Randomize.

Definition at line 289 of file CostJbTotal.h.

Here is the call graph for this function:

◆ resolution()

template<typename MODEL >
const Geometry_& oops::CostJbTotal< MODEL >::resolution ( ) const
inline

Jb terms for ControlIncrement constructor.

Definition at line 86 of file CostJbTotal.h.

Member Data Documentation

◆ dxFG_

template<typename MODEL >
boost::scoped_ptr<CtrlInc_> oops::CostJbTotal< MODEL >::dxFG_
private

First guess increment \(x_0-x_b\) or more generally \( x_i-M(x_{i-1})\).

Definition at line 102 of file CostJbTotal.h.

◆ fg_

template<typename MODEL >
const CtrlVar_* oops::CostJbTotal< MODEL >::fg_
mutableprivate

Definition at line 99 of file CostJbTotal.h.

◆ jb_

template<typename MODEL >
boost::scoped_ptr<JbState_> oops::CostJbTotal< MODEL >::jb_
private

Definition at line 95 of file CostJbTotal.h.

◆ jbModBias_

template<typename MODEL >
ModelAuxCovar_ oops::CostJbTotal< MODEL >::jbModBias_
private

Definition at line 96 of file CostJbTotal.h.

◆ jbObsBias_

template<typename MODEL >
ObsAuxCovar_ oops::CostJbTotal< MODEL >::jbObsBias_
private

Definition at line 97 of file CostJbTotal.h.

◆ resol_

template<typename MODEL >
boost::scoped_ptr<Geometry_> oops::CostJbTotal< MODEL >::resol_
private

Inner loop resolution.

Definition at line 105 of file CostJbTotal.h.

◆ xb_

template<typename MODEL >
const CtrlVar_& oops::CostJbTotal< MODEL >::xb_
private

Definition at line 94 of file CostJbTotal.h.


The documentation for this class was generated from the following files: