8 #ifndef OOPS_GENERIC_PSEUDOMODEL_H_ 9 #define OOPS_GENERIC_PSEUDOMODEL_H_ 15 #include "oops/interface/ModelBase.h" 17 #include "oops/util/Duration.h" 18 #include "oops/util/Logger.h" 19 #include "oops/util/ObjectCounter.h" 20 #include "oops/util/Printable.h" 21 #include "oops/util/Timer.h" 36 template <
typename MODEL>
40 typedef typename MODEL::State
State_;
43 static const std::string
classname() {
return "oops::PseudoModel";}
55 void print(std::ostream &)
const override {}
64 template<
typename MODEL>
66 : resol_(resol), tstep_(
util::Duration(tlConf.getString(
"tstep")))
68 Log::trace() <<
"PseudoModel<MODEL>::PseudoModel done" << std::endl;
73 template<
typename MODEL>
75 Log::trace() <<
"PseudoModel<MODEL>::~PseudoModel done" << std::endl;
80 template<
typename MODEL>
82 Log::info() <<
"PseudoModel<MODEL>:initialize Starting " << std::endl;
83 Log::trace() <<
"PseudoModel<MODEL>::initialize done" << std::endl;
88 template<
typename MODEL>
90 Log::info() <<
"PseudoModel<MODEL>:step Starting " << std::endl;
91 xx.updateTime(tstep_);
92 Log::trace() <<
"PseudoModel<MODEL>::step done" << std::endl;
97 template<
typename MODEL>
99 Log::info() <<
"PseudoModel<MODEL>:finalize Starting " << std::endl;
100 Log::trace() <<
"PseudoModel<MODEL>::finalize done" << std::endl;
107 #endif // OOPS_GENERIC_PSEUDOMODEL_H_ MODEL::Geometry Geometry_
Encapsulates a pseudo forecast model.
void initialize(State_ &) const override
Encapsulates the model state.
void finalize(State_ &) const override
The namespace for the main oops code.
subroutine, public info(self)
const util::Duration tstep_
void print(std::ostream &) const override
const util::Duration & timeResolution() const override
void step(State_ &, const ModelAux_ &) const override
Base class for encapsulation of the forecast model.
MODEL::ModelAuxControl ModelAux_
PseudoModel(const Geometry_ &, const eckit::Configuration &)
static const std::string classname()