11 #ifndef LORENZ95_OBSTABLE_H_
12 #define LORENZ95_OBSTABLE_H_
20 #include "eckit/mpi/Comm.h"
23 #include "oops/util/DateTime.h"
24 #include "oops/util/ObjectCounter.h"
41 private util::ObjectCounter<ObsTable> {
43 static const std::string
classname() {
return "lorenz95::ObsTable";}
45 ObsTable(
const eckit::Configuration &,
const eckit::mpi::Comm &,
46 const util::DateTime &,
const util::DateTime &,
const eckit::mpi::Comm &);
51 void putdb(
const std::string &,
const std::vector<int> &)
const;
52 void putdb(
const std::string &,
const std::vector<float> &)
const;
53 void putdb(
const std::string &,
const std::vector<double> &)
const;
54 void getdb(
const std::string &, std::vector<int> &)
const;
55 void getdb(
const std::string &, std::vector<float> &)
const;
56 void getdb(
const std::string &, std::vector<double> &)
const;
58 bool has(
const std::string & col)
const;
60 void random(std::vector<double> &)
const;
63 const std::vector<util::DateTime> &
times()
const {
return times_; }
73 void print(std::ostream &)
const;
74 void otOpen(
const std::string &);
75 void otWrite(
const std::string &)
const;
82 mutable std::map<std::string, std::vector<double> >
data_;
Iterator over all observations.
A Simple Observation Data Handler.
void random(std::vector< double > &) const
const std::vector< double > & locations() const
std::vector< double > locations_
static const std::string classname()
void print(std::ostream &) const
bool has(const std::string &col) const
void getdb(const std::string &, std::vector< int > &) const
const std::string obsname_
unsigned int nobs() const
void otWrite(const std::string &) const
const oops::Variables obsvars_
const eckit::mpi::Comm & comm_
ObsIterator begin() const
iterator to the first observation
const util::DateTime winbgn_
const util::DateTime winend_
std::map< std::string, std::vector< double > > data_
const std::string & obsname() const
const oops::Variables & obsvariables() const
ObsIterator end() const
iterator to the observation past-the-last
ObsTable(const eckit::Configuration &, const eckit::mpi::Comm &, const util::DateTime &, const util::DateTime &, const eckit::mpi::Comm &)
void generateDistribution(const eckit::Configuration &)
const std::vector< util::DateTime > & times() const
std::vector< util::DateTime > times_
void otOpen(const std::string &)
void putdb(const std::string &, const std::vector< int > &) const
Base class for observation spaces.
The namespace for the L95 model.