Go to the documentation of this file.
8 #ifndef OOPS_INTERFACE_GETVALUES_H_
9 #define OOPS_INTERFACE_GETVALUES_H_
15 #include "eckit/config/Configuration.h"
20 #include "oops/util/DateTime.h"
21 #include "oops/util/ObjectCounter.h"
22 #include "oops/util/Printable.h"
23 #include "oops/util/Timer.h"
30 template <
typename MODEL,
typename OBS>
32 private util::ObjectCounter<GetValues<MODEL, OBS> > {
40 static const std::string
classname() {
return "oops::GetValues";}
55 void print(std::ostream &)
const;
61 template<
typename MODEL,
typename OBS>
64 Log::trace() <<
"GetValues<MODEL, OBS>::GetValues starting" << std::endl;
65 util::Timer timer(
classname(),
"GetValues");
67 Log::trace() <<
"GetValues<MODEL, OBS>::GetValues done" << std::endl;
72 template<
typename MODEL,
typename OBS>
74 Log::trace() <<
"GetValues<MODEL, OBS>::~GetValues starting" << std::endl;
75 util::Timer timer(classname(),
"~GetValues");
77 Log::trace() <<
"GetValues<MODEL, OBS>::~GetValues done" << std::endl;
82 template<
typename MODEL,
typename OBS>
84 const util::DateTime & t2,
GeoVaLs_ & gvals)
const {
85 Log::trace() <<
"GetValues<MODEL, OBS>::fillGeoVaLs starting" << std::endl;
86 util::Timer timer(classname(),
"fillGeoVaLs");
87 getvalues_->fillGeoVaLs(state.
state(), t1, t2, gvals.
geovals());
88 Log::trace() <<
"GetValues<MODEL, OBS>::fillGeoVaLs done" << std::endl;
93 template<
typename MODEL,
typename OBS>
95 Log::trace() <<
"GetValues<MODEL, OBS>::print starting" << std::endl;
96 util::Timer timer(classname(),
"print");
98 Log::trace() <<
"GetValues<MODEL, OBS>::print done" << std::endl;
105 #endif // OOPS_INTERFACE_GETVALUES_H_
The namespace for the main oops code.
void print(std::ostream &) const
const GeoVaLs_ & geovals() const
Interfacing.
MODEL::GetValues GetValues_
Gets values from model State to observation locations (fills GeoVaLs)
const GetValues_ & getvalues() const
State_ & state()
Interfacing.
GetValues_ & getvalues()
Interfacing.
void fillGeoVaLs(const State_ &, const util::DateTime &, const util::DateTime &, GeoVaLs_ &) const
Get state values at observation locations.
Geometry class used in oops; subclass of interface class above.
const Locations_ & locations() const
Interfacing.
Encapsulates the model state.
Geometry< MODEL > Geometry_
Locations< OBS > Locations_
Locations of observations for observation operator.
static const std::string classname()
GetValues(const Geometry_ &, const Locations_ &)
Constructor, destructor.
std::unique_ptr< GetValues_ > getvalues_
const Geometry_ & geometry() const
Interfacing with other oops classes.