Go to the documentation of this file.
17 #include "eckit/geometry/Point2.h"
18 #include "eckit/mpi/Comm.h"
20 #include "ioda/core/ObsData.h"
21 #include "oops/base/ObsSpaceBase.h"
22 #include "oops/base/Variables.h"
23 #include "oops/util/DateTime.h"
31 class LocalObsSpaceParameters;
37 static const std::string
classname() {
return "ioda::ObsSpace";}
38 typedef std::map<std::size_t, std::vector<std::size_t>>
RecIdxMap;
41 ObsSpace(
const eckit::Configuration &,
const eckit::mpi::Comm &,
42 const util::DateTime &,
const util::DateTime &,
const eckit::mpi::Comm &);
44 const eckit::Configuration &);
51 std::size_t
gnlocs()
const;
52 std::size_t
nlocs()
const;
53 std::size_t
nrecs()
const;
54 std::size_t
nvars()
const;
55 const std::vector<std::size_t> &
recnum()
const;
56 const std::vector<std::size_t> &
index()
const;
58 bool has(
const std::string &,
const std::string &)
const;
59 ObsDtype dtype(
const std::string &,
const std::string &)
const;
65 void get_db(
const std::string & group,
const std::string & name,
66 std::vector<int> & vdata)
const;
67 void get_db(
const std::string & group,
const std::string & name,
68 std::vector<float> & vdata)
const;
69 void get_db(
const std::string & group,
const std::string & name,
70 std::vector<double> & vdata)
const;
71 void get_db(
const std::string & group,
const std::string & name,
72 std::vector<std::string> & vdata)
const;
73 void get_db(
const std::string & group,
const std::string & name,
74 std::vector<util::DateTime> & vdata)
const;
76 void put_db(
const std::string & group,
const std::string & name,
77 const std::vector<int> & vdata);
78 void put_db(
const std::string & group,
const std::string & name,
79 const std::vector<float> & vdata);
80 void put_db(
const std::string & group,
const std::string & name,
81 const std::vector<double> & vdata);
82 void put_db(
const std::string & group,
const std::string & name,
83 const std::vector<std::string> & vdata);
84 void put_db(
const std::string & group,
const std::string & name,
85 const std::vector<util::DateTime> & vdata);
89 bool recidx_has(
const std::size_t RecNum)
const;
92 const std::vector<std::size_t> &
recidx_vector(
const std::size_t RecNum)
const;
112 void print(std::ostream &)
const;
123 #endif // OBSSPACE_H_
std::string obs_group_var() const
const std::vector< std::size_t > & recnum() const
std::string obs_sort_var() const
void print(std::ostream &) const
void get_db(const std::string &group, const std::string &name, std::vector< int > &vdata) const
std::shared_ptr< ObsData > obsspace_
static const std::string classname()
const std::vector< std::size_t > & index() const
std::size_t nrecs() const
bool has(const std::string &, const std::string &) const
const RecIdxIter recidx_begin() const
std::unique_ptr< LocalObsSpaceParameters > localopts_
std::size_t recidx_recnum(const RecIdxIter &Irec) const
bool recidx_has(const std::size_t RecNum) const
const eckit::mpi::Comm & comm() const
const util::DateTime & windowEnd() const
std::string obs_sort_order() const
std::vector< double > obsdist_
ObsVector class to handle vectors in observation space for IODA.
std::map< std::size_t, std::vector< std::size_t > > RecIdxMap
void printJo(const ObsVector &, const ObsVector &)
const util::DateTime & windowStart() const
bool isDistributed() const
const std::vector< std::size_t > & recidx_vector(const RecIdxIter &Irec) const
const std::vector< std::size_t > & localobs() const
std::vector< std::size_t > recidx_all_recnums() const
std::size_t nlocs() const
ObsDtype dtype(const std::string &, const std::string &) const
const std::string & obsname() const
RecIdxMap::const_iterator RecIdxIter
void put_db(const std::string &group, const std::string &name, const std::vector< int > &vdata)
const RecIdxIter recidx_end() const
std::size_t gnlocs() const
const oops::Variables & obsvariables() const
ObsSpace(const eckit::Configuration &, const eckit::mpi::Comm &, const util::DateTime &, const util::DateTime &, const eckit::mpi::Comm &)
std::size_t nvars() const
std::vector< std::size_t > localobs_
ObsSpace(const ObsSpace &)
const std::vector< double > & obsdist() const