IODA Bundle
BufrRepCollector.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2020 NOAA/NWS/NCEP/EMC
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #pragma once
9 
10 #include "BufrAccumulator.h"
11 #include "BufrCollector.h"
13 #include "BufrParser/BufrTypes.h"
14 
15 
16 namespace Ingester
17 {
18  /// \brief Collector that uses the BUFR interface ufbrep call to grab data (multi col data).
20  {
21  public:
22  explicit BufrRepCollector(const int fortranFileId, const BufrMnemonicSet& mnemonicSet);
23  ~BufrRepCollector() = default;
24 
25  /// \brief Grab the next section of data
26  void collect() final;
27 
28  private:
29  /// \brief Pre-allocated buffer to hand to the Fortran interface.
30  std::vector<double> scratchData_;
32  };
33 } // namespace Ingester
Collectors know how to use the BUFR interface to grab data associated with configured mnemonicSets.
Definition: BufrCollector.h:25
Defenition of BUFR mnemonics and associated channels of interest.
Collector that uses the BUFR interface ufbrep call to grab data (multi col data).
std::vector< double > scratchData_
Pre-allocated buffer to hand to the Fortran interface.
BufrRepCollector(const int fortranFileId, const BufrMnemonicSet &mnemonicSet)
std::vector< FloatType > floatTypeScratchData_
void collect() final
Grab the next section of data.
float FloatType
Definition: IngesterTypes.h:18
Definition: encode.cc:30