Go to the documentation of this file.
14 #include "oops/util/Logger.h"
20 #include "eckit/exception/Exceptions.h"
25 const std::string & name,
const bool fail)
26 : obsdb_(obsdb), keyOvec_(0)
35 : obsdb_(other.obsdb_), keyOvec_(0) {
41 : obsdb_(obsdb), keyOvec_(0)
112 const int keyOvecOther = other.
keyOvec_;
134 Eigen::VectorXd vec(
nobs());
136 for (
unsigned int ii = 0; ii <
nobs(); ++ii) {
148 double scaling, zmin, zmax, zavg;
150 std::ios_base::fmtflags f(os.flags());
152 <<
" Scaling=" << std::setprecision(4) << std::setw(7) << scaling
153 <<
", Min=" << std::fixed << std::setprecision(4) << std::setw(12) << zmin
154 <<
", Max=" << std::fixed << std::setprecision(4) << std::setw(12) << zmax
155 <<
", Average=" << std::fixed << std::setprecision(4) << std::setw(12) << zavg;
162 unsigned int nobs(iobs);
void qg_obsvec_delete_f90(F90ovec &)
void read(const std::string &)
double dot_product_with(const ObsVecQG &) const
The namespace for the qg model.
const std::string & obsname() const
observation type
void qg_obsvec_setup_f90(F90ovec &, const int &, const int &)
void print(std::ostream &) const
const ObsSpaceQG & obsdb_
void qg_obsvec_sub_f90(const F90ovec &, const F90ovec &)
const oops::Variables & obsvariables() const
return variables simulated by ObsOperators
void qg_obsvec_div_f90(const F90ovec &, const F90ovec &)
int nobs() const
return number of observations (unique locations)
void qg_obsvec_invert_f90(const F90ovec &)
void qg_obsvec_random_f90(const ObsSpaceQG &, const F90ovec &)
unsigned int nobs() const
ObsVecQG(const ObsSpaceQG &, const std::string &name="", const bool fail=true)
void axpy(const double &, const ObsVecQG &)
ObsVecQG & operator+=(const ObsVecQG &)
void qg_obsvec_mul_scal_f90(const F90ovec &, const double &)
void qg_obsvec_mul_f90(const F90ovec &, const F90ovec &)
Eigen::VectorXd packEigen() const
void save(const std::string &) const
void qg_obsvec_axpy_f90(const F90ovec &, const double &, const F90ovec &)
ObsVecQG & operator*=(const double &)
const std::vector< int > & localobs() const
local observations indices
ObsVecQG & operator/=(const ObsVecQG &)
void qg_obsvec_copy_local_f90(const F90ovec &, const F90ovec &, const int &, const int *)
ObsVecQG class to handle vectors in observation space for QG model.
void qg_obsvec_getat_f90(const F90ovec &, const int &, double &)
void qg_obsvec_zero_f90(const F90ovec &)
void getdb(const std::string &, int &) const
read data or metadata
bool has(const std::string &col) const
check if variable is in ObsSpace
void qg_obsvec_add_f90(const F90ovec &, const F90ovec &)
void qg_obsvec_nobs_f90(const F90ovec &, int &)
void qg_obsvec_copy_f90(const F90ovec &, const F90ovec &)
void qg_obsvec_stats_f90(const F90ovec &, double &, double &, double &, double &)
void qg_obsvec_dotprod_f90(const F90ovec &, const F90ovec &, double &)
ObsVecQG & operator=(const ObsVecQG &)
void qg_obsvec_clone_f90(F90ovec &, const F90ovec &)
void putdb(const std::string &, const int &) const
save data or metadata
ObsVecQG & operator-=(const ObsVecQG &)