UFO
|
Profile QC checks. More...
#include <ProfileConsistencyChecks.h>
Public Member Functions | |
ProfileConsistencyChecks (ioda::ObsSpace &, const eckit::Configuration &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
~ProfileConsistencyChecks () | |
std::vector< int > | getMismatches () const |
![]() | |
FilterBase (ioda::ObsSpace &, const eckit::Configuration &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
~FilterBase () | |
void | preProcess () |
void | priorFilter (const GeoVaLs &) |
void | postFilter (const ioda::ObsVector &, const ObsDiagnostics &) |
oops::Variables | requiredVars () const |
oops::Variables | requiredHdiagnostics () const |
Static Public Member Functions | |
static const std::string | classname () |
Private Member Functions | |
void | print (std::ostream &) const override |
void | applyFilter (const std::vector< bool > &, const Variables &, std::vector< std::vector< bool >> &) const override |
int | qcFlag () const override |
Private Attributes | |
std::unique_ptr< ProfileConsistencyCheckParameters > | options_ |
Configurable options. More... | |
std::vector< int > | nMismatches_ |
Additional Inherited Members | |
![]() | |
ioda::ObsSpace & | obsdb_ |
const eckit::LocalConfiguration | config_ |
std::shared_ptr< ioda::ObsDataVector< int > > | flags_ |
std::shared_ptr< ioda::ObsDataVector< float > > | obserr_ |
ufo::Variables | allvars_ |
ufo::Variables | filtervars_ |
ObsFilterData | data_ |
Profile QC checks.
The temperature consistency checks available are as follows:
The sign, standard level and hydrostatic checks are largely based on methods described in the WMO Guide on the Global Data-Procesing System (1993). In general the tolerances have been relaxed slightly so that fewer 'marginal' cases are flagged. In the hydrostatic check the effect of moisture on the thickness is neglected and no special account is taken of the tropopause. Corrections are suggested for apparently simple temperature or height errors. If a height correction is within 10 m of a multiple of 100 m then the rounded correction is applied, temperature corrections are not applied. In some cases interpolation flags are switched off if the hydrostatic check is fairly clear-cut.
Inputs:
Outputs:
Definition at line 80 of file src/ufo/filters/ProfileConsistencyChecks.h.
ufo::ProfileConsistencyChecks::ProfileConsistencyChecks | ( | ioda::ObsSpace & | obsdb, |
const eckit::Configuration & | config, | ||
std::shared_ptr< ioda::ObsDataVector< int > > | flags, | ||
std::shared_ptr< ioda::ObsDataVector< float > > | obserr | ||
) |
Definition at line 39 of file ProfileConsistencyChecks.cc.
ufo::ProfileConsistencyChecks::~ProfileConsistencyChecks | ( | ) |
Definition at line 60 of file ProfileConsistencyChecks.cc.
|
overrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 64 of file ProfileConsistencyChecks.cc.
|
inlinestatic |
Definition at line 83 of file src/ufo/filters/ProfileConsistencyChecks.h.
|
inline |
Return the number of mismatches between values produced by the checking routines and the equivalents produced in the OPS code. The values checked are: the QC flags for each observation, intermediate values used in various calculations for each observation, and error counters for each profile.
Definition at line 95 of file src/ufo/filters/ProfileConsistencyChecks.h.
|
overrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 147 of file ProfileConsistencyChecks.cc.
|
inlineoverrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 101 of file src/ufo/filters/ProfileConsistencyChecks.h.
|
mutableprivate |
Number of mismatches between values produced in this code and their OPS equivalents (used for validation)
Definition at line 108 of file src/ufo/filters/ProfileConsistencyChecks.h.
|
private |
Configurable options.
Definition at line 104 of file src/ufo/filters/ProfileConsistencyChecks.h.