34 const std::vector <float> &pressures =
38 std::vector <int> &tFlags = profileDataHandler.
get<
int>
40 std::vector <int> &zFlags = profileDataHandler.
get<
int>
42 std::vector <int> &uFlags = profileDataHandler.
get<
int>
46 if (pressures.empty()) {
53 bool numProfileLevelsOK = (numProfileLevels > 0);
56 bool pressOrderOK =
true;
57 for (
int jlev = 0; jlev < numProfileLevels - 1; ++jlev) {
58 pressOrderOK = pressOrderOK && (pressures[jlev] >= pressures[jlev + 1]);
59 if (!pressOrderOK)
break;
63 bool maxPressOK = (pressures.size() > 0 ?
68 bool minPressOK = (pressures.size() > 0 ?
72 oops::Log::debug() <<
" -> numProfileLevelsOK: " << numProfileLevelsOK << std::endl;
77 result_ = numProfileLevelsOK && pressOrderOK && maxPressOK && minPressOK;
83 for (
int jlev = 0; jlev < numProfileLevels; ++jlev) {
Options controlling the operation of the ConventionalProfileProcessing filter.
oops::Parameter< bool > BChecks_Skip
oops::Parameter< float > BChecks_maxValidP
Maximum value of pressure (Pa)
oops::Parameter< float > BChecks_minValidP
Minimum value of pressure (Pa)
oops::Parameter< bool > flagBasicChecksFail
Set flags for failed basic checks?
Profile QC checker base class.
const ConventionalProfileProcessingParameters & options_
Configurable parameters.
ProfileCheckBasic(const ConventionalProfileProcessingParameters &options)
bool result_
Result of basic checks.
void runCheck(ProfileDataHandler &profileDataHandler) override
Run check.
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.
@ FinalRejectFlag
Final QC flag.
static ProfileCheckMaker< ProfileCheckBasic > makerProfileCheckBasic_("Basic")
static constexpr const char *const qcflags_eastward_wind
static constexpr const char *const obs_air_pressure
static constexpr const char *const qcflags_air_temperature
static constexpr const char *const qcflags_geopotential_height