OOPS
oops::PostBaseTLAD< MODEL > Class Template Referenceabstract

Handles post-processing of model fields related to cost function. More...

#include <PostBaseTLAD.h>

Inheritance diagram for oops::PostBaseTLAD< MODEL >:
Collaboration diagram for oops::PostBaseTLAD< MODEL >:

Public Member Functions

 PostBaseTLAD ()
 
 PostBaseTLAD (const util::DateTime &start, const util::DateTime &finish, const util::Duration &freq=util::Duration(0))
 
virtual ~PostBaseTLAD ()
 
void initializeTraj (const State_ &xx, const util::DateTime &end, const util::Duration &step)
 Set linearization state. More...
 
void processTraj (const State_ &xx)
 
void finalizeTraj (const State_ &xx)
 
void initializeTL (const Increment_ &dx, const util::DateTime &end, const util::Duration &step)
 Tangent linear methods. More...
 
void processTL (const Increment_ &dx)
 
void finalizeTL (const Increment_ &dx)
 
void initializeAD (Increment_ &dx, const util::DateTime &bgn, const util::Duration &step)
 Adjoint methods. More...
 
void processAD (Increment_ &dx)
 
void finalizeAD (Increment_ &dx)
 

Private Types

typedef Increment< MODEL > Increment_
 
typedef State< MODEL > State_
 

Private Member Functions

virtual void doInitializeTraj (const State_ &, const util::DateTime &, const util::Duration &)=0
 
virtual void doProcessingTraj (const State_ &)=0
 
virtual void doFinalizeTraj (const State_ &)=0
 
virtual void doInitializeTL (const Increment_ &, const util::DateTime &, const util::Duration &)=0
 
virtual void doProcessingTL (const Increment_ &)=0
 
virtual void doFinalizeTL (const Increment_ &)=0
 
virtual void doFirstAD (Increment_ &, const util::DateTime &, const util::Duration &)=0
 
virtual void doProcessingAD (Increment_ &)=0
 
virtual void doLastAD (Increment_ &)=0
 

Private Attributes

PostTimer timer_
 

Detailed Description

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

Handles post-processing of model fields related to cost function.

PostBaseTLAD is the base class for all cost function linearized processors, it is mostly used so that PostProcessorTL can hold a vector of such processors. By default processing is performed on every call. An important difference with PostBase is that the adjoint can modify the increment.

Definition at line 41 of file PostBaseTLAD.h.

Member Typedef Documentation

◆ Increment_

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

Definition at line 42 of file PostBaseTLAD.h.

◆ State_

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

Definition at line 43 of file PostBaseTLAD.h.

Constructor & Destructor Documentation

◆ PostBaseTLAD() [1/2]

template<typename MODEL >
oops::PostBaseTLAD< MODEL >::PostBaseTLAD ( )
inline

Definition at line 46 of file PostBaseTLAD.h.

◆ PostBaseTLAD() [2/2]

template<typename MODEL >
oops::PostBaseTLAD< MODEL >::PostBaseTLAD ( const util::DateTime &  start,
const util::DateTime &  finish,
const util::Duration &  freq = util::Duration(0) 
)
inline

Definition at line 47 of file PostBaseTLAD.h.

◆ ~PostBaseTLAD()

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

Definition at line 50 of file PostBaseTLAD.h.

Member Function Documentation

◆ doFinalizeTL()

template<typename MODEL >
virtual void oops::PostBaseTLAD< MODEL >::doFinalizeTL ( const Increment_ )
privatepure virtual

Implemented in oops::WeightedDiffTLAD< MODEL >, oops::GetValueTLADs< MODEL, OBS >, and oops::JqTermTLAD< MODEL >.

Here is the caller graph for this function:

◆ doFinalizeTraj()

template<typename MODEL >
virtual void oops::PostBaseTLAD< MODEL >::doFinalizeTraj ( const State_ )
privatepure virtual

Implemented in oops::WeightedDiffTLAD< MODEL >, oops::GetValueTLADs< MODEL, OBS >, and oops::JqTermTLAD< MODEL >.

Here is the caller graph for this function:

◆ doFirstAD()

template<typename MODEL >
virtual void oops::PostBaseTLAD< MODEL >::doFirstAD ( Increment_ ,
const util::DateTime &  ,
const util::Duration &   
)
privatepure virtual

Implemented in oops::WeightedDiffTLAD< MODEL >, oops::GetValueTLADs< MODEL, OBS >, and oops::JqTermTLAD< MODEL >.

Here is the caller graph for this function:

◆ doInitializeTL()

template<typename MODEL >
virtual void oops::PostBaseTLAD< MODEL >::doInitializeTL ( const Increment_ ,
const util::DateTime &  ,
const util::Duration &   
)
privatepure virtual

