FV3 Bundle
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 >:
[legend]
Collaboration diagram for oops::PostBaseTLAD< MODEL >:
[legend]

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)
 
virtual GeneralizedDeparturesreleaseOutputFromTL ()=0
 Return TL dual space output. More...
 
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 39 of file PostBaseTLAD.h.

Member Typedef Documentation

◆ Increment_

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

Definition at line 40 of file PostBaseTLAD.h.

◆ State_

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

Definition at line 41 of file PostBaseTLAD.h.

Constructor & Destructor Documentation

◆ PostBaseTLAD() [1/2]

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

Definition at line 44 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 45 of file PostBaseTLAD.h.

◆ ~PostBaseTLAD()

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

Definition at line 48 of file PostBaseTLAD.h.

Member Function Documentation

◆ doFinalizeTL()

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

Implemented in oops::ObserverTLAD< MODEL >, oops::WeightedDiffTLAD< MODEL >, 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::ObserverTLAD< MODEL >, oops::WeightedDiffTLAD< MODEL >, 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::ObserverTLAD< MODEL >, oops::WeightedDiffTLAD< MODEL >, 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::ObserverTLAD< MODEL >, oops::WeightedDiffTLAD< MODEL >, 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::ObserverTLAD< MODEL >, oops::WeightedDiffTLAD< MODEL >, 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::ObserverTLAD< MODEL >, oops::WeightedDiffTLAD< MODEL >, 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::ObserverTLAD< MODEL >, oops::WeightedDiffTLAD< MODEL >, 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::ObserverTLAD< MODEL >, oops::WeightedDiffTLAD< MODEL >, 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::ObserverTLAD< MODEL >, oops::WeightedDiffTLAD< MODEL >, 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 94 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 76 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 61 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 84 of file PostBaseTLAD.h.

Here is the call graph for this function:
Here is the caller 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 66 of file PostBaseTLAD.h.

Here is the call graph for this function:
Here is the caller 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 51 of file PostBaseTLAD.h.

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

◆ processAD()

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

Definition at line 90 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 72 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 57 of file PostBaseTLAD.h.

Here is the call graph for this function:

◆ releaseOutputFromTL()

template<typename MODEL >
virtual GeneralizedDepartures* oops::PostBaseTLAD< MODEL >::releaseOutputFromTL ( )
pure virtual

Member Data Documentation

◆ timer_

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

Definition at line 99 of file PostBaseTLAD.h.


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