12 #ifndef QG_MODEL_OBSVECQG_H_
13 #define QG_MODEL_OBSVECQG_H_
15 #include <Eigen/Dense>
19 #include "oops/util/ObjectCounter.h"
20 #include "oops/util/Printable.h"
22 #include "oops/qg/QgFortran.h"
26 template <
typename DATATYPE>
class ObsDataQG;
32 private util::ObjectCounter<ObsVecQG> {
34 static const std::string
classname() {
return "qg::ObsVecQG";}
37 const std::string & name =
"");
67 unsigned int nobs()
const;
72 void save(
const std::string &)
const;
73 void read(
const std::string &);
76 void print(std::ostream &)
const;
Data in observation space.
ObsVecQG class to handle vectors in observation space for QG model.
const int & toFortran() const
ObsVecQG & operator/=(const ObsVecQG &)
const ObsSpaceQG & obsdb_
void print(std::ostream &) const
void zero()
set all values to zero
void read(const std::string &)
ObsVecQG & operator-=(const ObsVecQG &)
unsigned int nobs() const
double dot_product_with(const ObsVecQG &) const
void axpy(const double &, const ObsVecQG &)
ObsVecQG & operator+=(const ObsVecQG &)
void ones()
set all values to one
ObsVecQG & operator=(const ObsVecQG &)
size_t packEigenSize(const ObsVecQG &) const
void mask(const ObsDataQG< int > &)
void setToMissing(int i)
set i-th value to missing value
Eigen::VectorXd packEigen(const ObsVecQG &) const
static const std::string classname()
ObsVecQG(const ObsSpaceQG &, const std::string &name="")
ObsVecQG & operator*=(const double &)
void save(const std::string &) const
The namespace for the qg model.