UFO
ProfileChecker.h
Go to the documentation of this file.
1 /*
2  * (C) Crown copyright 2020, Met Office
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_PROFILE_PROFILECHECKER_H_
9 #define UFO_PROFILE_PROFILECHECKER_H_
10 
11 #include <memory>
12 #include <ostream>
13 #include <string>
14 #include <vector>
15 
17 
18 namespace ufo {
19  class ProfileCheckValidator;
20  class ProfileDataHandler;
21  class ProfileIndices;
22 }
23 
24 namespace ufo {
25 
26  /// \brief Profile QC checker
27  ///
28  /// Runs the various QC checks on individual profiles and modifies flags accordingly.
30  public:
32  const ProfileIndices &profileIndices,
33  ProfileDataHandler &profileDataHandler,
34  ProfileCheckValidator &profileCheckValidator);
35 
36  /// Run all checks requested
37  void runChecks();
38 
39  /// Get basic check result
41 
42  /// Set basic check result
43  void setBasicCheckResult(bool result) {basicCheckResult_ = result;}
44 
45  private:
46  /// Configurable parameters
48 
49  /// Indices of profile's observations in the entire sample
51 
52  /// Profile data
54 
55  /// Profile check validator
57 
58  /// Checks to perform
59  std::vector <std::string> checks_;
60 
61  /// Basic check result
62  bool basicCheckResult_ = true;
63  };
64 } // namespace ufo
65 
66 #endif // UFO_PROFILE_PROFILECHECKER_H_
ufo::ProfileChecker::checks_
std::vector< std::string > checks_
Checks to perform.
Definition: ProfileChecker.h:59
ufo::ProfileDataHandler
Retrieve and store data for individual profiles. To do this, first the vector of values in the entire...
Definition: ProfileDataHandler.h:40
ufo::ProfileIndices
Determine indices of observations making up individual profiles. The indices are computed with respec...
Definition: ProfileIndices.h:39
ufo::ProfileChecker::profileDataHandler_
ProfileDataHandler & profileDataHandler_
Profile data.
Definition: ProfileChecker.h:53
ufo::ProfileCheckValidator
Profile QC check validator.
Definition: ProfileCheckValidator.h:27
ufo::ProfileChecker::options_
const ProfileConsistencyCheckParameters & options_
Configurable parameters.
Definition: ProfileChecker.h:47
ProfileConsistencyCheckParameters.h
ufo::ProfileChecker::profileCheckValidator_
ProfileCheckValidator & profileCheckValidator_
Profile check validator.
Definition: ProfileChecker.h:56
ufo::ProfileChecker::ProfileChecker
ProfileChecker(const ProfileConsistencyCheckParameters &options, const ProfileIndices &profileIndices, ProfileDataHandler &profileDataHandler, ProfileCheckValidator &profileCheckValidator)
Definition: ProfileChecker.cc:28
ufo::ProfileChecker::setBasicCheckResult
void setBasicCheckResult(bool result)
Set basic check result.
Definition: ProfileChecker.h:43
ufo
Definition: RunCRTM.h:27
ufo::ProfileChecker
Profile QC checker.
Definition: ProfileChecker.h:29
ufo::ProfileChecker::basicCheckResult_
bool basicCheckResult_
Basic check result.
Definition: ProfileChecker.h:62
ufo::ProfileConsistencyCheckParameters
Options controlling the operation of the ProfileConsistencyChecks filter.
Definition: ProfileConsistencyCheckParameters.h:33
ufo::ProfileChecker::runChecks
void runChecks()
Run all checks requested.
Definition: ProfileChecker.cc:49
ufo::ProfileChecker::profileIndices_
const ProfileIndices & profileIndices_
Indices of profile's observations in the entire sample.
Definition: ProfileChecker.h:50
ufo::ProfileChecker::getBasicCheckResult
bool getBasicCheckResult()
Get basic check result.
Definition: ProfileChecker.h:40