UFO
DataExtractor.cc File Reference
#include <algorithm>
#include <functional>
#include <limits>
#include <list>
#include <sstream>
#include <utility>
#include <boost/make_unique.hpp>
#include "eckit/utils/StringTools.h"
#include "ioda/Misc/StringFuncs.h"
#include "oops/util/Logger.h"
#include "ufo/utils/dataextractor/DataExtractor.h"
#include "ufo/utils/dataextractor/DataExtractorCSVBackend.h"
#include "ufo/utils/dataextractor/DataExtractorInput.h"
#include "ufo/utils/dataextractor/DataExtractorNetCDFBackend.h"
Include dependency graph for DataExtractor.cc:

Go to the source code of this file.

Classes

class  ufo::anonymous_namespace{DataExtractor.cc}::SortUpdateVisitor
 Boost visitor which allows us to sort a vector. More...
 
class  ufo::anonymous_namespace{DataExtractor.cc}::SortVisitor
 Boost visitor which allows us to sort a vector. More...
 

Namespaces

 ufo
 
 ufo::anonymous_namespace{DataExtractor.cc}
 

Functions

template<typename T >
void ufo::anonymous_namespace{DataExtractor.cc}::exactMatch (const std::string &varName, const std::vector< T > &varValues, const T &obVal, ConstrainedRange &range)
 Update our extract constraint based on an exact match against the specified coordinate indexing a dimension of the payload array. More...
 
template<typename T >
void ufo::anonymous_namespace{DataExtractor.cc}::nearestMatch (const std::string &varName, const std::vector< T > &varValues, const T &obVal, ConstrainedRange &range)
 Update our extract constraint based on a nearest match against the specified coordinate indexing a dimension of the payload array. More...
 
void ufo::anonymous_namespace{DataExtractor.cc}::nearestMatch (const std::string &varName, const std::vector< std::string > &varValues, const std::string &obVal, ConstrainedRange &range)
 
template<typename T >
void ufo::anonymous_namespace{DataExtractor.cc}::leastUpperBoundMatch (const std::string &varName, const std::vector< T > &varValues, const T &obVal, ConstrainedRange &range)
 Update our extract constraint based on a least-upper-bound match against the specified coordinate indexing a dimension of the payload array. More...
 
void ufo::anonymous_namespace{DataExtractor.cc}::leastUpperBoundMatch (const std::string &varName, const std::vector< std::string > &varValues, const std::string &obVal, ConstrainedRange &range)
 
template<typename T >
void ufo::anonymous_namespace{DataExtractor.cc}::greatestLowerBoundMatch (const std::string &varName, const std::vector< T > &varValues, const T &obVal, ConstrainedRange &range)
 Update our extract constraint based on a greatest-lower-bound match against the specified coordinate indexing a dimension of the payload array. More...
 
void ufo::anonymous_namespace{DataExtractor.cc}::greatestLowerBoundMatch (const std::string &varName, const std::vector< std::string > &varValues, const std::string &obVal, ConstrainedRange &range)
 
template<typename T >
void ufo::anonymous_namespace{DataExtractor.cc}::match (InterpMethod method, const std::string &varName, const std::vector< T > &varValues, const T &obVal, ConstrainedRange &range)
 Restrict range to the subrange of varValues matching obVal according to the criteria of method. More...
 
template<typename CoordinateValue >
float ufo::anonymous_namespace{DataExtractor.cc}::linearInterpolation (const std::string &varName, const std::vector< CoordinateValue > &varValues, const CoordinateValue &obVal, const ConstrainedRange &range, const DataExtractorPayload< float >::const_array_view< 1 >::type &interpolatedArray)
 Perform piecewise linear interpolation of the provided array varValues at 'location' obVal. More...
 
float ufo::anonymous_namespace{DataExtractor.cc}::linearInterpolation (const std::string &varName, const std::vector< std::string > &varValues, const std::string &obVal, const ConstrainedRange &range, const DataExtractorPayload< float >::const_array_view< 1 >::type &interpolatedArray)