OOPS
oops::Departures< OBS > Class Template Reference

Difference between two observation vectors. More...

#include <Departures.h>

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

Public Member Functions

 Departures (const ObsSpaces_ &, const std::string &name="", const bool failIfNameNotFound=true)
 create Departures for all obs (read from ObsSpace if name is specified) More...
 
 Departures (const ObsSpaces_ &, const Departures &)
 create local Departures More...
 
size_t size () const
 Access. More...
 
ObsVector_operator[] (const size_t ii)
 
const ObsVector_operator[] (const size_t ii) const
 
Departuresoperator+= (const Departures &)
 
Departuresoperator-= (const Departures &)
 
Departuresoperator*= (const double &)
 
Departuresoperator*= (const Departures &)
 
Departuresoperator/= (const Departures &)
 
void zero ()
 
void random ()
 
void invert ()
 
void axpy (const double &, const Departures &)
 
double dot_product_with (const Departures &) const
 
double rms () const
 
size_t nobs () const
 Return number of departures (excluding departures that are masked out) More...
 
void mask (const QCData_ &)
 Mask out departures where the passed in qc flags are > 0. More...
 
Eigen::VectorXd packEigen () const
 Pack departures in an Eigen vector (excluding departures that are masked out) More...
 
void save (const std::string &) const
 Save departures values. More...
 
- Public Member Functions inherited from oops::GeneralizedDepartures
 GeneralizedDepartures ()
 
virtual ~GeneralizedDepartures ()
 

Private Types

typedef ObsSpaces< OBS > ObsSpaces_
 
typedef ObsVector< OBS > ObsVector_
 
typedef QCData< OBS > QCData_
 

Private Member Functions

void print (std::ostream &) const
 

Private Attributes

std::vector< ObsVector_dep_
 Data. More...
 

Detailed Description

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

Difference between two observation vectors.

A departure is the difference between two observations. The archetypal example is \( \mathbf{y} - {\cal H}(\mathbf{x}) \).

Keeping an observation space vector here is necessary for the implementation of generic observation error covariance matrices.

Definition at line 43 of file oops/base/Departures.h.

Member Typedef Documentation

◆ ObsSpaces_

template<typename OBS >
typedef ObsSpaces<OBS> oops::Departures< OBS >::ObsSpaces_
private

Definition at line 45 of file oops/base/Departures.h.

◆ ObsVector_

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

Definition at line 46 of file oops/base/Departures.h.

◆ QCData_

template<typename OBS >
typedef QCData<OBS> oops::Departures< OBS >::QCData_
private

Definition at line 47 of file oops/base/Departures.h.

Constructor & Destructor Documentation

◆ Departures() [1/2]

template<typename OBS >
oops::Departures< OBS >::Departures ( const ObsSpaces_ obsdb,
const std::string &  name = "",
const bool  failIfNameNotFound = true 
)

create Departures for all obs (read from ObsSpace if name is specified)

Definition at line 95 of file oops/base/Departures.h.

Here is the call graph for this function:

◆ Departures() [2/2]

template<typename OBS >
oops::Departures< OBS >::Departures ( const ObsSpaces_ obsdb,
const Departures< OBS > &  other 
)

create local Departures

Definition at line 106 of file oops/base/Departures.h.

Here is the call graph for this function:

Member Function Documentation

◆ axpy()

template<typename OBS >
void oops::Departures< OBS >::axpy ( const double &  zz,
const Departures< OBS > &  rhs 
)

Definition at line 177 of file oops/base/Departures.h.

◆ dot_product_with()

template<typename OBS >
double oops::Departures< OBS >::dot_product_with ( const Departures< OBS > &  other) const

Definition at line 184 of file oops/base/Departures.h.

◆ invert()

template<typename OBS >
void oops::Departures< OBS >::invert

Definition at line 170 of file oops/base/Departures.h.

◆ mask()

template<typename OBS >
void oops::Departures< OBS >::mask ( const QCData_ qc)

Mask out departures where the passed in qc flags are > 0.

Definition at line 207 of file oops/base/Departures.h.

Here is the call graph for this function:

◆ nobs()

template<typename OBS >
size_t oops::Departures< OBS >::nobs

Return number of departures (excluding departures that are masked out)

Definition at line 198 of file oops/base/Departures.h.

Here is the caller graph for this function:

◆ operator*=() [1/2]

template<typename OBS >
Departures< OBS > & oops::Departures< OBS >::operator*= ( const Departures< OBS > &  rhs)

Definition at line 140 of file oops/base/Departures.h.

◆ operator*=() [2/2]

template<typename OBS >
Departures< OBS > & oops::Departures< OBS >::operator*= ( const double &  zz)

Definition at line 132 of file oops/base/Departures.h.

◆ operator+=()

template<typename OBS >
Departures< OBS > & oops::Departures< OBS >::operator+= ( const Departures< OBS > &  rhs)

Definition at line 116 of file oops/base/Departures.h.

◆ operator-=()

template<typename OBS >
Departures< OBS > & oops::Departures< OBS >::operator-= ( const Departures< OBS > &  rhs)

Definition at line 124 of file oops/base/Departures.h.

◆ operator/=()

template<typename OBS >
Departures< OBS > & oops::Departures< OBS >::operator/= ( const Departures< OBS > &  rhs)

Definition at line 148 of file oops/base/Departures.h.

◆ operator[]() [1/2]

template<typename OBS >
ObsVector_& oops::Departures< OBS >::operator[] ( const size_t  ii)
inline

Definition at line 58 of file oops/base/Departures.h.

◆ operator[]() [2/2]

template<typename OBS >
const ObsVector_& oops::Departures< OBS >::operator[] ( const size_t  ii) const
inline

Definition at line 59 of file oops/base/Departures.h.

◆ packEigen()

template<typename OBS >
Eigen::VectorXd oops::Departures< OBS >::packEigen

Pack departures in an Eigen vector (excluding departures that are masked out)

Definition at line 214 of file oops/base/Departures.h.

Here is the caller graph for this function:

◆ print()

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

Definition at line 233 of file oops/base/Departures.h.

◆ random()

template<typename OBS >
void oops::Departures< OBS >::random

Definition at line 163 of file oops/base/Departures.h.

◆ rms()

template<typename OBS >
double oops::Departures< OBS >::rms

Definition at line 193 of file oops/base/Departures.h.

Here is the caller graph for this function:

◆ save()

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

Save departures values.

Definition at line 226 of file oops/base/Departures.h.

Here is the caller graph for this function:

◆ size()

template<typename OBS >
size_t oops::Departures< OBS >::size ( ) const
inline

Access.

Definition at line 57 of file oops/base/Departures.h.

Here is the caller graph for this function:

◆ zero()

template<typename OBS >
void oops::Departures< OBS >::zero

Definition at line 156 of file oops/base/Departures.h.

Member Data Documentation

◆ dep_

template<typename OBS >
std::vector<ObsVector_> oops::Departures< OBS >::dep_
private

Data.

Definition at line 89 of file oops/base/Departures.h.


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