OOPS
ObsLocQG.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2021 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 QG_MODEL_OBSLOCQG_H_
9 #define QG_MODEL_OBSLOCQG_H_
10 
11 #include <ostream>
12 
14 
15 #include "oops/qg/QgTraits.h"
16 
17 namespace eckit {
18  class Configuration;
19 }
20 
21 namespace qg {
22  class GeometryQGIterator;
23  class ObsSpaceQG;
24  class ObsVecQG;
25 
26 /// \brief Observation-space localization for QG model (Heaviside function
27 /// with prescribed lengthscale).
28 class ObsLocQG : public oops::ObsLocalizationBase<QgTraits, QgObsTraits> {
29  public:
30  ObsLocQG(const eckit::Configuration &, const ObsSpaceQG &);
31 
32  void computeLocalization(const GeometryQGIterator &, ObsVecQG &) const override;
33 
34  private:
35  void print(std::ostream &) const override;
36  const double lengthscale_;
37  const ObsSpaceQG & obsdb_;
38 };
39 
40 } // namespace qg
41 
42 #endif // QG_MODEL_OBSLOCQG_H_
Observation-space localization for QG model (Heaviside function with prescribed lengthscale).
Definition: ObsLocQG.h:28
const ObsSpaceQG & obsdb_
Definition: ObsLocQG.h:37
void computeLocalization(const GeometryQGIterator &, ObsVecQG &) const override
Definition: ObsLocQG.cc:39
ObsLocQG(const eckit::Configuration &, const ObsSpaceQG &)
Definition: ObsLocQG.cc:32
void print(std::ostream &) const override
Definition: ObsLocQG.cc:58
const double lengthscale_
Definition: ObsLocQG.h:36
ObsSpace for QG model.
Definition: ObsSpaceQG.h:81
ObsVecQG class to handle vectors in observation space for QG model.
Definition: ObsVecQG.h:32
Definition: FieldL95.h:22
The namespace for the qg model.