MeteoIODoc 20240918.fc1eb87b
libcodes.h File Reference
#include <meteoio/IOInterface.h>
#include <eccodes.h>
#include <vector>
#include <iostream>

Go to the source code of this file.

Classes

struct  mio::codes::HandleDeleter
 
struct  mio::codes::IndexDeleter
 

Namespaces

namespace  mio
 
namespace  codes
 This namespace handles all the low level manipulation of GRIB and BUFR files with ecCodes.
 
namespace  mio::codes
 

Typedefs

using mio::codes::MeteoParam = MeteoData::Parameters
 
using mio::codes::CodesHandlePtr = std::unique_ptr< codes_handle, HandleDeleter >
 
using mio::codes::CodesIndexPtr = std::unique_ptr< codes_index, IndexDeleter >
 

Functions

CodesHandlePtr mio::codes::makeUnique (codes_handle *h)
 
CodesIndexPtr mio::codes::makeUnique (codes_index *i)
 
CodesIndexPtr mio::codes::indexFile (const std::string &filename, const std::vector< std::string > &index_keys, bool verbose)
 
template<typename T >
std::vector< CodesHandlePtr > mio::codes::getMessages (CodesIndexPtr &index, const std::string &param_key, const T &paramID, const std::string &level_key, const std::string &levelType)
 
std::vector< CodesHandlePtr > mio::codes::getMessages (const std::string &filename, ProductKind product)
 
std::vector< CodesHandlePtr > mio::codes::getMessages (FILE *in_file, ProductKind product)
 
void mio::codes::unpackMessage (CodesHandlePtr &m)
 
Date mio::codes::getMessageDateGrib (CodesHandlePtr &h, const double &tz_in)
 
std::string mio::codes::getSubsetPrefix (const size_t &subsetNumber)
 
Date mio::codes::getMessageDateBUFR (CodesHandlePtr &h, const size_t &subsetNumber, const double &tz_in)
 
std::map< std::string, double > mio::codes::getGridParameters (CodesHandlePtr &h_unique)
 
void mio::codes::getGriddedValues (CodesHandlePtr &h, std::vector< double > &values, std::map< std::string, double > &gridParams)
 
std::map< std::string, double > mio::codes::getGriddedValues (CodesHandlePtr &h, std::vector< double > &values)
 
void mio::codes::getNearestValues_grib (CodesHandlePtr &h, const std::vector< double > &in_lats, const std::vector< double > &in_lons, std::vector< double > &out_lats, std::vector< double > &out_lons, std::vector< double > &distances, std::vector< double > &values, std::vector< int > &indexes)
 
bool mio::codes::getParameter (CodesHandlePtr &h, const std::string &parameterName, double &parameterValue, const IOUtils::ThrowOptions &throwError)
 
bool mio::codes::getParameter (CodesHandlePtr &h, const std::string &parameterName, long &parameterValue, const IOUtils::ThrowOptions &throwError)
 
bool mio::codes::getParameter (CodesHandlePtr &h, const std::string &parameterName, int &parameterValue, const IOUtils::ThrowOptions &throwError)
 
bool mio::codes::getParameter (CodesHandlePtr &h, const std::string &parameterName, std::string &parameterValue, const IOUtils::ThrowOptions &throwError)
 
template<typename T >
bool mio::codes::getParameter (CodesHandlePtr &h, const std::vector< std::string > &paramNames, T &param_value, const size_t &subset_number=-1)
 
void mio::codes::setMissingValue (CodesHandlePtr &message, double missingValue)
 
bool mio::codes::selectParameter (codes_index *raw, const std::string &param_key, const std::string &paramId)
 
bool mio::codes::selectParameter (codes_index *raw, const std::string &param_key, const double &paramId)
 
bool mio::codes::selectParameter (codes_index *raw, const std::string &param_key, const long &paramId)
 
void mio::codes::writeToFile (CodesHandlePtr &h, const std::string &filename)
 
CodesHandlePtr mio::codes::createBUFRMessageFromSample (long num_subsets, const std::map< MeteoParam, size_t > &multi_param_occurences, const std::set< std::string > &available_params, const std::vector< MeteoParam > &POSSIBLE_MULTIPLE_PARAMETERS, const bool &write_cryos_station, const long &num_cryo_heights)
 
void mio::codes::setTime (CodesHandlePtr &ibufr, const Date &date, const std::string &subset_prefix)
 
void mio::codes::setTypicalTime (CodesHandlePtr &ibufr, const Date &date)
 
bool mio::codes::setParameter (CodesHandlePtr &ibufr, const std::string &parameterName, const double &parameterValue)
 
bool mio::codes::setParameter (CodesHandlePtr &ibufr, const std::string &parameterName, const long &parameterValue)
 
bool mio::codes::setParameter (CodesHandlePtr &ibufr, const std::string &parameterName, const std::vector< long > &parameterValues)
 
bool mio::codes::setParameter (CodesHandlePtr &ibufr, const std::string &parameterName, const std::string &parameterValue)
 
void mio::codes::packMessage (CodesHandlePtr &m)