OOPS
oops::EnsembleCovariance< MODEL > Class Template Reference

Generic ensemble based model space error covariance. More...

#include <EnsembleCovariance.h>

Inheritance diagram for oops::EnsembleCovariance< MODEL >:
Collaboration diagram for oops::EnsembleCovariance< MODEL >:

Public Member Functions

 EnsembleCovariance (const Geometry_ &, const Variables &, const eckit::Configuration &, const State_ &, const State_ &)
 Constructor, destructor. More...
 
 ~EnsembleCovariance ()
 
- Public Member Functions inherited from oops::ModelSpaceCovarianceBase< MODEL >
 ModelSpaceCovarianceBase (const State_ &, const State_ &, const Geometry_ &, const ModelSpaceCovarianceParametersBase< MODEL > &)
 
 ModelSpaceCovarianceBase (const State_ &, const State_ &, const Geometry_ &, const eckit::Configuration &)
 
virtual ~ModelSpaceCovarianceBase ()
 
void randomize (Increment_ &) const
 
void multiply (const Increment_ &, Increment_ &) const
 
void inverseMultiply (const Increment_ &, Increment_ &) const
 
void getVariance (Increment_ &) const
 

Static Public Member Functions

static const std::string classname ()
 

Private Types

typedef Geometry< MODEL > Geometry_
 
typedef Increment< MODEL > Increment_
 
typedef Localization< MODEL > Localization_
 
typedef State< MODEL > State_
 
typedef IncrementEnsemble< MODEL > Ensemble_
 
typedef std::shared_ptr< IncrementEnsemble< MODEL > > EnsemblePtr_
 

Private Member Functions

void doRandomize (Increment_ &) const override
 
void doMultiply (const Increment_ &, Increment_ &) const override
 
void doInverseMultiply (const Increment_ &, Increment_ &) const override
 

Private Attributes

EnsemblePtr_ ens_
 
std::unique_ptr< Localization_loc_
 
int seed_ = 7
 

Detailed Description

template<typename MODEL>
class oops::EnsembleCovariance< MODEL >

Generic ensemble based model space error covariance.

Definition at line 40 of file EnsembleCovariance.h.

Member Typedef Documentation

◆ Ensemble_

template<typename MODEL >
typedef IncrementEnsemble<MODEL> oops::EnsembleCovariance< MODEL >::Ensemble_
private

Definition at line 46 of file EnsembleCovariance.h.

◆ EnsemblePtr_

template<typename MODEL >
typedef std::shared_ptr<IncrementEnsemble<MODEL> > oops::EnsembleCovariance< MODEL >::EnsemblePtr_
private

Definition at line 47 of file EnsembleCovariance.h.

◆ Geometry_

template<typename MODEL >
typedef Geometry<MODEL> oops::EnsembleCovariance< MODEL >::Geometry_
private

Definition at line 42 of file EnsembleCovariance.h.

◆ Increment_

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

Definition at line 43 of file EnsembleCovariance.h.

◆ Localization_

template<typename MODEL >
typedef Localization<MODEL> oops::EnsembleCovariance< MODEL >::Localization_
private

Definition at line 44 of file EnsembleCovariance.h.

◆ State_

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

Definition at line 45 of file EnsembleCovariance.h.

Constructor & Destructor Documentation

◆ EnsembleCovariance()

template<typename MODEL >
oops::EnsembleCovariance< MODEL >::EnsembleCovariance ( const Geometry_ resol,
const Variables vars,
const eckit::Configuration &  conf,
const State_ xb,
const State_ fg 
)

Constructor, destructor.

Definition at line 71 of file EnsembleCovariance.h.

◆ ~EnsembleCovariance()

template<typename MODEL >
oops::EnsembleCovariance< MODEL >::~EnsembleCovariance

Definition at line 89 of file EnsembleCovariance.h.

Member Function Documentation

◆ classname()

template<typename MODEL >
static const std::string oops::EnsembleCovariance< MODEL >::classname ( )
inlinestatic

Definition at line 50 of file EnsembleCovariance.h.

◆ doInverseMultiply()

template<typename MODEL >
void oops::EnsembleCovariance< MODEL >::doInverseMultiply ( const Increment_ dxi,
Increment_ dxo 
) const
overrideprivatevirtual

Implements oops::ModelSpaceCovarianceBase< MODEL >.

Definition at line 136 of file EnsembleCovariance.h.

Here is the call graph for this function:

◆ doMultiply()

template<typename MODEL >
void oops::EnsembleCovariance< MODEL >::doMultiply ( const Increment_ dxi,
Increment_ dxo 
) const
overrideprivatevirtual

Implements oops::ModelSpaceCovarianceBase< MODEL >.

Definition at line 115 of file EnsembleCovariance.h.

Here is the call graph for this function:

◆ doRandomize()

template<typename MODEL >
void oops::EnsembleCovariance< MODEL >::doRandomize ( Increment_ dx) const
overrideprivatevirtual

Implements oops::ModelSpaceCovarianceBase< MODEL >.

Definition at line 94 of file EnsembleCovariance.h.

Here is the call graph for this function:

Member Data Documentation

◆ ens_

template<typename MODEL >
EnsemblePtr_ oops::EnsembleCovariance< MODEL >::ens_
private

Definition at line 61 of file EnsembleCovariance.h.

◆ loc_

template<typename MODEL >
std::unique_ptr<Localization_> oops::EnsembleCovariance< MODEL >::loc_
private

Definition at line 62 of file EnsembleCovariance.h.

◆ seed_

template<typename MODEL >
int oops::EnsembleCovariance< MODEL >::seed_ = 7
private

Definition at line 63 of file EnsembleCovariance.h.


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