FV3 Bundle
ioda::ObsVector Class Reference

ObsVector class to handle vectors in observation space for IODA. More...

#include <ObsVector.h>

Inheritance diagram for ioda::ObsVector:
[legend]
Collaboration diagram for ioda::ObsVector:
[legend]

Public Member Functions

 ObsVector (const ObsSpace &)
 
 ObsVector (const ObsVector &, const bool copy=true)
 
 ~ObsVector ()
 
ObsVectoroperator= (const ObsVector &)
 
ObsVectoroperator*= (const double &)
 
ObsVectoroperator+= (const ObsVector &)
 
ObsVectoroperator-= (const ObsVector &)
 
ObsVectoroperator*= (const ObsVector &)
 
ObsVectoroperator/= (const ObsVector &)
 
void zero ()
 
void axpy (const double &, const ObsVector &)
 
void invert ()
 
void random ()
 
double dot_product_with (const ObsVector &) const
 
double rms () const
 
std::size_t size () const
 
unsigned int nobs () const
 
const double & toFortran () const
 
double & toFortran ()
 
void read (const std::string &)
 
void save (const std::string &) const
 

Static Public Member Functions

static const std::string classname ()
 

Private Member Functions

void print (std::ostream &) const
 

Private Attributes

const ObsSpaceobsdb_
 Associate ObsSpace object. More...
 
std::vector< double > values_
 Vector data. More...
 

Detailed Description

ObsVector class to handle vectors in observation space for IODA.

This class holds observation vector data. Examples of an obs vector are the y vector and the H(x) vector. The methods of this class that implement vector operations (e.g., bitwise add, bitwise subtract, dot product) are capable of handling missing values in the obs data.

Definition at line 31 of file ioda/src/ioda/ObsVector.h.

Constructor & Destructor Documentation

◆ ObsVector() [1/2]

ioda::ObsVector::ObsVector ( const ObsSpace obsdb)
explicit

Definition at line 23 of file ObsVector.cc.

◆ ObsVector() [2/2]

ioda::ObsVector::ObsVector ( const ObsVector other,
const bool  copy = true 
)

Definition at line 28 of file ObsVector.cc.

Here is the call graph for this function:

◆ ~ObsVector()

ioda::ObsVector::~ObsVector ( )

Definition at line 35 of file ObsVector.cc.

Member Function Documentation

◆ axpy()

void ioda::ObsVector::axpy ( const double &  zz,
const ObsVector rhs 
)

Definition at line 110 of file ObsVector.cc.

◆ classname()

static const std::string ioda::ObsVector::classname ( )
inlinestatic

Definition at line 34 of file ioda/src/ioda/ObsVector.h.

◆ dot_product_with()

double ioda::ObsVector::dot_product_with ( const ObsVector other) const

Definition at line 138 of file ObsVector.cc.

Here is the call graph for this function:

◆ invert()

void ioda::ObsVector::invert ( )

Definition at line 122 of file ObsVector.cc.

◆ nobs()

unsigned int ioda::ObsVector::nobs ( ) const

Definition at line 174 of file ObsVector.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator*=() [1/2]

ObsVector & ioda::ObsVector::operator*= ( const double &  zz)

Definition at line 43 of file ObsVector.cc.

◆ operator*=() [2/2]

ObsVector & ioda::ObsVector::operator*= ( const ObsVector rhs)

Definition at line 78 of file ObsVector.cc.

◆ operator+=()

ObsVector & ioda::ObsVector::operator+= ( const ObsVector rhs)

Definition at line 52 of file ObsVector.cc.

◆ operator-=()

ObsVector & ioda::ObsVector::operator-= ( const ObsVector rhs)

Definition at line 65 of file ObsVector.cc.

◆ operator/=()

ObsVector & ioda::ObsVector::operator/= ( const ObsVector rhs)

Definition at line 91 of file ObsVector.cc.

◆ operator=()

ObsVector & ioda::ObsVector::operator= ( const ObsVector rhs)

Definition at line 38 of file ObsVector.cc.

◆ print()

void ioda::ObsVector::print ( std::ostream &  os) const
private

Definition at line 185 of file ObsVector.cc.

Here is the call graph for this function:

◆ random()

void ioda::ObsVector::random ( )

Definition at line 130 of file ObsVector.cc.

◆ read()

void ioda::ObsVector::read ( const std::string &  name)

Definition at line 166 of file ObsVector.cc.

Here is the call graph for this function:

◆ rms()

double ioda::ObsVector::rms ( ) const

Definition at line 151 of file ObsVector.cc.

Here is the call graph for this function:

◆ save()

void ioda::ObsVector::save ( const std::string &  name) const

Definition at line 170 of file ObsVector.cc.

Here is the call graph for this function:

◆ size()

std::size_t ioda::ObsVector::size ( ) const
inline

Definition at line 54 of file ioda/src/ioda/ObsVector.h.

Here is the caller graph for this function:

◆ toFortran() [1/2]

const double& ioda::ObsVector::toFortran ( ) const
inline

Definition at line 57 of file ioda/src/ioda/ObsVector.h.

Here is the caller graph for this function:

◆ toFortran() [2/2]

double& ioda::ObsVector::toFortran ( )
inline

Definition at line 58 of file ioda/src/ioda/ObsVector.h.

◆ zero()

void ioda::ObsVector::zero ( )

Definition at line 104 of file ObsVector.cc.

Member Data Documentation

◆ obsdb_

const ObsSpace& ioda::ObsVector::obsdb_
private

Associate ObsSpace object.

Definition at line 68 of file ioda/src/ioda/ObsVector.h.

◆ values_

std::vector<double> ioda::ObsVector::values_
private

Vector data.

Definition at line 71 of file ioda/src/ioda/ObsVector.h.


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