11 #ifndef OOPS_INTERFACE_OBSAUXCONTROL_H_ 12 #define OOPS_INTERFACE_OBSAUXCONTROL_H_ 17 #include <boost/scoped_ptr.hpp> 19 #include "oops/util/Logger.h" 20 #include "oops/util/ObjectCounter.h" 21 #include "oops/util/Printable.h" 22 #include "oops/util/Timer.h" 32 template <
typename MODEL>
34 private util::ObjectCounter<ObsAuxControl<MODEL> > {
38 static const std::string
classname() {
return "oops::ObsAuxControl";}
49 void read(
const eckit::Configuration &);
50 void write(
const eckit::Configuration &)
const;
55 void print(std::ostream &)
const;
56 boost::scoped_ptr<ObsAuxControl_>
aux_;
61 template<
typename MODEL>
64 Log::trace() <<
"ObsAuxControl<MODEL>::ObsAuxControl starting" << std::endl;
65 util::Timer timer(
classname(),
"ObsAuxControl");
67 Log::trace() <<
"ObsAuxControl<MODEL>::ObsAuxControl done" << std::endl;
72 template<
typename MODEL>
75 Log::trace() <<
"ObsAuxControl<MODEL>::ObsAuxControl copy starting" << std::endl;
76 util::Timer timer(
classname(),
"ObsAuxControl");
78 Log::trace() <<
"ObsAuxControl<MODEL>::ObsAuxControl copy done" << std::endl;
83 template<
typename MODEL>
85 Log::trace() <<
"ObsAuxControl<MODEL>::~ObsAuxControl starting" << std::endl;
86 util::Timer timer(classname(),
"~ObsAuxControl");
88 Log::trace() <<
"ObsAuxControl<MODEL>::~ObsAuxControl done" << std::endl;
93 template<
typename MODEL>
95 Log::trace() <<
"ObsAuxControl<MODEL>::read starting" << std::endl;
96 util::Timer timer(classname(),
"read");
98 Log::trace() <<
"ObsAuxControl<MODEL>::read done" << std::endl;
103 template<
typename MODEL>
105 Log::trace() <<
"ObsAuxControl<MODEL>::write starting" << std::endl;
106 util::Timer timer(classname(),
"write");
108 Log::trace() <<
"ObsAuxControl<MODEL>::write done" << std::endl;
113 template<
typename MODEL>
115 Log::trace() <<
"ObsAuxControl<MODEL>::norm starting" << std::endl;
116 util::Timer timer(classname(),
"norm");
117 double zz = aux_->norm();
118 Log::trace() <<
"ObsAuxControl<MODEL>::norm done" << std::endl;
124 template<
typename MODEL>
126 Log::trace() <<
"ObsAuxControl<MODEL>::print starting" << std::endl;
127 util::Timer timer(classname(),
"print");
129 Log::trace() <<
"ObsAuxControl<MODEL>::print done" << std::endl;
136 #endif // OOPS_INTERFACE_OBSAUXCONTROL_H_ boost::scoped_ptr< ObsAuxControl_ > aux_
subroutine, public copy(self, rhs)
ObsAuxControl & operator=(const ObsAuxControl &)
void read(const eckit::Configuration &)
I/O and diagnostics.
void write(const eckit::Configuration &) const
The namespace for the main oops code.
void print(std::ostream &) const
ObsAuxControl(const eckit::Configuration &)
ObsAuxControl_ & obsauxcontrol()
MODEL::ObsAuxControl ObsAuxControl_
static const std::string classname()
const ObsAuxControl_ & obsauxcontrol() const
Interfacing.