Go to the documentation of this file.
10 #include "eckit/exception/Exceptions.h"
12 #include "oops/util/Logger.h"
33 profileIndices_(profileIndices),
34 profileDataHandler_(profileDataHandler),
35 profileCheckValidator_(profileCheckValidator),
36 checks_(options.Checks.value())
39 auto it_checks = std::find(
checks_.begin(),
checks_.end(),
"Basic");
40 if (it_checks ==
checks_.end()) {
43 }
else if (it_checks !=
checks_.begin()) {
45 std::rotate(
checks_.begin(), it_checks, it_checks + 1);
53 std::unique_ptr<ProfileCheckBase> profileCheck =
60 profileCheck->runCheck();
63 profileCheck->fillValidator();
66 if (!profileCheck->getResult() &&
check ==
"Basic") {
72 throw eckit::NotImplemented(
"Have not implemented a check for " +
check, Here());
std::vector< std::string > checks_
Checks to perform.
Retrieve and store data for individual profiles. To do this, first the vector of values in the entire...
Determine indices of observations making up individual profiles. The indices are computed with respec...
ProfileDataHandler & profileDataHandler_
Profile data.
subroutine check(action, status)
Profile QC check validator.
const ProfileConsistencyCheckParameters & options_
Configurable parameters.
ProfileCheckValidator & profileCheckValidator_
Profile check validator.
ProfileChecker(const ProfileConsistencyCheckParameters &options, const ProfileIndices &profileIndices, ProfileDataHandler &profileDataHandler, ProfileCheckValidator &profileCheckValidator)
void setBasicCheckResult(bool result)
Set basic check result.
oops::Parameter< bool > compareWithOPS
Compare with OPS values?
Options controlling the operation of the ProfileConsistencyChecks filter.
void runChecks()
Run all checks requested.
const ProfileIndices & profileIndices_
Indices of profile's observations in the entire sample.
static std::unique_ptr< ProfileCheckBase > create(const std::string &, const ProfileConsistencyCheckParameters &, const ProfileIndices &, ProfileDataHandler &, ProfileCheckValidator &)