8 #ifndef OOPS_INTERFACE_ANALYTICINIT_H_
9 #define OOPS_INTERFACE_ANALYTICINIT_H_
14 #include "eckit/config/Configuration.h"
17 #include "oops/util/ObjectCounter.h"
18 #include "oops/util/Timer.h"
23 template <
typename OBS>
24 class AnalyticInit :
private util::ObjectCounter<AnalyticInit<OBS> > {
30 static const std::string
classname() {
return "oops::AnalyticInit";}
51 template<
typename OBS>
53 Log::trace() <<
"AnalyticInit<OBS>::AnalyticInit starting" << std::endl;
54 util::Timer timer(classname(),
"AnalyticInit");
56 Log::trace() <<
"AnalyticInit<OBS>::AnalyticInit done" << std::endl;
61 template<
typename OBS>
63 Log::trace() <<
"AnalyticInit<OBS>::~AnalyticInit starting" << std::endl;
64 util::Timer timer(classname(),
"~AnalyticInit");
66 Log::trace() <<
"AnalyticInit<OBS>::~AnalyticInit done" << std::endl;
90 template<
typename OBS>
92 Log::trace() <<
"AnalyticInit<OBS>::fillGeoVaLs starting" << std::endl;
93 util::Timer timer(classname(),
"fillGeoVaLs");
95 Log::trace() <<
"AnalyticInit<OBS>::fillGeoVaLs done" << std::endl;
Initializes GeoVaLs with analytic formula.
static const std::string classname()
AnalyticInit(const eckit::Configuration &)
constructor (parameters from config)
AnalyticInit & operator=(AnalyticInit &&)=delete
AnalyticInit & operator=(const AnalyticInit &)=delete
std::unique_ptr< AnalyticInit_ > analytic_
AnalyticInit(AnalyticInit &&)=delete
void fillGeoVaLs(const Locations_ &, GeoVaLs_ &) const
Fill GeoVaLs with values computed by analytic function.
OBS::AnalyticInit AnalyticInit_
~AnalyticInit()
destructor and copy/move constructors/assignments
Locations< OBS > Locations_
AnalyticInit(const AnalyticInit &)=delete
const GeoVaLs_ & geovals() const
Interfacing.
Locations of observations for observation operator.
const Locations_ & locations() const
Interfacing.
The namespace for the main oops code.