FV3 Bundle
oops::CostTermBase< MODEL > Class Template Referenceabstract

Base Class for Cost Function Terms. More...

#include <CostTermBase.h>

Inheritance diagram for oops::CostTermBase< MODEL >:
[legend]

Public Member Functions

virtual ~CostTermBase ()
 Destructor. More...
 
virtual PostPtr_ initialize (const ControlVariable< MODEL > &) const =0
 Initialize before nonlinear model integration. More...
 
virtual PostPtrTLAD_ initializeTraj (const ControlVariable< MODEL > &, const Geometry_ &, const eckit::Configuration &)=0
 
virtual double finalize (const eckit::Configuration &) const =0
 Finalize computation after nonlinear model integration. More...
 
virtual void finalizeTraj ()=0
 
virtual PostPtrTLAD_ setupTL (const ControlIncrement< MODEL > &) const =0
 Initialize before starting the TL run. More...
 
virtual PostPtrTLAD_ setupAD (boost::shared_ptr< const GeneralizedDepartures >, ControlIncrement< MODEL > &) const =0
 Initialize before starting the AD run. More...
 
virtual GeneralizedDeparturesmultiplyCovar (const GeneralizedDepartures &) const =0
 Multiply by covariance (or weight) matrix and its inverse. More...
 
virtual GeneralizedDeparturesmultiplyCoInv (const GeneralizedDepartures &) const =0
 
virtual GeneralizedDeparturesnewDualVector () const =0
 Provide new dual space vector (for example a Departure for Jo). More...
 
virtual GeneralizedDeparturesnewGradientFG () const =0
 Gradient at first guess. More...
 
virtual void resetLinearization ()=0
 Reset trajectory. More...
 

Private Types

typedef Geometry< MODEL > Geometry_
 
typedef State< MODEL > State_
 
typedef Increment< MODEL > Increment_
 
typedef boost::shared_ptr< PostBase< State_ > > PostPtr_
 
typedef boost::shared_ptr< PostBaseTLAD< MODEL > > PostPtrTLAD_
 

Detailed Description

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

Base Class for Cost Function Terms.

Abstract base class for the terms of the cost function.

Definition at line 37 of file CostTermBase.h.

Member Typedef Documentation

◆ Geometry_

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

Definition at line 38 of file CostTermBase.h.

◆ Increment_

template<typename MODEL>
typedef Increment<MODEL> oops::CostTermBase< MODEL >::Increment_
private

Definition at line 40 of file CostTermBase.h.

◆ PostPtr_

template<typename MODEL>
typedef boost::shared_ptr<PostBase<State_> > oops::CostTermBase< MODEL >::PostPtr_
private

Definition at line 41 of file CostTermBase.h.

◆ PostPtrTLAD_

template<typename MODEL>
typedef boost::shared_ptr<PostBaseTLAD<MODEL> > oops::CostTermBase< MODEL >::PostPtrTLAD_
private

Definition at line 42 of file CostTermBase.h.

◆ State_

template<typename MODEL>
typedef State<MODEL> oops::CostTermBase< MODEL >::State_
private

Definition at line 39 of file CostTermBase.h.

Constructor & Destructor Documentation

◆ ~CostTermBase()

template<typename MODEL>
virtual oops::CostTermBase< MODEL >::~CostTermBase ( )
inlinevirtual

Destructor.

Definition at line 46 of file CostTermBase.h.

Member Function Documentation

◆ finalize()

template<typename MODEL>
virtual double oops::CostTermBase< MODEL >::finalize ( const eckit::Configuration &  ) const
pure virtual

Finalize computation after nonlinear model integration.

Implemented in oops::CostJo< MODEL >, and oops::CostJcDFI< MODEL >.

◆ finalizeTraj()

template<typename MODEL>
virtual void oops::CostTermBase< MODEL >::finalizeTraj ( )
pure virtual

◆ initialize()

template<typename MODEL>
virtual PostPtr_ oops::CostTermBase< MODEL >::initialize ( const ControlVariable< MODEL > &  ) const
pure virtual

Initialize before nonlinear model integration.

Implemented in oops::CostJo< MODEL >, and oops::CostJcDFI< MODEL >.

◆ initializeTraj()

template<typename MODEL>
virtual PostPtrTLAD_ oops::CostTermBase< MODEL >::initializeTraj ( const ControlVariable< MODEL > &  ,
const Geometry_ ,
const eckit::Configuration &   
)
pure virtual

◆ multiplyCoInv()

template<typename MODEL>
virtual GeneralizedDepartures* oops::CostTermBase< MODEL >::multiplyCoInv ( const GeneralizedDepartures ) const
pure virtual

Implemented in oops::CostJo< MODEL >, and oops::CostJcDFI< MODEL >.

Here is the caller graph for this function:

◆ multiplyCovar()

template<typename MODEL>
virtual GeneralizedDepartures* oops::CostTermBase< MODEL >::multiplyCovar ( const GeneralizedDepartures ) const
pure virtual

Multiply by covariance (or weight) matrix and its inverse.

Implemented in oops::CostJo< MODEL >, and oops::CostJcDFI< MODEL >.

◆ newDualVector()

template<typename MODEL>
virtual GeneralizedDepartures* oops::CostTermBase< MODEL >::newDualVector ( ) const
pure virtual

Provide new dual space vector (for example a Departure for Jo).

Implemented in oops::CostJo< MODEL >, and oops::CostJcDFI< MODEL >.

◆ newGradientFG()

template<typename MODEL>
virtual GeneralizedDepartures* oops::CostTermBase< MODEL >::newGradientFG ( ) const
pure virtual

Gradient at first guess.

Implemented in oops::CostJo< MODEL >, and oops::CostJcDFI< MODEL >.

◆ resetLinearization()

template<typename MODEL>
virtual void oops::CostTermBase< MODEL >::resetLinearization ( )
pure virtual

Reset trajectory.

Implemented in oops::CostJo< MODEL >, and oops::CostJcDFI< MODEL >.

◆ setupAD()

template<typename MODEL>
virtual PostPtrTLAD_ oops::CostTermBase< MODEL >::setupAD ( boost::shared_ptr< const GeneralizedDepartures ,
ControlIncrement< MODEL > &   
) const
pure virtual

Initialize before starting the AD run.

Implemented in oops::CostJo< MODEL >, and oops::CostJcDFI< MODEL >.

Here is the caller graph for this function:

◆ setupTL()

template<typename MODEL>
virtual PostPtrTLAD_ oops::CostTermBase< MODEL >::setupTL ( const ControlIncrement< MODEL > &  ) const
pure virtual

Initialize before starting the TL run.

Implemented in oops::CostJo< MODEL >, and oops::CostJcDFI< MODEL >.

Here is the caller graph for this function:

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