8 #ifndef OOPS_INTERFACE_OBSCHECK_H_ 9 #define OOPS_INTERFACE_OBSCHECK_H_ 13 #include <boost/noncopyable.hpp> 14 #include <boost/scoped_ptr.hpp> 16 #include "eckit/config/LocalConfiguration.h" 21 #include "oops/util/dot_product.h" 22 #include "oops/util/Logger.h" 28 template <
typename MODEL>
36 static const std::string
classname() {
return "oops::ObsCheck";}
50 const eckit::LocalConfiguration
conf_;
51 void print(std::ostream &)
const override;
52 boost::scoped_ptr<ObsCheck_>
obsc_;
57 template <
typename MODEL>
59 Log::trace() <<
"ObsCheck<MODEL>::ObsCheck Configuration starting" << std::endl;
60 util::Timer timer(
classname(),
"ObsCheck");
62 Log::trace() <<
"ObsCheck<MODEL>::ObsCheck Configuration done" << std::endl;
67 template <
typename MODEL>
69 Log::trace() <<
"ObsCheck<MODEL>::ObsCheck ObsSpace starting" << std::endl;
70 util::Timer timer(
classname(),
"ObsCheck");
71 Log::trace() <<
"ObsCheck<MODEL>::ObsCheck ObsSpace done" << std::endl;
76 template <
typename MODEL>
78 Log::trace() <<
"ObsCheck<MODEL>::~ObsCheck starting" << std::endl;
79 util::Timer timer(classname(),
"~ObsCheck");
81 Log::trace() <<
"ObsCheck<MODEL>::~ObsCheck done" << std::endl;
86 template <
typename MODEL>
89 Log::trace() <<
"ObsCheck<MODEL>::postFilter starting" << std::endl;
90 util::Timer timer(classname(),
"ObsCheck");
92 Log::trace() <<
"ObsCheck<MODEL>::postFilter done" << std::endl;
97 template <
typename MODEL>
99 Log::trace() <<
"ObsCheck<MODEL>:: priorFilter starting" << std::endl;
100 util::Timer timer(classname(),
"ObsCheck");
102 Log::trace() <<
"ObsCheck<MODEL>:: priorFilter done" << std::endl;
107 template <
typename MODEL>
109 os <<
"ObsCheck " << conf_;
116 #endif // OOPS_INTERFACE_OBSCHECK_H_ Base class for QC filters applied to observations.
const GeoVaLs_ & geovals() const
Interfacing.
const eckit::LocalConfiguration conf_
static const std::string classname()
const ObsCheck_ & obscheck() const
Interfacing.
The namespace for the main oops code.
ObsCheck(const ObsSpace_ &)
ObservationSpace< MODEL > ObsSpace_
ObsVector< MODEL > ObsVector_
ObsVector_ & obsvector()
Interfacing.
MODEL::ObsCheck ObsCheck_
void postFilter(const GeoVaLs_ &, const ObsVector_ &, const ObsSpace_ &) const
GeoVaLs< MODEL > GeoVaLs_
void priorFilter(const ObsSpace_ &) const
ObsSpace_ & observationspace() const
Interfacing.
void print(std::ostream &) const override
boost::scoped_ptr< ObsCheck_ > obsc_