FV3 Bundle
LocalizationMatrixQG.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2009-2016 ECMWF.
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  * In applying this licence, ECMWF does not waive the privileges and immunities
7  * granted to it by virtue of its status as an intergovernmental organisation nor
8  * does it submit to any jurisdiction.
9  */
10 
11 #ifndef QG_MODEL_LOCALIZATIONMATRIXQG_H_
12 #define QG_MODEL_LOCALIZATIONMATRIXQG_H_
13 
14 #include <ostream>
15 #include <string>
16 
17 #include "eckit/config/Configuration.h"
19 #include "oops/util/ObjectCounter.h"
20 
21 #include "model/GeometryQG.h"
22 #include "model/QgFortran.h"
23 #include "model/QgTraits.h"
24 
25 // Forward declarations
26 namespace qg {
27  class GeometryQG;
28  class IncrementQG;
29 
30 /// Localization matrix for QG model.
31 
32 // -----------------------------------------------------------------------------
34  private util::ObjectCounter<LocalizationMatrixQG> {
35  public:
36  static const std::string classname() {return "qg::LocalizationMatrixQG";}
37 
38  LocalizationMatrixQG(const GeometryQG &, const eckit::Configuration &);
40 
41  void multiply(IncrementQG &) const;
42 
43  private:
44  void print(std::ostream &) const;
46 };
47 // -----------------------------------------------------------------------------
48 
49 } // namespace qg
50 
51 #endif // QG_MODEL_LOCALIZATIONMATRIXQG_H_
void print(std::ostream &) const
LocalizationMatrixQG(const GeometryQG &, const eckit::Configuration &)
static const std::string classname()
Localization matrix for QG model.
int F90lclz
Definition: QgFortran.h:52
Base class for localizations.
void multiply(IncrementQG &) const
GeometryQG handles geometry for QG model.
Definition: GeometryQG.h:33
The namespace for the qg model.
Increment Class: Difference between two states.
Definition: IncrementQG.h:55