15 #include "Eigen/Dense"
17 #include "eckit/config/LocalConfiguration.h"
26 class BufrMnemonicSet;
34 explicit BufrParser(
const eckit::Configuration& conf);
40 std::shared_ptr<DataContainer>
parse(
const size_t maxMsgsToParse = 0)
final;
76 openBufrFile(
const std::string& filepath,
bool isWmoFormat,
const std::string& tablepath);
Description of the data to be read from a BUFR file and how to expose that data to the outside world.
Uses a BufrDescription and helper classes to parse the contents of a BUFR file.
void closeBufrFile()
Closes the open BUFR file.
unsigned int fortranFileId_
The Fortran file ID to an open BUFR file (0 when no file open)
void printMap(const CatDataMap &map)
Convenience method to print the Categorical data map to stdout.
BufrDescription description_
The description the defines what to parse from the BUFR file.
unsigned int table2FileId_
The Fortran file ID to an open BUFR file (0 when no file open)
std::map< std::vector< std::string >, BufrDataMap > CatDataMap
CatDataMap splitData(CatDataMap &splitMaps, Split &split)
Function responsible for dividing the data into subcategories.
std::shared_ptr< DataContainer > exportData(const BufrDataMap &srcData)
Exports collected data into a DataContainer.
std::shared_ptr< DataContainer > parse(const size_t maxMsgsToParse=0) final
Uses the provided description to parse the buffer file.
void reset() final
Start over from beginning of the BUFR file.
void openBufrFile(const std::string &filepath, bool isWmoFormat, const std::string &tablepath)
Opens a BUFR file using the Fortran BUFR interface.
unsigned int table1FileId_
The Fortran file ID to an open BUFR file (0 when no file open)
BufrParser(const BufrDescription &description)
Base class for all input Parsers.
Base class for all Split objects that split data into sub-parts.
IngesterArrayMap BufrDataMap