8 #ifndef OOPS_INTERFACE_GETVALUES_H_
9 #define OOPS_INTERFACE_GETVALUES_H_
15 #include "eckit/config/Configuration.h"
16 #include "eckit/config/LocalConfiguration.h"
21 #include "oops/util/DateTime.h"
22 #include "oops/util/ObjectCounter.h"
23 #include "oops/util/Printable.h"
24 #include "oops/util/Timer.h"
31 template <
typename MODEL,
typename OBS>
33 private util::ObjectCounter<GetValues<MODEL, OBS> > {
41 static const std::string
classname() {
return "oops::GetValues";}
56 void print(std::ostream &)
const;
62 template<
typename MODEL,
typename OBS>
64 const eckit::Configuration & conf)
67 Log::trace() <<
"GetValues<MODEL, OBS>::GetValues starting" << std::endl;
68 util::Timer timer(
classname(),
"GetValues");
70 Log::trace() <<
"GetValues<MODEL, OBS>::GetValues done" << std::endl;
76 template<
typename MODEL,
typename OBS>
78 Log::trace() <<
"GetValues<MODEL, OBS>::~GetValues starting" << std::endl;
79 util::Timer timer(classname(),
"~GetValues");
81 Log::trace() <<
"GetValues<MODEL, OBS>::~GetValues done" << std::endl;
86 template<
typename MODEL,
typename OBS>
88 const util::DateTime & t2,
GeoVaLs_ & gvals)
const {
89 Log::trace() <<
"GetValues<MODEL, OBS>::fillGeoVaLs starting" << std::endl;
90 util::Timer timer(classname(),
"fillGeoVaLs");
91 getvalues_->fillGeoVaLs(state.
state(), t1, t2, gvals.
geovals());
92 Log::trace() <<
"GetValues<MODEL, OBS>::fillGeoVaLs done" << std::endl;
97 template<
typename MODEL,
typename OBS>
99 Log::trace() <<
"GetValues<MODEL, OBS>::print starting" << std::endl;
100 util::Timer timer(classname(),
"print");
102 Log::trace() <<
"GetValues<MODEL, OBS>::print done" << std::endl;
const GeoVaLs_ & geovals() const
Interfacing.
Geometry class used in oops; subclass of interface class interface::Geometry.
Gets values from model State to observation locations (fills GeoVaLs)
static const std::string classname()
void fillGeoVaLs(const State_ &, const util::DateTime &, const util::DateTime &, GeoVaLs_ &) const
Get state values at observation locations.
GetValues_ & getvalues()
Interfacing.
Locations< OBS > Locations_
MODEL::GetValues GetValues_
GetValues(const Geometry_ &, const Locations_ &, const eckit::Configuration &)
Constructor, destructor.
const GetValues_ & getvalues() const
Geometry< MODEL > Geometry_
void print(std::ostream &) const
std::unique_ptr< GetValues_ > getvalues_
Locations of observations for observation operator.
const Locations_ & locations() const
Interfacing.
State class used in oops; subclass of interface class interface::State.
const Geometry_ & geometry() const
State_ & state()
Accessor.
The namespace for the main oops code.