8 #ifndef OOPS_INTERFACE_OBSDIAGNOSTICS_H_
9 #define OOPS_INTERFACE_OBSDIAGNOSTICS_H_
16 #include <boost/noncopyable.hpp>
21 #include "oops/util/Logger.h"
22 #include "oops/util/ObjectCounter.h"
23 #include "oops/util/Printable.h"
24 #include "oops/util/Timer.h"
30 template <
typename OBS>
32 private boost::noncopyable,
33 private util::ObjectCounter<ObsDiagnostics<OBS> > {
39 static const std::string
classname() {
return "oops::ObsDiagnostics";}
51 void save(
const std::string &)
const;
54 void print(std::ostream &)
const;
59 template <
typename OBS>
63 Log::trace() <<
"ObsDiagnostics<OBS>::ObsDiagnostics starting" << std::endl;
64 util::Timer timer(
classname(),
"ObsDiagnostics");
66 Log::trace() <<
"ObsDiagnostics<OBS>::ObsDiagnostics done" << std::endl;
69 template <
typename OBS>
73 Log::trace() <<
"ObsDiagnostics<OBS>::ObsDiagnostics starting" << std::endl;
74 util::Timer timer(
classname(),
"ObsDiagnostics");
76 Log::trace() <<
"ObsDiagnostics<OBS>::ObsDiagnostics done" << std::endl;
79 template <
typename OBS>
81 Log::trace() <<
"ObsDiagnostics<OBS>::~ObsDiagnostics starting" << std::endl;
82 util::Timer timer(classname(),
"~ObsDiagnostics");
84 Log::trace() <<
"ObsDiagnostics<OBS>::~ObsDiagnostics done" << std::endl;
87 template <
typename OBS>
89 Log::trace() <<
"ObsDiagnostics<OBS, DATATYPE>::save starting " << name << std::endl;
90 util::Timer timer(classname(),
"save");
92 Log::trace() <<
"ObsDiagnostics<OBS, DATATYPE>::save done" << std::endl;
95 template <
typename OBS>
97 Log::trace() <<
"ObsDiagnostics<OBS>::print starting" << std::endl;
98 util::Timer timer(classname(),
"print");
100 Log::trace() <<
"ObsDiagnostics<OBS>::print done" << std::endl;
Locations of observations for observation operator.
const Locations_ & locations() const
Interfacing.
void print(std::ostream &) const
ObsSpace< OBS > ObsSpace_
Locations< OBS > Locations_
const ObsDiags_ & obsdiagnostics() const
static const std::string classname()
void save(const std::string &) const
OBS::ObsDiagnostics ObsDiags_
ObsDiagnostics(const ObsSpace_ &, const Locations_ &, const Variables &)
std::unique_ptr< ObsDiags_ > diags_
ObsDiags_ & obsdiagnostics()
Interfacing.
ObsSpace_ & obsspace() const
Interfacing.
The namespace for the main oops code.