OOPS
oops::ErrorCovariance< MODEL > Class Template Reference

Wrapper for model space error covariances. More...

#include <ErrorCovariance.h>

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

Public Types

typedef TParameters_IfAvailableElseFallbackType_t< Covariance_, GenericModelSpaceCovarianceParameters< MODEL > > Parameters_
 

Public Member Functions

 ErrorCovariance (const Geometry_ &, const Variables &, const Parameters_ &, const State_ &, const State_ &)
 
 ErrorCovariance (const Geometry_ &, const Variables &, const eckit::Configuration &, const State_ &, const State_ &)
 
virtual ~ErrorCovariance ()
 
- 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 MODEL::Covariance Covariance_
 
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
 
void print (std::ostream &) const override
 

Private Attributes

std::unique_ptr< Covariance_covariance_
 

Detailed Description

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

Wrapper for model space error covariances.

This class provides the operations associated with the model space error covariance matrices (B or Q). It wraps the actual error covariance matrix which can be a model specific one or a generic one.

Definition at line 49 of file oops/interface/ErrorCovariance.h.

Member Typedef Documentation

◆ Covariance_

template<typename MODEL >
typedef MODEL::Covariance oops::ErrorCovariance< MODEL >::Covariance_
private

Definition at line 53 of file oops/interface/ErrorCovariance.h.

◆ Geometry_

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

Definition at line 54 of file oops/interface/ErrorCovariance.h.

◆ Increment_

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

Definition at line 55 of file oops/interface/ErrorCovariance.h.

◆ Parameters_

template<typename MODEL >
typedef TParameters_IfAvailableElseFallbackType_t< Covariance_, GenericModelSpaceCovarianceParameters<MODEL> > oops::ErrorCovariance< MODEL >::Parameters_

Defined as Covariance_::Parameters_ if Covariance_ defines a Parameters_ type; otherwise as GenericModelSpaceCovarianceParameters<MODEL>.

Definition at line 62 of file oops/interface/ErrorCovariance.h.

◆ State_

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

Definition at line 56 of file oops/interface/ErrorCovariance.h.

Constructor & Destructor Documentation

◆ ErrorCovariance() [1/2]

template<typename MODEL >
oops::ErrorCovariance< MODEL >::ErrorCovariance ( const Geometry_ resol,
const Variables vars,
const Parameters_ parameters,
const State_ xb,
const State_ fg 
)

Definition at line 85 of file oops/interface/ErrorCovariance.h.

Here is the call graph for this function:

◆ ErrorCovariance() [2/2]

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

Definition at line 105 of file oops/interface/ErrorCovariance.h.

◆ ~ErrorCovariance()

template<typename MODEL >
oops::ErrorCovariance< MODEL >::~ErrorCovariance
virtual

Definition at line 116 of file oops/interface/ErrorCovariance.h.

Member Function Documentation

◆ classname()

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

Definition at line 64 of file oops/interface/ErrorCovariance.h.

Here is the caller graph for this function:

◆ doInverseMultiply()

template<typename MODEL >
void oops::ErrorCovariance< MODEL >::doInverseMultiply ( const Increment_ dx1,
Increment_ dx2 
) const
overrideprivatevirtual

Implements oops::ModelSpaceCovarianceBase< MODEL >.

Definition at line 146 of file oops/interface/ErrorCovariance.h.

Here is the call graph for this function:

◆ doMultiply()

template<typename MODEL >
void oops::ErrorCovariance< MODEL >::doMultiply ( const Increment_ dx1,
Increment_ dx2 
) const
overrideprivatevirtual

Implements oops::ModelSpaceCovarianceBase< MODEL >.

Definition at line 136 of file oops/interface/ErrorCovariance.h.

Here is the call graph for this function:

◆ doRandomize()

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

Implements oops::ModelSpaceCovarianceBase< MODEL >.

Definition at line 126 of file oops/interface/ErrorCovariance.h.

Here is the call graph for this function:

◆ print()

template<typename MODEL >
void oops::ErrorCovariance< MODEL >::print ( std::ostream &  os) const
overrideprivate

Definition at line 156 of file oops/interface/ErrorCovariance.h.

Member Data Documentation

◆ covariance_

template<typename MODEL >
std::unique_ptr<Covariance_> oops::ErrorCovariance< MODEL >::covariance_
private

Definition at line 79 of file oops/interface/ErrorCovariance.h.


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