FV3 Bundle
oops::ObsErrorCovariance< MODEL > Class Template Reference

Observation error covariance matrix. More...

#include <ObsErrorCovariance.h>

Inheritance diagram for oops::ObsErrorCovariance< MODEL >:
[legend]
Collaboration diagram for oops::ObsErrorCovariance< MODEL >:
[legend]

Public Member Functions

 ObsErrorCovariance (const ObsSpace_ &, const eckit::Configuration &)
 
 ~ObsErrorCovariance ()
 
void linearize (const ObsVector_ &)
 Linearize and reset for inner loop if needed. More...
 
ObsVector_multiply (const ObsVector_ &) const
 Multiply a Departure by \(R\) and \(R^{-1}\). More...
 
ObsVector_inverseMultiply (const ObsVector_ &) const
 
void randomize (ObsVector_ &) const
 Generate random perturbation. More...
 
double getRMSE () const
 Get mean error for Jo table. More...
 

Static Public Member Functions

static const std::string classname ()
 

Private Types

typedef ObsErrorBase< MODEL > ObsErrorBase_
 
typedef ObservationSpace< MODEL > ObsSpace_
 
typedef ObsVector< MODEL > ObsVector_
 

Private Member Functions

void print (std::ostream &) const
 

Private Attributes

boost::scoped_ptr< ObsErrorBase_covar_
 

Detailed Description

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

Observation error covariance matrix.

This class provides the operations associated with the observation error covariance matrix. It wraps the actual observation error covariance which can be a model specific one or a generic one. The interface for the observation error comprises two levels (ObsErrorCovariance and ObsErrorBase) because we want run time polymorphism. The ObsErrorCovariance does conversion of arguments to templated ObsVector and the tracing and timing. The ObsErrorBase does the conversion to model specific ObsVector.

Definition at line 44 of file oops/interface/ObsErrorCovariance.h.

Member Typedef Documentation

◆ ObsErrorBase_

template<typename MODEL >
typedef ObsErrorBase<MODEL> oops::ObsErrorCovariance< MODEL >::ObsErrorBase_
private

Definition at line 47 of file oops/interface/ObsErrorCovariance.h.

◆ ObsSpace_

template<typename MODEL >
typedef ObservationSpace<MODEL> oops::ObsErrorCovariance< MODEL >::ObsSpace_
private

Definition at line 48 of file oops/interface/ObsErrorCovariance.h.

◆ ObsVector_

template<typename MODEL >
typedef ObsVector<MODEL> oops::ObsErrorCovariance< MODEL >::ObsVector_
private

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

Constructor & Destructor Documentation

◆ ObsErrorCovariance()

template<typename MODEL >
oops::ObsErrorCovariance< MODEL >::ObsErrorCovariance ( const ObsSpace_ obsdb,
const eckit::Configuration &  conf 
)

Definition at line 78 of file oops/interface/ObsErrorCovariance.h.

Here is the call graph for this function:

◆ ~ObsErrorCovariance()

template<typename MODEL >
oops::ObsErrorCovariance< MODEL >::~ObsErrorCovariance ( )

Definition at line 91 of file oops/interface/ObsErrorCovariance.h.

Member Function Documentation

◆ classname()

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

Definition at line 52 of file oops/interface/ObsErrorCovariance.h.

Here is the caller graph for this function:

◆ getRMSE()

template<typename MODEL >
double oops::ObsErrorCovariance< MODEL >::getRMSE ( ) const

Get mean error for Jo table.

Definition at line 143 of file oops/interface/ObsErrorCovariance.h.

◆ inverseMultiply()

template<typename MODEL >
ObsVector< MODEL > * oops::ObsErrorCovariance< MODEL >::inverseMultiply ( const ObsVector_ dy) const

Definition at line 122 of file oops/interface/ObsErrorCovariance.h.

Here is the call graph for this function:

◆ linearize()

template<typename MODEL >
void oops::ObsErrorCovariance< MODEL >::linearize ( const ObsVector_ yy)

Linearize and reset for inner loop if needed.

Definition at line 101 of file oops/interface/ObsErrorCovariance.h.

Here is the call graph for this function:

◆ multiply()

template<typename MODEL >
ObsVector< MODEL > * oops::ObsErrorCovariance< MODEL >::multiply ( const ObsVector_ dy) const

Multiply a Departure by \(R\) and \(R^{-1}\).

Definition at line 111 of file oops/interface/ObsErrorCovariance.h.

Here is the call graph for this function:

◆ print()

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

Definition at line 154 of file oops/interface/ObsErrorCovariance.h.

◆ randomize()

template<typename MODEL >
void oops::ObsErrorCovariance< MODEL >::randomize ( ObsVector_ dy) const

Generate random perturbation.

Definition at line 133 of file oops/interface/ObsErrorCovariance.h.

Here is the call graph for this function:

Member Data Documentation

◆ covar_

template<typename MODEL >
boost::scoped_ptr<ObsErrorBase_> oops::ObsErrorCovariance< MODEL >::covar_
private

Definition at line 72 of file oops/interface/ObsErrorCovariance.h.


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