8 #ifndef MPASJEDI_STATEMPAS_H_
9 #define MPASJEDI_STATEMPAS_H_
16 #include "oops/base/Variables.h"
17 #include "oops/util/DateTime.h"
18 #include "oops/util/ObjectCounter.h"
19 #include "oops/util/Printable.h"
20 #include "oops/util/Serializable.h"
39 class GetValuesTrajMPAS;
50 public util::Serializable,
51 private util::ObjectCounter<StateMPAS> {
53 static const std::string
classname() {
return "mpas::StateMPAS";}
57 const util::DateTime &);
76 void serialize(std::vector<double> &)
const override;
77 void deserialize(
const std::vector<double> &,
size_t &)
override;
80 void read(
const eckit::Configuration &);
82 void write(
const eckit::Configuration &)
const;
98 void print(std::ostream &)
const override;
100 std::shared_ptr<const GeometryMPAS>
geom_;
GeometryMPAS handles geometry for MPAS model.
Increment Class: Difference between two states.
void zero()
For accumulator.
static const std::string classname()
const oops::Variables & variables() const
void write(const eckit::Configuration &) const
std::shared_ptr< const GeometryMPAS > geom_
const int & toFortran() const
void read(const eckit::Configuration &)
I/O and diagnostics.
void accumul(const double &, const StateMPAS &)
StateMPAS(const GeometryMPAS &, const oops::Variables &, const util::DateTime &)
Constructor, destructor.
const util::DateTime & time() const
void analytic_init(const eckit::Configuration &, const GeometryMPAS &)
std::shared_ptr< const GeometryMPAS > geometry() const
void serialize(std::vector< double > &) const override
void print(std::ostream &) const override
util::DateTime & validTime()
size_t serialSize() const override
Serialization.
StateMPAS & operator=(const StateMPAS &)
Basic operators.
void changeResolution(const StateMPAS &xx)
Interpolate full fields.
oops::Variables stateVars()
void deserialize(const std::vector< double > &, size_t &) override
void updateTime(const util::Duration &dt)
const util::DateTime & validTime() const
StateMPAS & operator+=(const IncrementMPAS &)
Interactions with Increment.