8 #ifndef SOCA_GETVALUES_LINEARGETVALUES_H_
9 #define SOCA_GETVALUES_LINEARGETVALUES_H_
15 #include "oops/util/ObjectCounter.h"
16 #include "oops/util/Printable.h"
20 #include "ufo/Locations.h"
27 class LinearModel2GeoVaLs;
42 private util::ObjectCounter<LinearGetValues> {
44 static const std::string
classname() {
return "soca::LinearGetValues";}
48 const eckit::Configuration &);
53 const util::DateTime & t1,
54 const util::DateTime & t2,
55 ufo::GeoVaLs & geovals);
59 const util::DateTime & t1,
60 const util::DateTime & t2,
61 ufo::GeoVaLs & geovals)
const;
63 const util::DateTime & t1,
64 const util::DateTime & t2,
65 const ufo::GeoVaLs & geovals)
const;
68 void print(std::ostream &)
const;
71 std::shared_ptr<const Geometry>
geom_;
Geometry handles geometry for SOCA model.
Increment Class: Difference between two states.
std::unique_ptr< Model2GeoVaLs > model2geovals_
static const std::string classname()
F90getval keyLinearGetValues_
void print(std::ostream &) const
void fillGeoVaLsAD(Increment &inc, const util::DateTime &t1, const util::DateTime &t2, const ufo::GeoVaLs &geovals) const
LinearGetValues(const Geometry &, const ufo::Locations &, const eckit::Configuration &)
Constructor, destructor.
std::shared_ptr< const Geometry > geom_
void fillGeoVaLsTL(const Increment &inc, const util::DateTime &t1, const util::DateTime &t2, ufo::GeoVaLs &geovals) const
Forward and backward interpolation.
void setTrajectory(const State &state, const util::DateTime &t1, const util::DateTime &t2, ufo::GeoVaLs &geovals)
Trajectory for the linearized interpolation.
virtual ~LinearGetValues()
std::unique_ptr< LinearModel2GeoVaLs > linearmodel2geovals_
int F90getval
key type for soca_getvalues_mod::soca_getvalues