Go to the documentation of this file.
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;
102 #endif // OOPS_INTERFACE_ANALYTICINIT_H_
The namespace for the main oops code.
const GeoVaLs_ & geovals() const
Interfacing.
Initializes GeoVaLs with analytic formula.
~AnalyticInit()
destructor and copy/move constructors/assignments
AnalyticInit & operator=(const AnalyticInit &)=delete
AnalyticInit & operator=(AnalyticInit &&)=delete
static const std::string classname()
std::unique_ptr< AnalyticInit_ > analytic_
void fillGeoVaLs(const Locations_ &, GeoVaLs_ &) const
Fill GeoVaLs with values computed by analytic function.
const Locations_ & locations() const
Interfacing.
AnalyticInit(AnalyticInit &&)=delete
Locations< OBS > Locations_
AnalyticInit(const eckit::Configuration &)
constructor (parameters from config)
Locations of observations for observation operator.
OBS::AnalyticInit AnalyticInit_
AnalyticInit(const AnalyticInit &)=delete