UFO
processWhere.cc File Reference
#include "ufo/filters/processWhere.h"
#include <bitset>
#include <regex>
#include <set>
#include <string>
#include <vector>
#include "eckit/config/LocalConfiguration.h"
#include "eckit/types/FloatCompare.h"
#include "oops/util/IntSetParser.h"
#include "oops/util/Logger.h"
#include "oops/util/missingValues.h"
#include "oops/util/wildcard.h"
#include "ufo/filters/ObsFilterData.h"
#include "ufo/filters/Variables.h"
Include dependency graph for processWhere.cc:

Go to the source code of this file.

Namespaces

 ufo
 

Functions

ufo::Variables ufo::getAllWhereVariables (const std::vector< WhereParameters > &params)
 
template<typename T >
void ufo::processWhereMinMax (const std::vector< T > &data, const T &vmin, const T &vmax, std::vector< bool > &mask)
 
void ufo::processWhereMinMax (const std::vector< util::DateTime > &data, const util::PartialDateTime &vmin, const util::PartialDateTime &vmax, std::vector< bool > &mask)
 
void ufo::processWhereIsDefined (const std::vector< float > &data, std::vector< bool > &mask)
 
void ufo::processWhereIsNotDefined (const std::vector< float > &data, std::vector< bool > &mask)
 
template<class T >
void ufo::processWhereIsIn (const std::vector< T > &data, const std::set< T > &whitelist, std::vector< bool > &mask)
 
void ufo::processWhereIsClose (const std::vector< float > &data, const float tolerance, const bool relative, const std::vector< float > &whitelist, std::vector< bool > &mask)
 
template<class T >
void ufo::processWhereIsNotIn (const std::vector< T > &data, const std::set< T > &blacklist, std::vector< bool > &mask)
 
void ufo::processWhereIsNotIn (const std::vector< std::string > &data, const std::set< std::string > &blacklist, std::vector< bool > &mask)
 
void ufo::processWhereIsNotClose (const std::vector< float > &data, const float tolerance, const bool relative, const std::vector< float > &blacklist, std::vector< bool > &mask)
 
template<typename T >
void ufo::applyMinMax (std::vector< bool > &where, WhereParameters const &parameters, ObsFilterData const &filterdata, Variable const &varname)
 
void ufo::processWhereAnyBitSetOf (const std::vector< int > &data, const std::set< int > &bitIndices, std::vector< bool > &where)
 Process an any_bit_set_of keyword in a where clause. More...
 
void ufo::processWhereAnyBitUnsetOf (const std::vector< int > &data, const std::set< int > &bitIndices, std::vector< bool > &where)
 Process an any_bit_unset_of keyword in a where clause. More...
 
void ufo::processWhereMatchesRegex (const std::vector< std::string > &data, const std::string &pattern, std::vector< bool > &where)
 Process a matches_regex keyword in a where clause. More...
 
void ufo::processWhereMatchesRegex (const std::vector< int > &data, const std::string &pattern, std::vector< bool > &where)
 Process a matches_regex keyword in a where clause. More...
 
bool ufo::stringMatchesAnyWildcardPattern (const std::string &string, const std::vector< std::string > &patterns)
 
void ufo::processWhereMatchesAnyWildcardPattern (const std::vector< std::string > &data, const std::vector< std::string > &patterns, std::vector< bool > &where)
 Function used to process a matches_wildcard or matches_any_wildcard keyword in a where clause. More...
 
void ufo::processWhereMatchesAnyWildcardPattern (const std::vector< int > &data, const std::vector< std::string > &patterns, std::vector< bool > &where)
 
void ufo::isInString (std::vector< bool > &where, std::vector< std::string > const &allowedValues, ObsFilterData const &filterdata, Variable const &varname)
 
void ufo::isInInteger (std::vector< bool > &where, std::set< int > const &allowedValues, ObsFilterData const &filterdata, Variable const &varname)
 
void ufo::isNotInString (std::vector< bool > &where, std::vector< std::string > const &forbiddenValues, ObsFilterData const &filterdata, Variable const &varname)
 
void ufo::isNotInInteger (std::vector< bool > &where, std::set< int > const &forbiddenValues, ObsFilterData const &filterdata, Variable const &varname)
 
std::vector< bool > ufo::processWhere (const std::vector< WhereParameters > &params, const ObsFilterData &filterdata)