|
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 |
|
std::vector< size_t > | getValidObservationIds (const std::vector< bool > &apply) const |
| Returns a vector of IDs of all observations that should be buddy-checked. More...
|
|
MetaData | collectMetaData () const |
| Collects and return smetadata of all observations. More...
|
|
std::vector< int > | getStationIds () const |
| Returns a vector of integer-valued station IDs, obtained from the source indicated by the filter parameters. More...
|
|
std::vector< float > | calcBackgroundErrorHorizontalCorrelationScales (const std::vector< size_t > &validObsIds, const std::vector< float > &latitudes) const |
| Calculates and returns background error correlation scales at observation locations. More...
|
|
std::vector< bool > | flagAndPrintVerboseObservations (const std::vector< size_t > &validObsIds, const std::vector< float > &latitudes, const std::vector< float > &longitudes, const std::vector< util::DateTime > ×, const std::vector< float > *pressures, const std::vector< int > &stationIds, const std::vector< float > &bgErrorHorizCorrScales) const |
| Identifies observations whose buddy checks should be logged. More...
|
|
void | checkScalarSurfaceData (const std::vector< MetOfficeBuddyPair > &pairs, const std::vector< int > &flags, const std::vector< bool > &verbose, const std::vector< float > &bgErrorHorizCorrScales, const std::vector< int > &stationIds, const std::vector< util::DateTime > &datetimes, const std::vector< float > &obsValues, const std::vector< float > &obsBiases, const std::vector< float > &obsErrors, const std::vector< float > &bgValues, const std::vector< float > &bgErrors, std::vector< float > &pges) const |
| Buddy check for scalar surface quantities. More...
|
|
void | checkVectorSurfaceData (const std::vector< MetOfficeBuddyPair > &pairs, const std::vector< int > &flags, const std::vector< bool > &verbose, const std::vector< float > &bgErrorHorizCorrScales, const std::vector< int > &stationIds, const std::vector< util::DateTime > &datetimes, const std::vector< float > &uObsValues, const std::vector< float > &uObsBiases, const std::vector< float > &vObsValues, const std::vector< float > &vObsBiases, const std::vector< float > &obsErrors, const std::vector< float > &uBgValues, const std::vector< float > &vBgValues, const std::vector< float > &bgErrors, std::vector< float > &pges) const |
| Buddy check for vector (two-dimensional) surface quantities. More...
|
|
void | flagRejectedObservations (const Variables &filtervars, const std::map< std::string, std::vector< float >> &grossErrProbsByVarName, std::vector< std::vector< bool >> &flagged) const |
|
Met Office's implementation of the buddy check.
The filter cross-checks observations taken at nearby locations against each other, updating their gross error probabilities (PGEs) and rejecting observations whose PGE exceeds a threshold specified in the filter parameters.
Variables to be checked should be specified using the "filter variables" YAML option. Currently only surface (single-level) variables are supported. Variables can be either scalar or vector (with two Cartesian components, such as the eastward and northward wind components). In the latter case the two components need to specified one after the other in the "filter variables" list, with the first component having the first_component_of_two
option set to true. Example:
filter variables:
- name: air_temperature
- name: eastward_wind
options:
first_component_of_two: true
- name: northward_wind
See MetOfficeBuddyCheckParameters for the documentation of the other available parameters.
Definition at line 66 of file src/ufo/filters/MetOfficeBuddyCheck.h.
std::vector< bool > ufo::MetOfficeBuddyCheck::flagAndPrintVerboseObservations |
( |
const std::vector< size_t > & |
validObsIds, |
|
|
const std::vector< float > & |
latitudes, |
|
|
const std::vector< float > & |
longitudes, |
|
|
const std::vector< util::DateTime > & |
times, |
|
|
const std::vector< float > * |
pressures, |
|
|
const std::vector< int > & |
stationIds, |
|
|
const std::vector< float > & |
bgErrorHorizCorrScales |
|
) |
| const |
|
private |
Identifies observations whose buddy checks should be logged.
This function identifies observations located in one of the boxes specified in the tracedBoxes
option, prints the metadata of these observations and sets the corresponding elements of the returned vector to true. Functions performing buddy checks are expected to log buddy checks involving these observations.
- Parameters
-
pressures | Optional – may be null. |
Definition at line 313 of file MetOfficeBuddyCheck.cc.