FV3 Bundle
oops::WeightedMean< MODEL, FLDS > Class Template Reference

Compute time average of states or increments during model run. More...

#include <WeightedMean.h>

Inheritance diagram for oops::WeightedMean< MODEL, FLDS >:
[legend]
Collaboration diagram for oops::WeightedMean< MODEL, FLDS >:
[legend]

Public Member Functions

 WeightedMean (const util::DateTime &, const util::Duration &, const Geometry_ &, const eckit::Configuration &)
 
virtual ~WeightedMean ()
 
FLDS * releaseMean ()
 
- Public Member Functions inherited from oops::PostBase< FLDS >
 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 Types

typedef Geometry< MODEL > Geometry_
 

Private Member Functions

void doInitialize (const FLDS &, const util::DateTime &, const util::Duration &) override
 
void doProcessing (const FLDS &) override
 Actual processing. More...
 

Private Attributes

boost::scoped_ptr< WeightingFctwfct_
 
std::map< util::DateTime, double > weights_
 
Accumulator< MODEL, FLDS, FLDS > * avg_
 
double sum_
 
bool linit_
 
const util::DateTime bgn_
 
const util::DateTime end_
 
util::DateTime endleg_
 

Detailed Description

template<typename MODEL, typename FLDS>
class oops::WeightedMean< MODEL, FLDS >

Compute time average of states or increments during model run.

Derived classes will compute different types of averages (plain mean, various types of digital filters) by overwriting the weights computation method.

Definition at line 39 of file WeightedMean.h.

Member Typedef Documentation

◆ Geometry_

template<typename MODEL , typename FLDS >
typedef Geometry<MODEL> oops::WeightedMean< MODEL, FLDS >::Geometry_
private

Definition at line 40 of file WeightedMean.h.

Constructor & Destructor Documentation

◆ WeightedMean()

template<typename MODEL , typename FLDS >
oops::WeightedMean< MODEL, FLDS >::WeightedMean ( const util::DateTime &  vt,
const util::Duration &  span,
const Geometry_ resol,
const eckit::Configuration &  config 
)

Definition at line 68 of file WeightedMean.h.

◆ ~WeightedMean()

template<typename MODEL , typename FLDS >
virtual oops::WeightedMean< MODEL, FLDS >::~WeightedMean ( )
inlinevirtual

Definition at line 45 of file WeightedMean.h.

Member Function Documentation

◆ doInitialize()

template<typename MODEL , typename FLDS >
void oops::WeightedMean< MODEL, FLDS >::doInitialize ( const FLDS &  xx,
const util::DateTime &  end,
const util::Duration &  tstep 
)
overrideprivatevirtual

Reimplemented from oops::PostBase< FLDS >.

Definition at line 94 of file WeightedMean.h.

◆ doProcessing()

template<typename MODEL , typename FLDS >
void oops::WeightedMean< MODEL, FLDS >::doProcessing ( const FLDS &  )
overrideprivatevirtual

Actual processing.

Implements oops::PostBase< FLDS >.

Definition at line 108 of file WeightedMean.h.

◆ releaseMean()

template<typename MODEL , typename FLDS >
FLDS * oops::WeightedMean< MODEL, FLDS >::releaseMean ( )

Definition at line 85 of file WeightedMean.h.

Member Data Documentation

◆ avg_

template<typename MODEL , typename FLDS >
Accumulator<MODEL, FLDS, FLDS>* oops::WeightedMean< MODEL, FLDS >::avg_
private

Definition at line 57 of file WeightedMean.h.

◆ bgn_

template<typename MODEL , typename FLDS >
const util::DateTime oops::WeightedMean< MODEL, FLDS >::bgn_
private

Definition at line 60 of file WeightedMean.h.

◆ end_

template<typename MODEL , typename FLDS >
const util::DateTime oops::WeightedMean< MODEL, FLDS >::end_
private

Definition at line 61 of file WeightedMean.h.

◆ endleg_

template<typename MODEL , typename FLDS >
util::DateTime oops::WeightedMean< MODEL, FLDS >::endleg_
private

Definition at line 62 of file WeightedMean.h.

◆ linit_

template<typename MODEL , typename FLDS >
bool oops::WeightedMean< MODEL, FLDS >::linit_
private

Definition at line 59 of file WeightedMean.h.

◆ sum_

template<typename MODEL , typename FLDS >
double oops::WeightedMean< MODEL, FLDS >::sum_
private

Definition at line 58 of file WeightedMean.h.

◆ weights_

template<typename MODEL , typename FLDS >
std::map< util::DateTime, double > oops::WeightedMean< MODEL, FLDS >::weights_
private

Definition at line 55 of file WeightedMean.h.

◆ wfct_

template<typename MODEL , typename FLDS >
boost::scoped_ptr<WeightingFct> oops::WeightedMean< MODEL, FLDS >::wfct_
private

Definition at line 54 of file WeightedMean.h.


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