FV3 Bundle
oops::ObsErrorBase< MODEL > Class Template Referenceabstract

Base class for observation error covariance matrices. More...

#include <ObsErrorBase.h>

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

Public Member Functions

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

Private Types

typedef MODEL::ObsVector ObsVector_
 

Detailed Description

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

Base class for observation error covariance matrices.

Base class for observation error covariance matrices for a given model. 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 39 of file ObsErrorBase.h.

Member Typedef Documentation

◆ ObsVector_

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

Definition at line 41 of file ObsErrorBase.h.

Constructor & Destructor Documentation

◆ ObsErrorBase()

template<typename MODEL>
oops::ObsErrorBase< MODEL >::ObsErrorBase ( )
inline

Definition at line 44 of file ObsErrorBase.h.

◆ ~ObsErrorBase()

template<typename MODEL>
virtual oops::ObsErrorBase< MODEL >::~ObsErrorBase ( )
inlinevirtual

Definition at line 45 of file ObsErrorBase.h.

Member Function Documentation

◆ getRMSE()

template<typename MODEL>
virtual double oops::ObsErrorBase< MODEL >::getRMSE ( ) const
pure virtual

Get mean error for Jo table.

Implemented in oops::ObsErrorDiag< MODEL >.

◆ inverseMultiply()

template<typename MODEL>
virtual ObsVector_* oops::ObsErrorBase< MODEL >::inverseMultiply ( const ObsVector_ ) const
pure virtual

Implemented in oops::ObsErrorDiag< MODEL >.

◆ linearize()

template<typename MODEL>
virtual void oops::ObsErrorBase< MODEL >::linearize ( const ObsVector_ )
pure virtual

Linearize and reset for inner loop if needed.

Implemented in oops::ObsErrorDiag< MODEL >.

◆ multiply()

template<typename MODEL>
virtual ObsVector_* oops::ObsErrorBase< MODEL >::multiply ( const ObsVector_ ) const
pure virtual

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

Implemented in oops::ObsErrorDiag< MODEL >.

◆ randomize()

template<typename MODEL>
virtual void oops::ObsErrorBase< MODEL >::randomize ( ObsVector_ ) const
pure virtual

Generate random perturbation.

Implemented in oops::ObsErrorDiag< MODEL >.


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