Loading [MathJax]/extensions/tex2jax.js
OOPS
All Classes Namespaces Files Functions Variables Typedefs Macros Pages
oops::HybridCovariance< MODEL > Class Template Reference

Generic hybrid static-ensemble model space error covariance. More...

#include <HybridCovariance.h>

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

Public Member Functions

 HybridCovariance (const Geometry_ &, const Variables &, const eckit::Configuration &, const State_ &, const State_ &)
 Constructor, destructor. More...
 
 ~HybridCovariance ()
 
- 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
 

Private Types

typedef Geometry< MODEL > Geometry_
 
typedef Increment< MODEL > Increment_
 
typedef State< MODEL > State_
 

Private Member Functions

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

Private Attributes

std::vector< std::unique_ptr< ModelSpaceCovarianceBase< MODEL > > > Bcomponents_
 
std::vector< std::string > weightTypes_
 
std::vector< double > valueWeights_
 
std::vector< Increment_incrementWeights_
 

Detailed Description

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

Generic hybrid static-ensemble model space error covariance.

Definition at line 37 of file HybridCovariance.h.

Member Typedef Documentation

◆ Geometry_

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

Definition at line 38 of file HybridCovariance.h.

◆ Increment_

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

Definition at line 39 of file HybridCovariance.h.

◆ State_

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

Definition at line 40 of file HybridCovariance.h.

Constructor & Destructor Documentation

◆ HybridCovariance()

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

Constructor, destructor.

Definition at line 63 of file HybridCovariance.h.

Here is the call graph for this function:

◆ ~HybridCovariance()

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

Definition at line 95 of file HybridCovariance.h.

Member Function Documentation

◆ doInverseMultiply()

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

Implements oops::ModelSpaceCovarianceBase< MODEL >.

Definition at line 120 of file HybridCovariance.h.

Here is the call graph for this function:

◆ doMultiply()

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

Implements oops::ModelSpaceCovarianceBase< MODEL >.

Definition at line 100 of file HybridCovariance.h.

Here is the call graph for this function:

◆ doRandomize()

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

Implements oops::ModelSpaceCovarianceBase< MODEL >.

Definition at line 127 of file HybridCovariance.h.

Here is the call graph for this function:

Member Data Documentation

◆ Bcomponents_

template<typename MODEL >
std::vector< std::unique_ptr< ModelSpaceCovarianceBase<MODEL> > > oops::HybridCovariance< MODEL >::Bcomponents_
private

Definition at line 52 of file HybridCovariance.h.

◆ incrementWeights_

template<typename MODEL >
std::vector< Increment_ > oops::HybridCovariance< MODEL >::incrementWeights_
private

Definition at line 55 of file HybridCovariance.h.

◆ valueWeights_

template<typename MODEL >
std::vector< double > oops::HybridCovariance< MODEL >::valueWeights_
private

Definition at line 54 of file HybridCovariance.h.

◆ weightTypes_

template<typename MODEL >
std::vector< std::string > oops::HybridCovariance< MODEL >::weightTypes_
private

Definition at line 53 of file HybridCovariance.h.


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