FV3 Bundle
ModelBiasCovarianceFV3JEDI.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_MODELBIASCOVARIANCEFV3JEDI_H_
9 #define SRC_MODEL_MODELBIASCOVARIANCEFV3JEDI_H_
10 
11 #include <ostream>
12 #include <string>
13 #include <boost/noncopyable.hpp>
14 
15 #include "eckit/config/LocalConfiguration.h"
16 #include "oops/util/ObjectCounter.h"
17 #include "oops/util/Printable.h"
18 
19 namespace fv3jedi {
20  class ModelBiasFV3JEDI;
21  class ModelBiasIncrementFV3JEDI;
22  class GeometryFV3JEDI;
23 
24 // -----------------------------------------------------------------------------
25 
26 class ModelBiasCovarianceFV3JEDI : public util::Printable,
27  private boost::noncopyable,
28  private util::ObjectCounter<ModelBiasCovarianceFV3JEDI> {
29  public:
30  static const std::string classname()
31  {return "fv3jedi::ModelBiasCovarianceFV3JEDI";}
32 
33 /// Constructor, destructor
34  ModelBiasCovarianceFV3JEDI(const eckit::Configuration & conf,
35  const GeometryFV3JEDI &): conf_(conf) {}
37 
38 /// Linear algebra operators
39  void linearize(const ModelBiasFV3JEDI &, const GeometryFV3JEDI &) {}
45 
46  const eckit::Configuration & config() const {return conf_;}
47 
48  private:
49  void print(std::ostream & os) const {}
50  const eckit::LocalConfiguration conf_;
51 };
52 
53 // -----------------------------------------------------------------------------
54 
55 } // namespace fv3jedi
56 
57 #endif // SRC_MODEL_MODELBIASCOVARIANCEFV3JEDI_H_
void linearize(const ModelBiasFV3JEDI &, const GeometryFV3JEDI &)
Linear algebra operators.
void multiply(const ModelBiasIncrementFV3JEDI &, ModelBiasIncrementFV3JEDI) const
Definition: conf.py:1
void randomize(ModelBiasIncrementFV3JEDI &) const
Model error for the FV3JEDI model.
GeometryFV3JEDI handles geometry for FV3JEDI model.
const eckit::LocalConfiguration conf_
void inverseMultiply(const ModelBiasIncrementFV3JEDI &, ModelBiasIncrementFV3JEDI) const
ModelBiasCovarianceFV3JEDI(const eckit::Configuration &conf, const GeometryFV3JEDI &)
Constructor, destructor.
const eckit::Configuration & config() const