FV3 Bundle
oops::PostBase< FLDS > Class Template Referenceabstract

Handles post-processing of model fields. More...

#include <PostBase.h>

Inheritance diagram for oops::PostBase< FLDS >:
[legend]
Collaboration diagram for oops::PostBase< FLDS >:
[legend]

Public Member Functions

 PostBase ()
 Constructors and basic operators. More...
 
 PostBase (const util::Duration &freq)
 
 PostBase (const eckit::Configuration &conf)
 
 PostBase (const util::DateTime &start, const eckit::Configuration &conf)
 
 PostBase (const util::DateTime &start, const util::DateTime &finish, const util::Duration &freq=util::Duration(0))
 
virtual ~PostBase ()
 
void initialize (const FLDS &xx, const util::DateTime &end, const util::Duration &tstep)
 Setup. More...
 
void process (const FLDS &xx)
 Process state or increment. More...
 
void finalize (const FLDS &xx)
 Final. More...
 

Private Member Functions

virtual void doProcessing (const FLDS &)=0
 Actual processing. More...
 
virtual void doInitialize (const FLDS &, const util::DateTime &, const util::Duration &)
 
virtual void doFinalize (const FLDS &)
 

Private Attributes

PostTimer timer_
 

Detailed Description

template<typename FLDS>
class oops::PostBase< FLDS >

Handles post-processing of model fields.

PostBase is the base class for all state post processors, it is mostly used so that PostProcessor can hold a vector of such processors. By default processing is performed on every call.

Definition at line 33 of file PostBase.h.

Constructor & Destructor Documentation

◆ PostBase() [1/5]

template<typename FLDS>
oops::PostBase< FLDS >::PostBase ( )
inline

Constructors and basic operators.

Definition at line 36 of file PostBase.h.

◆ PostBase() [2/5]

template<typename FLDS>
oops::PostBase< FLDS >::PostBase ( const util::Duration &  freq)
inlineexplicit

Definition at line 37 of file PostBase.h.

◆ PostBase() [3/5]

template<typename FLDS>
oops::PostBase< FLDS >::PostBase ( const eckit::Configuration &  conf)
inlineexplicit

Definition at line 38 of file PostBase.h.

◆ PostBase() [4/5]

template<typename FLDS>
oops::PostBase< FLDS >::PostBase ( const util::DateTime &  start,
const eckit::Configuration &  conf 
)
inline

Definition at line 39 of file PostBase.h.

◆ PostBase() [5/5]

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

Definition at line 41 of file PostBase.h.

◆ ~PostBase()

template<typename FLDS>
virtual oops::PostBase< FLDS >::~PostBase ( )
inlinevirtual

Definition at line 45 of file PostBase.h.

Member Function Documentation

◆ doFinalize()

template<typename FLDS>
virtual void oops::PostBase< FLDS >::doFinalize ( const FLDS &  )
inlineprivatevirtual

Reimplemented in oops::Observer< MODEL, STATE >, oops::Observer< MODEL, oops::State >, oops::TrajectorySaver< MODEL >, and oops::JqTerm< MODEL >.

Definition at line 71 of file PostBase.h.

Here is the caller graph for this function:

◆ doInitialize()

template<typename FLDS>
virtual void oops::PostBase< FLDS >::doInitialize ( const FLDS &  ,
const util::DateTime &  ,
const util::Duration &   
)
inlineprivatevirtual

Reimplemented in oops::Observer< MODEL, STATE >, oops::Observer< MODEL, oops::State >, oops::TrajectorySaver< MODEL >, oops::WeightedDiff< MODEL, INCR, FLDS >, oops::WeightedDiff< MODEL, oops::Increment, oops::State >, oops::WeightedMean< MODEL, FLDS >, and oops::JqTerm< MODEL >.

Definition at line 69 of file PostBase.h.

Here is the caller graph for this function:

◆ doProcessing()

template<typename FLDS>
virtual void oops::PostBase< FLDS >::doProcessing ( const FLDS &  )
privatepure virtual

Actual processing.

Implemented in oops::Observer< MODEL, STATE >, oops::Observer< MODEL, oops::State >, oops::TrajectorySaver< MODEL >, oops::WeightedDiff< MODEL, INCR, FLDS >, oops::WeightedDiff< MODEL, oops::Increment, oops::State >, oops::WeightedMean< MODEL, FLDS >, oops::JqTerm< MODEL >, oops::StateInfo< FLDS >, and oops::StateWriter< FLDS >.

Here is the caller graph for this function:

◆ finalize()

template<typename FLDS>
void oops::PostBase< FLDS >::finalize ( const FLDS &  xx)
inline

Final.

Definition at line 60 of file PostBase.h.

◆ initialize()

template<typename FLDS>
void oops::PostBase< FLDS >::initialize ( const FLDS &  xx,
const util::DateTime &  end,
const util::Duration &  tstep 
)
inline

Setup.

Definition at line 48 of file PostBase.h.

Here is the caller graph for this function:

◆ process()

template<typename FLDS>
void oops::PostBase< FLDS >::process ( const FLDS &  xx)
inline

Process state or increment.

Definition at line 55 of file PostBase.h.

Member Data Documentation

◆ timer_

template<typename FLDS>
PostTimer oops::PostBase< FLDS >::timer_
private

Definition at line 65 of file PostBase.h.


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