17 #include "eckit/exception/Exceptions.h"
19 #include "oops/util/DateTime.h"
20 #include "oops/util/Logger.h"
21 #include "oops/util/ObjectCounter.h"
22 #include "oops/util/Printable.h"
23 #include "oops/util/Timer.h"
25 #include "ufo/GeoVaLs.h"
26 #include "ufo/Locations.h"
41 class VarChaModel2GeoVars;
42 class LinVarChaModel2GeoVars;
47 private util::ObjectCounter<LinearGetValues> {
49 static const std::string
classname() {
return "mpas::LinearGetValues";}
52 const eckit::Configuration &);
56 const util::DateTime & t2, ufo::GeoVaLs & geovals);
58 const util::DateTime & t2, ufo::GeoVaLs & geovals)
const;
60 const util::DateTime & t2,
61 const ufo::GeoVaLs & geovals)
const;
66 typedef std::map< util::DateTime, LinVarChaModel2GeoVars * >::iterator
lvcIter;
67 typedef std::map< util::DateTime, LinVarChaModel2GeoVars * >::const_iterator
lvcIterCnst;
69 void print(std::ostream &)
const;
72 std::shared_ptr<const GeometryMPAS>
geom_;
GeometryMPAS handles geometry for MPAS model.
Increment Class: Difference between two states.
LinearGetValues(const GeometryMPAS &, const ufo::Locations &, const eckit::Configuration &)
std::map< util::DateTime, LinVarChaModel2GeoVars * >::const_iterator lvcIterCnst
std::unique_ptr< VarChaModel2GeoVars > model2geovars_
std::map< util::DateTime, LinVarChaModel2GeoVars * > linearmodel2geovars_
std::shared_ptr< const GeometryMPAS > geom_
virtual ~LinearGetValues()
static const std::string classname()
void setTrajectory(const StateMPAS &state, const util::DateTime &t1, const util::DateTime &t2, ufo::GeoVaLs &geovals)
F90lineargetvalues keyLinearGetValues_
std::map< util::DateTime, LinVarChaModel2GeoVars * >::iterator lvcIter
void fillGeoVaLsTL(const IncrementMPAS &inc, const util::DateTime &t1, const util::DateTime &t2, ufo::GeoVaLs &geovals) const
void print(std::ostream &) const
const LinVarChaModel2GeoVars * getLinVarCha(const util::DateTime &) const
void fillGeoVaLsAD(IncrementMPAS &inc, const util::DateTime &t1, const util::DateTime &t2, const ufo::GeoVaLs &geovals) const