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.