OOPS
oops::ObsError< OBS > Class Template Reference

Observation error covariance matrix of observations from a single ObsSpace. More...

#include <ObsError.h>

Inheritance diagram for oops::ObsError< OBS >:
Collaboration diagram for oops::ObsError< OBS >:

Public Member Functions

 ObsError (const ObsErrorParametersBase &params, const ObsSpace_ &os)
 
 ~ObsError () override
 
 ObsError (const ObsError &)=delete
 
 ObsError (ObsError &&)=default
 
ObsErroroperator= (const ObsError &)=delete
 
ObsErroroperator= (ObsError &&)=default
 
void multiply (ObsVector_ &dy) const
 Multiply a Departure dy by \(R\). More...
 
void inverseMultiply (ObsVector_ &dy) const
 Multiply a Departure dy by \(R^{-1}\). More...
 
void randomize (ObsVector_ &dy) const
 Generate a random perturbation in dy. More...
 
void save (const std::string &) const
 Save obs errors. More...
 
ObsVector_ obserrors () const
 
void update (const ObsVector_ &stddev)
 Set the diagonal of the covariance matrix to stddev squared. More...
 
ObsVector_ inverseVariance () const
 Return the vector of inverse obs error variances. More...
 
double getRMSE () const
 Get mean error for Jo table. More...
 

Static Public Member Functions

static const std::string classname ()
 

Private Types

typedef ObsErrorBase< OBS > ObsErrorBase_
 
typedef ObsVector< OBS > ObsVector_
 
typedef ObsSpace< OBS > ObsSpace_
 

Private Member Functions

void print (std::ostream &) const override
 

Private Attributes

std::unique_ptr< ObsErrorBase_err_
 

Detailed Description

template<typename OBS>
class oops::ObsError< OBS >

Observation error covariance matrix of observations from a single ObsSpace.

Definition at line 28 of file ObsError.h.

Member Typedef Documentation

◆ ObsErrorBase_

template<typename OBS >
typedef ObsErrorBase<OBS> oops::ObsError< OBS >::ObsErrorBase_
private

Definition at line 30 of file ObsError.h.

◆ ObsSpace_

template<typename OBS >
typedef ObsSpace<OBS> oops::ObsError< OBS >::ObsSpace_
private

Definition at line 32 of file ObsError.h.

◆ ObsVector_

template<typename OBS >
typedef ObsVector<OBS> oops::ObsError< OBS >::ObsVector_
private

Definition at line 31 of file ObsError.h.

Constructor & Destructor Documentation

◆ ObsError() [1/3]

template<typename OBS >
oops::ObsError< OBS >::ObsError ( const ObsErrorParametersBase params,
const ObsSpace_ os 
)

Definition at line 78 of file ObsError.h.

Here is the call graph for this function:

◆ ~ObsError()

template<typename OBS >
oops::ObsError< OBS >::~ObsError
override

Definition at line 94 of file ObsError.h.

◆ ObsError() [2/3]

template<typename OBS >
oops::ObsError< OBS >::ObsError ( const ObsError< OBS > &  )
delete

◆ ObsError() [3/3]

template<typename OBS >
oops::ObsError< OBS >::ObsError ( ObsError< OBS > &&  )
default

Member Function Documentation

◆ classname()

template<typename OBS >
static const std::string oops::ObsError< OBS >::classname ( )
inlinestatic

Definition at line 35 of file ObsError.h.

◆ getRMSE()

template<typename OBS >
double oops::ObsError< OBS >::getRMSE

Get mean error for Jo table.

Definition at line 175 of file ObsError.h.

◆ inverseMultiply()

template<typename OBS >
void oops::ObsError< OBS >::inverseMultiply ( ObsVector_ dy) const

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

Definition at line 114 of file ObsError.h.

◆ inverseVariance()

template<typename OBS >
ObsVector< OBS > oops::ObsError< OBS >::inverseVariance

Return the vector of inverse obs error variances.

Definition at line 164 of file ObsError.h.

◆ multiply()

template<typename OBS >
void oops::ObsError< OBS >::multiply ( ObsVector_ dy) const

Multiply a Departure dy by \(R\).

Definition at line 104 of file ObsError.h.

◆ obserrors()

template<typename OBS >
ObsError< OBS >::ObsVector_ oops::ObsError< OBS >::obserrors

Return a copy of obs error std. dev. If this ObsVector_ is modified (e.g. by obs filters), it should be passed back to update() to ensure the covariance matrix stays consistent.

Definition at line 143 of file ObsError.h.

◆ operator=() [1/2]

template<typename OBS >
ObsError& oops::ObsError< OBS >::operator= ( const ObsError< OBS > &  )
delete

◆ operator=() [2/2]

template<typename OBS >
ObsError& oops::ObsError< OBS >::operator= ( ObsError< OBS > &&  )
default

◆ print()

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

Definition at line 186 of file ObsError.h.

◆ randomize()

template<typename OBS >
void oops::ObsError< OBS >::randomize ( ObsVector_ dy) const

Generate a random perturbation in dy.

Definition at line 124 of file ObsError.h.

◆ save()

template<typename OBS >
void oops::ObsError< OBS >::save ( const std::string &  name) const

Save obs errors.

Definition at line 133 of file ObsError.h.

◆ update()

template<typename OBS >
void oops::ObsError< OBS >::update ( const ObsVector_ stddev)

Set the diagonal of the covariance matrix to stddev squared.

Definition at line 154 of file ObsError.h.

Member Data Documentation

◆ err_

template<typename OBS >
std::unique_ptr<ObsErrorBase_> oops::ObsError< OBS >::err_
private

Definition at line 72 of file ObsError.h.


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