8 #ifndef MPASJEDI_INCREMENTMPAS_H_
9 #define MPASJEDI_INCREMENTMPAS_H_
16 #include "atlas/field.h"
18 #include "oops/base/Variables.h"
19 #include "oops/util/DateTime.h"
20 #include "oops/util/dot_product.h"
21 #include "oops/util/Duration.h"
22 #include "oops/util/ObjectCounter.h"
23 #include "oops/util/Printable.h"
24 #include "oops/util/Serializable.h"
43 class GetValuesTrajMPAS;
56 public util::Serializable,
57 private util::ObjectCounter<IncrementMPAS> {
59 static const std::string
classname() {
return "mpas::IncrementMPAS";}
63 const util::DateTime &);
72 void zero(
const util::DateTime &);
79 void axpy(
const double &,
const StateMPAS &,
const bool check =
true);
83 void dirac(
const eckit::Configuration &);
86 void setAtlas(atlas::FieldSet *)
const;
87 void toAtlas(atlas::FieldSet *)
const;
91 void read(
const eckit::Configuration &);
92 void write(
const eckit::Configuration &)
const;
112 void serialize(std::vector<double> &)
const override;
113 void deserialize(
const std::vector<double> &,
size_t &)
override;
117 void print(std::ostream &)
const override;
119 std::shared_ptr<const GeometryMPAS>
geom_;
GeometryMPAS handles geometry for MPAS model.
Increment Class: Difference between two states.
IncrementMPAS & operator=(const IncrementMPAS &)
static const std::string classname()
void schur_product_with(const IncrementMPAS &)
void setAtlas(atlas::FieldSet *) const
ATLAS.
void print(std::ostream &) const override
Data.
void accumul(const double &, const StateMPAS &)
Other.
size_t serialSize() const override
Serialization.
void deserialize(const std::vector< double > &, size_t &) override
void axpy(const double &, const IncrementMPAS &, const bool check=true)
double dot_product_with(const IncrementMPAS &) const
void read(const eckit::Configuration &)
I/O and diagnostics.
const util::DateTime & time() const
void updateTime(const util::Duration &dt)
void fromAtlas(atlas::FieldSet *)
void serialize(std::vector< double > &) const override
std::shared_ptr< const GeometryMPAS > geom_
const util::DateTime & validTime() const
void diff(const StateMPAS &, const StateMPAS &)
Basic operators.
void dirac(const eckit::Configuration &)
IncrementMPAS & operator*=(const double &)
void toAtlas(atlas::FieldSet *) const
IncrementMPAS & operator-=(const IncrementMPAS &)
void write(const eckit::Configuration &) const
util::DateTime & validTime()
IncrementMPAS(const GeometryMPAS &, const oops::Variables &, const util::DateTime &)
Constructor, destructor.
IncrementMPAS & operator+=(const IncrementMPAS &)
const int & toFortran() const
std::shared_ptr< const GeometryMPAS > geometry() const