Go to the documentation of this file.
17 #include "eckit/config/Configuration.h"
18 #include "eckit/exception/Exceptions.h"
20 #include "oops/util/Logger.h"
21 #include "oops/util/missingValues.h"
26 const std::string & name,
const bool fail)
27 : obsdb_(ot), data_(ot.nobs()), missing_(
util::missingValue(missing_))
36 : obsdb_(other.obsdb_), data_(other.data_.size()), missing_(
util::missingValue(missing_))
49 : obsdb_(ot), data_(ot.nobs()), missing_(
util::missingValue(missing_)) {
50 for (
size_t ii = 0; ii < ot.
nobs(); ++ii) {
64 for (
size_t jj = 0; jj <
data_.size(); ++jj) {
76 for (
size_t jj = 0; jj <
data_.size(); ++jj) {
88 for (
size_t jj = 0; jj <
data_.size(); ++jj) {
100 for (
size_t jj = 0; jj <
data_.size(); ++jj) {
122 for (
size_t jj = 0; jj <
data_.size(); ++jj) {
138 for (
size_t jj = 0; jj <
data_.size(); ++jj) {
155 if (iobs > 0.0) zz = sqrt(zz/iobs);
164 for (
size_t jj = 0; jj <
data_.size(); ++jj) {
174 Eigen::VectorXd vec(
nobs());
181 ASSERT(ii ==
nobs());
190 double zmin = std::numeric_limits<double>::max();
191 double zmax = std::numeric_limits<double>::lowest();
196 if (
val < zmin) zmin =
val;
197 if (
val > zmax) zmax =
val;
203 zavg /=
static_cast<double>(iobs);
204 os <<
"Lorenz 95 nobs= " << iobs <<
" Min=" << zmin <<
", Max=" << zmax
205 <<
", Average=" << zavg;
207 os <<
"Lorenz 95 : No observations";
ObsVec1D & operator*=(const double &)
unsigned int nobs() const
void save(const std::string &) const
void getdb(const std::string &, std::vector< int > &) const
Vector in observation space.
ObsVec1D(const ObsTableView &, const std::string &name="", const bool fail=true)
size_t index(const size_t ii) const
ObsVec1D & operator+=(const ObsVec1D &)
void random(std::vector< double > &) const
const ObsTableView & obsdb_
double dot_product_with(const ObsVec1D &) const
Eigen::VectorXd packEigen() const
unsigned int nobs() const
std::vector< double > data_
Data in observation space.
bool has(const std::string &) const
A Simple Observation Data Handler.
void read(const std::string &)
void mask(const ObsData1D< int > &)
ObsVec1D & operator=(const ObsVec1D &)
ObsVec1D & operator/=(const ObsVec1D &)
void axpy(const double &, const ObsVec1D &)
void putdb(const std::string &, const std::vector< int > &) const
ObsVec1D & operator-=(const ObsVec1D &)
The namespace for the L95 model.
void print(std::ostream &) const