UFO
|
Profile QC checker base class. More...
#include <ProfileCheckBase.h>
Public Member Functions | |
ProfileCheckBase (const ConventionalProfileProcessingParameters &options) | |
virtual | ~ProfileCheckBase () |
virtual void | runCheck (ProfileDataHandler &profileDataHandler)=0 |
Run check. More... | |
virtual void | fillValidationData (ProfileDataHandler &profileDataHandler) |
virtual bool | getResult () |
Get result of check (default fail) More... | |
virtual bool | runOnEntireSample () |
Run this check on the entire sample? More... | |
virtual oops::Variables | getGeoVaLNames () |
List of names of required GeoVaLs. More... | |
virtual oops::Variables | getValidationGeoVaLNames () |
List of names of GeoVaLs used in check validation. More... | |
virtual oops::Variables | getObsDiagNames () |
List of names of required obs diagnostics. More... | |
Protected Member Functions | |
template<typename T > | |
void | correctVector (const std::vector< T > &v1, const std::vector< T > &v2, std::vector< T > &vout) |
Apply correction to vector of values. More... | |
template<typename T > | |
void | SetQCFlag (const int &flag, const size_t &jlev, std::vector< T > &vec) |
template<typename T , typename... Args> | |
void | SetQCFlag (const int &flag, const size_t &jlev, std::vector< T > &vec1, Args &... vecs) |
Protected Attributes | |
const ConventionalProfileProcessingParameters & | options_ |
Configurable parameters. More... | |
const int | missingValueInt = util::missingValue(1) |
Missing value (int) More... | |
const float | missingValueFloat = util::missingValue(1.0f) |
Missing value (float) More... | |
Profile QC checker base class.
Definition at line 38 of file ProfileCheckBase.h.
|
explicit |
Definition at line 16 of file ProfileCheckBase.cc.
|
inlinevirtual |
Definition at line 42 of file ProfileCheckBase.h.
|
inlineprotected |
Apply correction to vector of values.
Definition at line 73 of file ProfileCheckBase.h.
|
inlinevirtual |
Fill variables in validator using a ProfileDataHandler. This function will only be called for subclasses of ProfileCheckBase whose runOnEntireSample() implementation returns false. If runOnEntireSample() returns true, the subclass needs to handle the storage of validation data on its own. For an example see the ProfileAveragePressure class.
Reimplemented in ufo::ProfileCheckUnstableLayer, ufo::ProfileCheckUInterp, ufo::ProfileCheckRH, ufo::ProfileCheckInterpolation, and ufo::ProfileCheckHydrostatic.
Definition at line 53 of file ProfileCheckBase.h.
|
inlinevirtual |
List of names of required GeoVaLs.
Reimplemented in ufo::ProfilePressure, ufo::ProfileCheckSign, ufo::ProfileAverageWindSpeed, ufo::ProfileAverageTemperature, ufo::ProfileAverageRelativeHumidity, and ufo::ProfileAveragePressure.
Definition at line 62 of file ProfileCheckBase.h.
|
inlinevirtual |
List of names of required obs diagnostics.
Reimplemented in ufo::ProfileCheckBackgroundWindSpeed, ufo::ProfileCheckBackgroundTemperature, ufo::ProfileCheckBackgroundRelativeHumidity, and ufo::ProfileCheckBackgroundGeopotentialHeight.
Definition at line 68 of file ProfileCheckBase.h.
|
inlinevirtual |
Get result of check (default fail)
Reimplemented in ufo::ProfileCheckBasic.
Definition at line 56 of file ProfileCheckBase.h.
|
inlinevirtual |
List of names of GeoVaLs used in check validation.
Reimplemented in ufo::ProfileAverageWindSpeed, ufo::ProfileAverageTemperature, ufo::ProfileAverageRelativeHumidity, and ufo::ProfileAveragePressure.
Definition at line 65 of file ProfileCheckBase.h.
|
pure virtual |
Run check.
Implemented in ufo::ProfileWindProfilerFlags, ufo::ProfileSondeFlags, ufo::ProfilePressure, ufo::ProfileCheckUnstableLayer, ufo::ProfileCheckUInterpAlternative, ufo::ProfileCheckUInterp, ufo::ProfileCheckTime, ufo::ProfileCheckSign, ufo::ProfileCheckSamePDiffT, ufo::ProfileCheckRH, ufo::ProfileCheckPermanentReject, ufo::ProfileCheckInterpolation, ufo::ProfileCheckHydrostatic, ufo::ProfileCheckHistory, ufo::ProfileCheckBasic, ufo::ProfileCheckBackgroundWindSpeed, ufo::ProfileCheckBackgroundTemperature, ufo::ProfileCheckBackgroundRelativeHumidity, ufo::ProfileCheckBackgroundGeopotentialHeight, ufo::ProfileAverageWindSpeed, ufo::ProfileAverageTemperature, ufo::ProfileAverageRelativeHumidity, and ufo::ProfileAveragePressure.
|
inlinevirtual |
Run this check on the entire sample?
Reimplemented in ufo::ProfileCheckUInterpAlternative, ufo::ProfileCheckHistory, ufo::ProfileAverageWindSpeed, ufo::ProfileAverageTemperature, ufo::ProfileAverageRelativeHumidity, and ufo::ProfileAveragePressure.
Definition at line 59 of file ProfileCheckBase.h.
|
inlineprotected |
Set a QC flag on one profile level. This is the base case for one vector.
Definition at line 85 of file ProfileCheckBase.h.
|
inlineprotected |
Set a QC flag on one profile level. This is the recursive case that accepts an arbitrary number of vectors using a variadic template.
Definition at line 96 of file ProfileCheckBase.h.
|
protected |
Missing value (float)
Definition at line 113 of file ProfileCheckBase.h.
|
protected |
Missing value (int)
Definition at line 110 of file ProfileCheckBase.h.
|
protected |
Configurable parameters.
Definition at line 107 of file ProfileCheckBase.h.