OOPS
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 >:
Collaboration diagram for oops::WeightedMean< MODEL, FLDS >:

Public Member Functions

 WeightedMean (const Variables &, 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 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

std::unique_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 41 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 42 of file WeightedMean.h.

Constructor & Destructor Documentation

◆ WeightedMean()

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

Definition at line 70 of file WeightedMean.h.

◆ ~WeightedMean()

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

Definition at line 47 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 95 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 109 of file WeightedMean.h.

◆ releaseMean()

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

Definition at line 86 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 59 of file WeightedMean.h.

◆ bgn_

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

Definition at line 62 of file WeightedMean.h.

◆ end_

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

Definition at line 63 of file WeightedMean.h.

◆ endleg_

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

Definition at line 64 of file WeightedMean.h.

◆ linit_

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

Definition at line 61 of file WeightedMean.h.

◆ sum_

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

Definition at line 60 of file WeightedMean.h.

◆ weights_

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

Definition at line 57 of file WeightedMean.h.

◆ wfct_

template<typename MODEL , typename FLDS >
std::unique_ptr<WeightingFct> oops::WeightedMean< MODEL, FLDS >::wfct_
private

Definition at line 56 of file WeightedMean.h.


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