FV3 Bundle
ufo/src/ufo/ObsCheck.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017-2018 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 UFO_OBSCHECK_H_
9 #define UFO_OBSCHECK_H_
10 
11 #include <ostream>
12 #include <string>
13 
14 #include "Fortran.h"
15 #include "FortranObsCheck.h"
16 #include "oops/util/DateTime.h"
17 #include "oops/util/ObjectCounter.h"
18 #include "oops/util/Printable.h"
19 
20 namespace eckit {
21  class Configuration;
22 }
23 
24 namespace oops {
25  class Variables;
26 }
27 
28 namespace ioda {
29  class ObsSpace;
30  class ObsVector;
31 }
32 
33 namespace ufo {
34  class GeoVaLs;
35 
36 /// ObsCheck: check observation for quality
37 
38 class ObsCheck : public util::Printable,
39  private util::ObjectCounter<ObsCheck> {
40  public:
41  static const std::string classname() {return "ufo::ObsCheck";}
42 
43  ObsCheck(const ioda::ObsSpace &, const oops::Variables &,
44  const util::DateTime &, const util::DateTime &);
45  explicit ObsCheck(const ioda::ObsSpace &);
46  explicit ObsCheck(const eckit::Configuration &);
47 
48  ~ObsCheck();
49 
50  void postFilter(const GeoVaLs &, const ioda::ObsVector &, const ioda::ObsSpace &) const;
51  void priorFilter(const ioda::ObsSpace &) const;
52 
53  int & toFortran() {return keyObsCheck_;}
54  const int & toFortran() const {return keyObsCheck_;}
55 
56  private:
57  void print(std::ostream &) const;
59 };
60 
61 } // namespace ufo
62 
63 #endif // UFO_OBSCHECK_H_
ObsVector class to handle vectors in observation space for IODA.
ObsCheck: check observation for quality.
void print(std::ostream &) const
Definition: ObsCheck.cc:59
void priorFilter(const ioda::ObsSpace &) const
Definition: ObsCheck.cc:74
Wrapper around ObsHelpQG, mostly to hide the factory.
The namespace for the main oops code.
GeoVaLs: geophysical values at locations.
void postFilter(const GeoVaLs &, const ioda::ObsVector &, const ioda::ObsSpace &) const
Definition: ObsCheck.cc:65
ObsCheck(const ioda::ObsSpace &, const oops::Variables &, const util::DateTime &, const util::DateTime &)
Definition: ObsCheck.cc:25
const int & toFortran() const
static const std::string classname()