Implemented in oops::WeightedDiffTLAD< MODEL >, oops::GetValueTLADs< MODEL, OBS >, and oops::JqTermTLAD< MODEL >.

Here is the caller graph for this function:

◆ doInitializeTraj()

template<typename MODEL >
virtual void oops::PostBaseTLAD< MODEL >::doInitializeTraj ( const State_ ,
const util::DateTime &  ,
const util::Duration &   
)
privatepure virtual

Implemented in oops::WeightedDiffTLAD< MODEL >, oops::GetValueTLADs< MODEL, OBS >, and oops::JqTermTLAD< MODEL >.

Here is the caller graph for this function:

◆ doLastAD()

template<typename MODEL >
virtual void oops::PostBaseTLAD< MODEL >::doLastAD ( Increment_ )
privatepure virtual

Implemented in oops::WeightedDiffTLAD< MODEL >, oops::GetValueTLADs< MODEL, OBS >, and oops::JqTermTLAD< MODEL >.

Here is the caller graph for this function:

◆ doProcessingAD()

template<typename MODEL >
virtual void oops::PostBaseTLAD< MODEL >::doProcessingAD ( Increment_ )
privatepure virtual

Implemented in oops::WeightedDiffTLAD< MODEL >, oops::GetValueTLADs< MODEL, OBS >, and oops::JqTermTLAD< MODEL >.

Here is the caller graph for this function:

◆ doProcessingTL()

template<typename MODEL >
virtual void oops::PostBaseTLAD< MODEL >::doProcessingTL ( const Increment_ )
privatepure virtual

Implemented in oops::WeightedDiffTLAD< MODEL >, oops::GetValueTLADs< MODEL, OBS >, and oops::JqTermTLAD< MODEL >.

Here is the caller graph for this function:

◆ doProcessingTraj()

template<typename MODEL >
virtual void oops::PostBaseTLAD< MODEL >::doProcessingTraj ( const State_ )
privatepure virtual

Implemented in oops::WeightedDiffTLAD< MODEL >, oops::GetValueTLADs< MODEL, OBS >, and oops::JqTermTLAD< MODEL >.

Here is the caller graph for this function:

◆ finalizeAD()

template<typename MODEL >
void oops::PostBaseTLAD< MODEL >::finalizeAD ( Increment_ dx)
inline

Definition at line 93 of file PostBaseTLAD.h.

Here is the call graph for this function:

◆ finalizeTL()

template<typename MODEL >
void oops::PostBaseTLAD< MODEL >::finalizeTL ( const Increment_ dx)
inline

Definition at line 78 of file PostBaseTLAD.h.

Here is the call graph for this function:

◆ finalizeTraj()

template<typename MODEL >
void oops::PostBaseTLAD< MODEL >::finalizeTraj ( const State_ xx)
inline

Definition at line 63 of file PostBaseTLAD.h.

Here is the call graph for this function:

◆ initializeAD()

template<typename MODEL >
void oops::PostBaseTLAD< MODEL >::initializeAD ( Increment_ dx,
const util::DateTime &  bgn,
const util::Duration &  step 
)
inline

Adjoint methods.

Definition at line 83 of file PostBaseTLAD.h.

Here is the call graph for this function:

◆ initializeTL()

template<typename MODEL >
void oops::PostBaseTLAD< MODEL >::initializeTL ( const Increment_ dx,
const util::DateTime &  end,
const util::Duration &  step 
)
inline

Tangent linear methods.

Definition at line 68 of file PostBaseTLAD.h.

Here is the call graph for this function:

◆ initializeTraj()

template<typename MODEL >
void oops::PostBaseTLAD< MODEL >::initializeTraj ( const State_ xx,
const util::DateTime &  end,
const util::Duration &  step 
)
inline

Set linearization state.

Definition at line 53 of file PostBaseTLAD.h.

Here is the call graph for this function:

◆ processAD()

template<typename MODEL >
void oops::PostBaseTLAD< MODEL >::processAD ( Increment_ dx)
inline

Definition at line 89 of file PostBaseTLAD.h.

Here is the call graph for this function:

◆ processTL()

template<typename MODEL >
void oops::PostBaseTLAD< MODEL >::processTL ( const Increment_ dx)
inline

Definition at line 74 of file PostBaseTLAD.h.

Here is the call graph for this function:

◆ processTraj()

template<typename MODEL >
void oops::PostBaseTLAD< MODEL >::processTraj ( const State_ xx)
inline

Definition at line 59 of file PostBaseTLAD.h.

Here is the call graph for this function:

Member Data Documentation

◆ timer_

template<typename MODEL >
PostTimer oops::PostBaseTLAD< MODEL >::timer_
private

Definition at line 98 of file PostBaseTLAD.h.


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