UFO
DataExtractorCSVBackend.cc File Reference
#include <string>
#include <unordered_map>
#include <utility>
#include <vector>
#include <boost/multi_array.hpp>
#include <boost/variant.hpp>
#include "eckit/exception/Exceptions.h"
#include "eckit/parser/CSVParser.h"
#include "eckit/utils/StringTools.h"
#include "ioda/Misc/StringFuncs.h"
#include "ioda/ObsSpace.h"
#include "oops/util/Logger.h"
#include "ufo/utils/dataextractor/DataExtractorCSVBackend.h"
#include "ufo/utils/dataextractor/DataExtractorInput.h"
Include dependency graph for DataExtractorCSVBackend.cc:

Go to the source code of this file.

Classes

class  ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::AppendValueVisitor
 
class  ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::ConvertToBoostMultiArrayVisitor< ExtractedValue >
 Visitor that converts an std::vector to a boost::multi_array with one column. More...
 

Namespaces

 ufo
 
 ufo::anonymous_namespace{DataExtractorCSVBackend.cc}
 

Functions

template<typename Source , typename Destination >
void ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::convertVectorToColumnArray (const std::vector< Source > &source, boost::multi_array< Destination, 3 > &destination)
 
size_t ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::findPayloadColumn (const std::vector< std::string > &columnNames, const std::string &payloadGroup)
 Find the index of the column whose name ends with @ followed by payloadGroup or begins with payloadGroup followed by /. More...
 
template<typename T >
std::vector< T > ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::createColumn (size_t numValues)
 
template<typename ExtractedValue >
void ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::checkPayloadColumnType (const std::string &type)
 Throw an exception if contents of columns of type type can't be converted to values of type ExtractedValue. More...
 
template<>
void ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::checkPayloadColumnType< float > (const std::string &type)
 
template<>
void ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::checkPayloadColumnType< int > (const std::string &type)
 
template<>
void ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::checkPayloadColumnType< std::string > (const std::string &type)
 

Variables

const size_t ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::numHeaderRows = 2
 Number of header rows in CSV files. More...
 
const char * ufo::anonymous_namespace{DataExtractorCSVBackend.cc}::missingValuePlaceholder = "_"
 Representation of missing values in CSV files (same as in NetCDF's CDL). More...