IODA
|
ObsVector class to handle vectors in observation space for IODA. More...
#include <ObsVector.h>
Public Member Functions | |
ObsVector (ObsSpace &, const std::string &name="", const bool fail=true) | |
ObsVector (const ObsVector &) | |
ObsVector (ObsSpace &, const ObsVector &) | |
~ObsVector () | |
ObsVector & | operator= (const ObsVector &) |
ObsVector & | operator*= (const double &) |
ObsVector & | operator+= (const ObsVector &) |
ObsVector & | operator-= (const ObsVector &) |
ObsVector & | operator*= (const ObsVector &) |
ObsVector & | operator/= (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 |
const double & | operator[] (const std::size_t ii) const |
double & | operator[] (const std::size_t ii) |
unsigned int | nobs () const |
Eigen::VectorXd | packEigen () const |
const double & | toFortran () const |
double & | toFortran () |
const std::string & | obstype () const |
const oops::Variables & | varnames () const |
std::size_t | nvars () const |
std::size_t | nlocs () const |
void | mask (const ObsDataVector< int > &) |
bool | has (const std::string &var) const |
int64_t | getSeed () const |
void | save (const std::string &) const |
void | read (const std::string &, const bool fail=true) |
Static Public Member Functions | |
static const std::string | classname () |
Private Member Functions | |
void | print (std::ostream &) const |
Private Attributes | |
ObsSpace & | obsdb_ |
Associate ObsSpace object. More... | |
oops::Variables | obsvars_ |
Variables. More... | |
std::size_t | nvars_ |
Number of variables. More... | |
std::size_t | nlocs_ |
std::vector< double > | values_ |
Vector data. More... | |
const double | missing_ |
Missing data mark. More... | |
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 33 of file src/ObsVector.h.
ioda::ObsVector::ObsVector | ( | ObsSpace & | obsdb, |
const std::string & | name = "" , |
||
const bool | fail = true |
||
) |
ioda::ObsVector::ObsVector | ( | const ObsVector & | other | ) |
Definition at line 34 of file ObsVector.cc.
ioda::ObsVector::~ObsVector | ( | ) |
Definition at line 52 of file ObsVector.cc.
void ioda::ObsVector::axpy | ( | const double & | zz, |
const ObsVector & | rhs | ||
) |
Definition at line 127 of file ObsVector.cc.
|
inlinestatic |
Definition at line 36 of file src/ObsVector.h.
double ioda::ObsVector::dot_product_with | ( | const ObsVector & | other | ) | const |
|
inline |
Definition at line 74 of file src/ObsVector.h.
|
inline |
Definition at line 72 of file src/ObsVector.h.
void ioda::ObsVector::invert | ( | ) |
Definition at line 139 of file ObsVector.cc.
void ioda::ObsVector::mask | ( | const ObsDataVector< int > & | flags | ) |
|
inline |
unsigned int ioda::ObsVector::nobs | ( | ) | const |
Definition at line 252 of file ObsVector.cc.
|
inline |
|
inline |
ObsVector & ioda::ObsVector::operator*= | ( | const double & | zz | ) |
Definition at line 60 of file ObsVector.cc.
Definition at line 95 of file ObsVector.cc.
Definition at line 69 of file ObsVector.cc.
Definition at line 82 of file ObsVector.cc.
Definition at line 108 of file ObsVector.cc.
Definition at line 55 of file ObsVector.cc.
|
inline |
Definition at line 60 of file src/ObsVector.h.
|
inline |
Definition at line 59 of file src/ObsVector.h.
Eigen::VectorXd ioda::ObsVector::packEigen | ( | ) | const |
|
private |
void ioda::ObsVector::random | ( | ) |
Definition at line 147 of file ObsVector.cc.
void ioda::ObsVector::read | ( | const std::string & | name, |
const bool | fail = true |
||
) |
Definition at line 186 of file ObsVector.cc.
double ioda::ObsVector::rms | ( | ) | const |
void ioda::ObsVector::save | ( | const std::string & | name | ) | const |
|
inline |
Definition at line 58 of file src/ObsVector.h.
double & ioda::ObsVector::toFortran | ( | ) |
Definition at line 267 of file ObsVector.cc.
const double & ioda::ObsVector::toFortran | ( | ) | const |
Definition at line 263 of file ObsVector.cc.
|
inline |
Definition at line 68 of file src/ObsVector.h.
void ioda::ObsVector::zero | ( | ) |
|
private |
Missing data mark.
Definition at line 97 of file src/ObsVector.h.
|
private |
Definition at line 91 of file src/ObsVector.h.
|
private |
Number of variables.
Definition at line 90 of file src/ObsVector.h.
|
private |
Associate ObsSpace object.
Definition at line 84 of file src/ObsVector.h.
|
private |
Variables.
Definition at line 87 of file src/ObsVector.h.
|
private |
Vector data.
Definition at line 94 of file src/ObsVector.h.