OOPS
ObsLocGC99.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2020-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 LORENZ95_OBSLOCGC99_H_
9 #define LORENZ95_OBSLOCGC99_H_
10 
11 #include <ostream>
12 
13 #include "eckit/config/Configuration.h"
15 
16 #include "lorenz95/L95Traits.h"
17 
18 // Forward declarations
19 namespace lorenz95 {
20  class Iterator;
21  class ObsTable;
22  class ObsVec1D;
23 
24 /// Observation space localization for Lorenz 95 model (Gaspari-Cohn)
25 class ObsLocGC99: public oops::ObsLocalizationBase<L95Traits, L95ObsTraits> {
26  public:
27  ObsLocGC99(const eckit::Configuration &, const ObsTable &);
28 
29  /// compute localization and save localization values in \p locfactor
30  /// (missing value is for obs outside of localization)
31  void computeLocalization(const Iterator &, ObsVec1D & locfactor) const override;
32 
33  private:
34  void print(std::ostream &) const override;
35 
36  /// Gaspari-Cohn localization distance (localization goes to zero at rscale_)
37  const double rscale_;
38 
39  /// ObsSpace associated with the observations
40  const ObsTable & obsdb_;
41 };
42 // -----------------------------------------------------------------------------
43 } // namespace lorenz95
44 
45 #endif // LORENZ95_OBSLOCGC99_H_
Observation space localization for Lorenz 95 model (Gaspari-Cohn)
Definition: ObsLocGC99.h:25
const double rscale_
Gaspari-Cohn localization distance (localization goes to zero at rscale_)
Definition: ObsLocGC99.h:37
const ObsTable & obsdb_
ObsSpace associated with the observations.
Definition: ObsLocGC99.h:40
ObsLocGC99(const eckit::Configuration &, const ObsTable &)
Definition: ObsLocGC99.cc:31
void print(std::ostream &) const override
Definition: ObsLocGC99.cc:54
void computeLocalization(const Iterator &, ObsVec1D &locfactor) const override
Definition: ObsLocGC99.cc:38
A Simple Observation Data Handler.
Definition: ObsTable.h:67
Vector in observation space.
Definition: ObsVec1D.h:33
The namespace for the L95 model.