MPAS-JEDI
ModelBiasIncrementMPAS.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017 UCAR
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #ifndef MPASJEDI_MODELBIASINCREMENTMPAS_H_
9 #define MPASJEDI_MODELBIASINCREMENTMPAS_H_
10 
11 #include <iostream>
12 #include <vector>
13 
14 #include "eckit/config/Configuration.h"
15 
16 #include "oops/util/Printable.h"
17 #include "oops/util/Serializable.h"
18 
19 namespace mpas {
20  class ModelBiasMPAS;
21  class ModelBiasCovarianceMPAS;
22  class GeometryMPAS;
23 
24 
25 // -----------------------------------------------------------------------------
26 
27 class ModelBiasIncrementMPAS : public util::Printable,
28  public util::Serializable {
29  public:
30 /// Constructor, destructor
31  ModelBiasIncrementMPAS(const GeometryMPAS &, const eckit::Configuration &) {}
34  const eckit::Configuration &) {}
36 
37 /// Linear algebra operators
38  void diff(const ModelBiasMPAS &, const ModelBiasMPAS &) {}
39  void zero() {}
41  {return *this;}
43  {return *this;}
45  {return *this;}
46  ModelBiasIncrementMPAS & operator*=(const double) {return *this;}
47  void axpy(const double, const ModelBiasIncrementMPAS &) {}
48  double dot_product_with(const ModelBiasIncrementMPAS &) const {return 0.0;}
49 
50 /// I/O and diagnostics
51  void read(const eckit::Configuration &) {}
52  void write(const eckit::Configuration &) const {}
53  double norm() const {return 0.0;}
54 
55 /// Serialization
56  size_t serialSize() const override { return 0; }
57  void serialize(std::vector<double> &) const override {}
58  void deserialize(const std::vector<double> &, size_t &) override {}
59 
60  private:
62  void print(std::ostream & os) const override {}
63 };
64 
65 // -----------------------------------------------------------------------------
66 
67 } // namespace mpas
68 
69 #endif // MPASJEDI_MODELBIASINCREMENTMPAS_H_
GeometryMPAS handles geometry for MPAS model.
Definition: GeometryMPAS.h:37
double dot_product_with(const ModelBiasIncrementMPAS &) const
void print(std::ostream &os) const override
ModelBiasIncrementMPAS(const ModelBiasCovarianceMPAS &)
ModelBiasIncrementMPAS & operator=(const ModelBiasIncrementMPAS &)
ModelBiasIncrementMPAS & operator-=(const ModelBiasIncrementMPAS &)
ModelBiasIncrementMPAS(const ModelBiasIncrementMPAS &, const eckit::Configuration &)
size_t serialSize() const override
Serialization.
ModelBiasIncrementMPAS & operator+=(const ModelBiasIncrementMPAS &)
ModelBiasIncrementMPAS & operator*=(const double)
void axpy(const double, const ModelBiasIncrementMPAS &)
ModelBiasIncrementMPAS(const GeometryMPAS &, const eckit::Configuration &)
Constructor, destructor.
ModelBiasIncrementMPAS(const ModelBiasIncrementMPAS &, const bool)
void deserialize(const std::vector< double > &, size_t &) override
void diff(const ModelBiasMPAS &, const ModelBiasMPAS &)
Linear algebra operators.
void serialize(std::vector< double > &) const override
void read(const eckit::Configuration &)
I/O and diagnostics.
void write(const eckit::Configuration &) const
Model error for the MPAS model.
Definition: ModelBiasMPAS.h:38