SABER
LocalizationID.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017-2020 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 SABER_OOPS_LOCALIZATIONID_H_
9 #define SABER_OOPS_LOCALIZATIONID_H_
10 
11 #include <memory>
12 #include <sstream>
13 #include <string>
14 #include <vector>
15 
16 #include "eckit/config/Configuration.h"
17 
18 #include "oops/base/LocalizationBase.h"
19 #include "oops/util/Logger.h"
20 
21 namespace eckit {
22  class Configuration;
23 }
24 
25 namespace oops {
26  class Variables;
27 }
28 
29 namespace saber {
30 
31 // -----------------------------------------------------------------------------
32 /// Identity localization matrix.
33 
34 template<typename MODEL> class LocalizationID : public oops::LocalizationBase<MODEL> {
35  typedef oops::Geometry<MODEL> Geometry_;
36  typedef oops::Increment<MODEL> Increment_;
37 
38  public:
39  LocalizationID(const Geometry_ &,
40  const util::DateTime & time,
41  const eckit::Configuration &);
43 
44  void multiply(Increment_ &) const override;
45 
46  private:
47  void print(std::ostream &) const override;
48 };
49 
50 // =============================================================================
51 
52 template<typename MODEL>
54  const util::DateTime & time,
55  const eckit::Configuration & conf) {
56  oops::Log::trace() << "LocalizationID:LocalizationID constructed" << std::endl;
57 }
58 
59 // -----------------------------------------------------------------------------
60 
61 template<typename MODEL>
63  oops::Log::trace() << "LocalizationID:~LocalizationID destructed" << std::endl;
64 }
65 
66 // -----------------------------------------------------------------------------
67 
68 template<typename MODEL>
70  oops::Log::trace() << "LocalizationID:multiply done" << std::endl;
71 }
72 
73 // -----------------------------------------------------------------------------
74 
75 template<typename MODEL>
76 void LocalizationID<MODEL>::print(std::ostream & os) const {
77  os << "LocalizationID:print not implemeted yet";
78 }
79 
80 // -----------------------------------------------------------------------------
81 
82 } // namespace saber
83 
84 #endif // SABER_OOPS_LOCALIZATIONID_H_
oops
Definition: ErrorCovarianceBUMP.h:33
saber::LocalizationID::multiply
void multiply(Increment_ &) const override
Definition: LocalizationID.h:69
saber::LocalizationID::Increment_
oops::Increment< MODEL > Increment_
Definition: LocalizationID.h:36
saber::LocalizationID::LocalizationID
LocalizationID(const Geometry_ &, const util::DateTime &time, const eckit::Configuration &)
Definition: LocalizationID.h:53
saber
Definition: type_bump.h:22
saber::LocalizationID
Identity localization matrix.
Definition: LocalizationID.h:34
eckit
Definition: type_bump.h:18
saber::LocalizationID::print
void print(std::ostream &) const override
Definition: LocalizationID.h:76
saber::LocalizationID::~LocalizationID
~LocalizationID()
Definition: LocalizationID.h:62
saber::LocalizationID::Geometry_
oops::Geometry< MODEL > Geometry_
Definition: LocalizationID.h:35