8 #ifndef OOPS_INTERFACE_OBSLOCALIZATION_H_
9 #define OOPS_INTERFACE_OBSLOCALIZATION_H_
14 #include "eckit/config/LocalConfiguration.h"
19 #include "oops/util/Logger.h"
27 template <
typename MODEL,
typename OBS>
29 private boost::noncopyable {
36 static const std::string
classname() {
return "oops::ObsLocalization";}
48 void print(std::ostream &)
const override;
55 template <
typename MODEL,
typename OBS>
60 Log::trace() <<
"ObsLocalization<MODEL, OBS>::ObsLocalization starting" << std::endl;
61 util::Timer timer(
classname(),
"ObsLocalization");
63 Log::trace() <<
"ObsLocalization<MODEL, OBS>::ObsLocalization done" << std::endl;
68 template <
typename MODEL,
typename OBS>
70 Log::trace() <<
"ObsLocalization<MODEL, OBS>::~ObsLocalization starting" << std::endl;
71 util::Timer timer(classname(),
"~ObsLocalization");
73 Log::trace() <<
"ObsLocalization<MODEL, OBS>::~ObsLocalization done" << std::endl;
78 template <
typename MODEL,
typename OBS>
81 Log::trace() <<
"ObsLocalization<MODEL, OBS>:: computeLocalization starting" << std::endl;
82 util::Timer timer(classname(),
"computeLocalization");
83 obsloc_->computeLocalization(p, locfactor);
84 Log::trace() <<
"ObsLocalization<MODEL, OBS>:: computeLocalization done" << std::endl;
89 template <
typename MODEL,
typename OBS>
Encapsulates the observation-space localization Note: to see methods that need to be implemented in t...
std::unique_ptr< ObsLocBase_ > obsloc_
ObsLocalizationBase< MODEL, OBS > ObsLocBase_
ObsLocalization(const eckit::Configuration &, const ObsSpace_ &)
ObsSpace< OBS > ObsSpace_
void print(std::ostream &) const override
static const std::string classname()
GeometryIterator< MODEL > GeometryIterator_
void computeLocalization(const GeometryIterator_ &point, ObsVector_ &locfactor) const override
ObsVector< OBS > ObsVector_
ObsVector class used in oops; subclass of interface class interface::ObsVector.
The namespace for the main oops code.