FV3 Bundle
ModelBiasIncrementFV3JEDI.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 SRC_MODEL_MODELBIASINCREMENTFV3JEDI_H_
9 #define SRC_MODEL_MODELBIASINCREMENTFV3JEDI_H_
10 
11 #include <iostream>
12 
13 #include "oops/util/Printable.h"
14 
15 namespace eckit {
16  class Configuration;
17 }
18 
19 namespace fv3jedi {
20  class ModelBiasFV3JEDI;
21  class ModelBiasCovarianceFV3JEDI;
22  class GeometryFV3JEDI;
23 
24 // -----------------------------------------------------------------------------
25 
26 class ModelBiasIncrementFV3JEDI : public util::Printable {
27  public:
28 /// Constructor, destructor
30  const eckit::Configuration &) {}
32  const bool) {}
34  const eckit::Configuration &) {}
36 
37 /// Linear algebra operators
38  void diff(const ModelBiasFV3JEDI &, const ModelBiasFV3JEDI &) {}
39  void zero() {}
41  ModelBiasIncrementFV3JEDI &) {return *this;}
43  ModelBiasIncrementFV3JEDI &) {return *this;}
45  ModelBiasIncrementFV3JEDI &) {return *this;}
46  ModelBiasIncrementFV3JEDI & operator*=(const double) {return *this;}
47  void axpy(const double, const ModelBiasIncrementFV3JEDI &) {}
49  const {return 0.0;}
50 
51 /// I/O and diagnostics
52  void read(const eckit::Configuration &) {}
53  void write(const eckit::Configuration &) const {}
54  double norm() const {return 0.0;}
55 
56  private:
58  void print(std::ostream & os) const {}
59 };
60 
61 // -----------------------------------------------------------------------------
62 
63 } // namespace fv3jedi
64 
65 #endif // SRC_MODEL_MODELBIASINCREMENTFV3JEDI_H_
void write(const eckit::Configuration &) const
ModelBiasIncrementFV3JEDI(const ModelBiasIncrementFV3JEDI &, const bool)
ModelBiasIncrementFV3JEDI(const GeometryFV3JEDI &, const eckit::Configuration &)
Constructor, destructor.
void diff(const ModelBiasFV3JEDI &, const ModelBiasFV3JEDI &)
Linear algebra operators.
double dot_product_with(const ModelBiasIncrementFV3JEDI &) const
void read(const eckit::Configuration &)
I/O and diagnostics.
ModelBiasIncrementFV3JEDI & operator*=(const double)
void axpy(const double, const ModelBiasIncrementFV3JEDI &)
Model error for the FV3JEDI model.
ModelBiasIncrementFV3JEDI & operator-=(const ModelBiasIncrementFV3JEDI &)
GeometryFV3JEDI handles geometry for FV3JEDI model.
ModelBiasIncrementFV3JEDI & operator+=(const ModelBiasIncrementFV3JEDI &)
ModelBiasIncrementFV3JEDI & operator=(const ModelBiasIncrementFV3JEDI &)
ModelBiasIncrementFV3JEDI(const ModelBiasIncrementFV3JEDI &, const eckit::Configuration &)