UFO
ProfileCheckUInterpAlternative.h
Go to the documentation of this file.
1 /*
2  * (C) Crown copyright 2021, 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_PROFILECHECKUINTERPALTERNATIVE_H_
9 #define UFO_PROFILE_PROFILECHECKUINTERPALTERNATIVE_H_
10 
11 #include <algorithm>
12 #include <string>
13 #include <utility>
14 #include <vector>
15 
19 
20 namespace ufo {
21  class ConventionalProfileProcessingParameters;
22 }
23 
24 namespace ufo {
25 
26  /// \brief Profile QC: alternative wind speed interpolation check.
27  /// This check is passed all of the profiles in the sample and runs on each in sequence.
28  /// This check is otherwise identical to the ProfileCheckUInterp.
30  private ProfileStandardLevels {
31  public:
34 
35  /// Run check on all profiles.
36  void runCheck(ProfileDataHandler &profileDataHandler) override;
37 
38  /// Run check on an individual profile.
40 
41  /// Fill variables in validator
42  void fillValidationData(ProfileDataHolder &profileDataHolder);
43 
44  /// Run this check on the entire sample?
45  bool runOnEntireSample() override {return true;}
46 
47  private:
48  /// Number of failed checks by level
49  std::vector <int> LevErrors_;
50 
51  /// Interpolated value of u
52  std::vector <float> uInterp_;
53 
54  /// Interpolated value of v
55  std::vector <float> vInterp_;
56  };
57 } // namespace ufo
58 
59 #endif // UFO_PROFILE_PROFILECHECKUINTERPALTERNATIVE_H_
Options controlling the operation of the ConventionalProfileProcessing filter.
Profile QC checker base class.
Profile QC: alternative wind speed interpolation check. This check is passed all of the profiles in t...
std::vector< float > uInterp_
Interpolated value of u.
void runCheckOnProfile(ProfileDataHolder &profile)
Run check on an individual profile.
void fillValidationData(ProfileDataHolder &profileDataHolder)
Fill variables in validator.
bool runOnEntireSample() override
Run this check on the entire sample?
std::vector< float > vInterp_
Interpolated value of v.
std::vector< int > LevErrors_
Number of failed checks by level.
void runCheck(ProfileDataHandler &profileDataHandler) override
Run check on all profiles.
ProfileCheckUInterpAlternative(const ConventionalProfileProcessingParameters &options)
Retrieve and store data for individual profiles. To do this, first the vector of values in the entire...
Profile data holder class.
Calculate standard levels.
constexpr int profile
Definition: QCflags.h:34
Definition: RunCRTM.h:27