UFO
|
Conventional profile processing. More...
#include <ConventionalProfileProcessing.h>
Public Types | |
typedef ConventionalProfileProcessingParameters | Parameters_ |
Public Member Functions | |
ConventionalProfileProcessing (ioda::ObsSpace &, const Parameters_ &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
~ConventionalProfileProcessing () | |
std::vector< int > | getMismatches () const |
![]() | |
FilterBase (ioda::ObsSpace &, const FilterParametersBaseWithAbstractAction ¶meters, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
FilterBase (ioda::ObsSpace &, const eckit::Configuration &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
~FilterBase () | |
![]() | |
ObsProcessorBase (ioda::ObsSpace &, bool deferToPost, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
~ObsProcessorBase () | |
void | preProcess () override |
void | priorFilter (const GeoVaLs &) override |
void | postFilter (const ioda::ObsVector &, const ioda::ObsVector &, const ObsDiagnostics &) override |
oops::Variables | requiredVars () const override |
oops::Variables | requiredHdiagnostics () const override |
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 |
void | individualProfileChecks (ProfileDataHandler &profileDataHandler, ProfileCheckValidator &profileCheckValidator, ProfileChecker &profileChecker, const CheckSubgroup &subGroupChecks) const |
Run checks on individual profiles sequentially. More... | |
void | entireSampleChecks (ProfileDataHandler &profileDataHandler, ProfileCheckValidator &profileCheckValidator, ProfileChecker &profileChecker, const CheckSubgroup &subGroupChecks) const |
Run checks that use all of the profiles at once. More... | |
int | qcFlag () const override |
Private Attributes | |
ConventionalProfileProcessingParameters | options_ |
Configurable options. More... | |
std::vector< int > | nMismatches_ |
Additional Inherited Members | |
![]() | |
const eckit::LocalConfiguration | config_ |
ufo::Variables | filtervars_ |
![]() | |
ioda::ObsSpace & | obsdb_ |
std::shared_ptr< ioda::ObsDataVector< int > > | flags_ |
std::shared_ptr< ioda::ObsDataVector< float > > | obserr_ |
ufo::Variables | allvars_ |
ObsFilterData | data_ |
Conventional profile processing.
This filter applies a variety of QC checks to profile data. The filter also averages profiles onto model levels prior to their use in data assimilation.
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 86 of file src/ufo/filters/ConventionalProfileProcessing.h.
Definition at line 89 of file src/ufo/filters/ConventionalProfileProcessing.h.
ufo::ConventionalProfileProcessing::ConventionalProfileProcessing | ( | ioda::ObsSpace & | obsdb, |
const Parameters_ & | parameters, | ||
std::shared_ptr< ioda::ObsDataVector< int > > | flags, | ||
std::shared_ptr< ioda::ObsDataVector< float > > | obserr | ||
) |
Definition at line 32 of file ConventionalProfileProcessing.cc.
ufo::ConventionalProfileProcessing::~ConventionalProfileProcessing | ( | ) |
Definition at line 79 of file ConventionalProfileProcessing.cc.
|
overrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 149 of file ConventionalProfileProcessing.cc.
|
inlinestatic |
Definition at line 91 of file src/ufo/filters/ConventionalProfileProcessing.h.
|
private |
Run checks that use all of the profiles at once.
Definition at line 128 of file ConventionalProfileProcessing.cc.
|
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 103 of file src/ufo/filters/ConventionalProfileProcessing.h.
|
private |
Run checks on individual profiles sequentially.
Definition at line 83 of file ConventionalProfileProcessing.cc.
|
overrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 200 of file ConventionalProfileProcessing.cc.
|
inlineoverrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 122 of file src/ufo/filters/ConventionalProfileProcessing.h.
|
mutableprivate |
Number of mismatches between values produced in this code and their OPS equivalents (used for validation)
Definition at line 129 of file src/ufo/filters/ConventionalProfileProcessing.h.
|
private |
Configurable options.
Definition at line 125 of file src/ufo/filters/ConventionalProfileProcessing.h.