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

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

#include <WeightedDiff.h>

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

Public Member Functions

 WeightedDiff (const eckit::Configuration &, const util::DateTime &, const util::Duration &, const util::Duration &, const Geometry_ &, WeightingFct &)
 
virtual ~WeightedDiff ()
 
INCR * releaseDiff ()
 
- 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

WeightingFctwfct_
 
std::map< util::DateTime, double > weights_
 
Accumulator< MODEL, INCR, FLDS > * avg_
 
double sum_
 
bool linit_
 
const util::DateTime vtime_
 
const util::DateTime bgn_
 
const util::DateTime end_
 
util::Duration tstep_
 
util::DateTime bgnleg_
 
util::DateTime endleg_
 
util::DateTime current_
 

Detailed Description

template<typename MODEL, typename INCR, typename FLDS>
class oops::WeightedDiff< MODEL, INCR, 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 WeightedDiff.h.

Member Typedef Documentation

◆ Geometry_

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

Definition at line 42 of file WeightedDiff.h.

Constructor & Destructor Documentation

◆ WeightedDiff()

template<typename MODEL , typename INCR , typename FLDS >
oops::WeightedDiff< MODEL, INCR, FLDS >::WeightedDiff ( const eckit::Configuration &  config,
const util::DateTime &  vt,
const util::Duration &  span,
const util::Duration &  tstep,
const Geometry_ resol,
WeightingFct wfct 
)

Definition at line 72 of file WeightedDiff.h.

◆ ~WeightedDiff()

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

Definition at line 47 of file WeightedDiff.h.

Member Function Documentation

◆ doInitialize()

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

Reimplemented from oops::PostBase< FLDS >.

Definition at line 102 of file WeightedDiff.h.

◆ doProcessing()

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

Actual processing.

Implements oops::PostBase< FLDS >.

Definition at line 125 of file WeightedDiff.h.

◆ releaseDiff()

template<typename MODEL , typename INCR , typename FLDS >
INCR * oops::WeightedDiff< MODEL, INCR, FLDS >::releaseDiff ( )

Definition at line 90 of file WeightedDiff.h.

Member Data Documentation

◆ avg_

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

Definition at line 57 of file WeightedDiff.h.

◆ bgn_

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

Definition at line 61 of file WeightedDiff.h.

◆ bgnleg_

template<typename MODEL, typename INCR, typename FLDS>
util::DateTime oops::WeightedDiff< MODEL, INCR, FLDS >::bgnleg_
private

Definition at line 64 of file WeightedDiff.h.

◆ current_

template<typename MODEL, typename INCR, typename FLDS>
util::DateTime oops::WeightedDiff< MODEL, INCR, FLDS >::current_
private

Definition at line 66 of file WeightedDiff.h.

◆ end_

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

Definition at line 62 of file WeightedDiff.h.

◆ endleg_

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

Definition at line 65 of file WeightedDiff.h.

◆ linit_

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

Definition at line 59 of file WeightedDiff.h.

◆ sum_

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

Definition at line 58 of file WeightedDiff.h.

◆ tstep_

template<typename MODEL, typename INCR, typename FLDS>
util::Duration oops::WeightedDiff< MODEL, INCR, FLDS >::tstep_
private

Definition at line 63 of file WeightedDiff.h.

◆ vtime_

template<typename MODEL, typename INCR, typename FLDS>
const util::DateTime oops::WeightedDiff< MODEL, INCR, FLDS >::vtime_
private

Definition at line 60 of file WeightedDiff.h.

◆ weights_

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

Definition at line 56 of file WeightedDiff.h.

◆ wfct_

template<typename MODEL, typename INCR, typename FLDS>
WeightingFct& oops::WeightedDiff< MODEL, INCR, FLDS >::wfct_
private

Definition at line 55 of file WeightedDiff.h.


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