12 static ProfileCheckMaker<ProfileSondeFlags>
26 std::vector <int> &tFlags =
28 std::vector <int> &rhFlags =
30 std::vector <int> &uFlags =
32 std::vector <int> &vFlags =
34 const std::vector <int> &ObsType =
36 const std::vector <int> &LevelType =
39 if (!oops::allVectorsSameNonZeroSize(tFlags, rhFlags, uFlags, vFlags,
40 ObsType, LevelType)) {
41 oops::Log::warning() <<
"At least one vector is the wrong size. "
42 <<
"Check will not be performed." << std::endl;
43 oops::Log::warning() <<
"Vector sizes: "
44 << oops::listOfVectorSizes(tFlags, rhFlags, uFlags, vFlags,
73 for (
size_t jlev = 0; jlev < numProfileLevels; ++jlev) {
77 if (LevelType[jlev] & IBSurface) {
79 tFlags, rhFlags, uFlags, vFlags);
83 if (LevelType[jlev] & IBStandard || LevelType[jlev] & IBStandardX) {
85 tFlags, rhFlags, uFlags, vFlags);
89 if (LevelType[jlev] & IBTropopause) {
91 tFlags, rhFlags, uFlags, vFlags);
95 if (LevelType[jlev] & IBMaxWind) {
101 if (LevelType[jlev] & IBSigTemp) {
106 if (LevelType[jlev] & IBSigWind) {
Options controlling the operation of the ConventionalProfileProcessing filter.
Profile QC checker base class.
void SetQCFlag(const int &flag, const size_t &jlev, std::vector< T > &vec)
const int missingValueInt
Missing value (int)
Retrieve and store data for individual profiles. To do this, first the vector of values in the entire...
std::vector< T > & get(const std::string &fullname)
int getNumProfileLevels() const
Return number of levels to which QC checks should be applied.
void runCheck(ProfileDataHandler &profileDataHandler) override
Run check.
ProfileSondeFlags(const ConventionalProfileProcessingParameters &options)
@ BUFRMaxWind
Maximum wind level.
@ BUFRSigTemp
Significant temperature level.
@ BUFRStandardX
Semi-standard level, grouped with standard levels in this case.
@ TEMPMaxWind
Maximum wind level.
@ TEMPSurface
Surface level.
@ TEMPSigWind
Significant wind level.
@ BUFRTropopause
Tropopause level.
@ TEMPSigTemp
Significant temperature level.
@ TEMPTropopause
Tropopause level.
@ TEMPStandard
Standard level.
@ BUFRSurface
Surface level.
@ BUFRSigWind
Significant wind level.
@ TEMPStandardX
Semi-standard level.
@ BUFRStandard
Standard level.
@ TropopauseFlag
Tropopause Level.
@ MaxWindLevelFlag
Maximum Wind Level.
@ SurfaceLevelFlag
Surface Level.
@ SigTempLevelFlag
Significant Temperature.
@ StandardLevelFlag
Standard Level.
@ SigWindLevelFlag
Significant Wind Level.
static ProfileCheckMaker< ProfileSondeFlags > makerProfileSondeFlags_("SondeFlags")
static constexpr const char *const qcflags_eastward_wind
static constexpr const char *const qcflags_northward_wind
static constexpr const char *const qcflags_relative_humidity
static constexpr const char *const ObsType
static constexpr const char *const qcflags_air_temperature
static constexpr const char *const LevelType