MeteoIODoc 20240329.18c31bd1
mio::ArgosIO Class Reference

Detailed Description

This plugin deals with data that has been transmitted through the ARGOS satellites. In order to reduce data transfers, no headers are provided with the data and therefore all the metadata will have to be provided to the plugin.

Author
Mathias Bavay
Date
2019-03-21

#include <Argos.h>

Public Member Functions

 ArgosIO (const std::string &configfile)
 
 ArgosIO (const ArgosIO &)
 
 ArgosIO (const Config &cfgreader)
 
virtual void readStationData (const Date &date, std::vector< StationData > &vecStation)
 Fill vecStation with StationData objects for a certain date of interest. More...
 
virtual void readMeteoData (const Date &dateStart, const Date &dateEnd, std::vector< std::vector< MeteoData > > &vecMeteo)
 Fill vecMeteo with a time series of objects corresponding to the interval indicated by dateStart and dateEnd. More...
 
- Public Member Functions inherited from mio::IOInterface
virtual ~IOInterface ()
 
virtual bool list2DGrids (const Date &start, const Date &end, std::map< Date, std::set< size_t > > &list)
 Return the list of grids within a given time period that could be read by the plugin, if requested. More...
 
virtual void read2DGrid (Grid2DObject &grid_out, const std::string &parameter="")
 A generic function for parsing 2D grids into a Grid2DObject. The string parameter shall be used for addressing the specific 2D grid to be parsed into the Grid2DObject, relative to GRID2DPATH for most plugins. More...
 
virtual void read2DGrid (Grid2DObject &grid_out, const MeteoGrids::Parameters &parameter, const Date &date)
 Read the given meteo parameter into a Grid2DObject. Each plugin has its own logic for finding the requested meteo parameter grid relative to GRID2DPATH for most plugins. More...
 
virtual void readPointsIn2DGrid (std::vector< double > &data, const MeteoGrids::Parameters &parameter, const Date &date, const std::vector< std::pair< size_t, size_t > > &Pts)
 Read the given meteo parameter into a vector for a list of points. Each plugin has its own logic for finding the requested meteo parameter grid relative to GRID2DPATH for most plugins. More...
 
virtual void read3DGrid (Grid3DObject &grid_out, const std::string &parameter="")
 A generic function for parsing 3D grids into a Grid3DObject. The string parameter shall be used for addressing the specific 3D grid to be parsed into the Grid3DObject, relative to GRID3DPATH for most plugins. More...
 
virtual void read3DGrid (Grid3DObject &grid_out, const MeteoGrids::Parameters &parameter, const Date &date)
 Read the given meteo parameter into a Grid3DObject. Each plugin has its own logic for finding the requested meteo parameter grid relative to GRID3DPATH for most plugins. More...
 
virtual void readDEM (DEMObject &dem_out)
 Parse the DEM (Digital Elevation Model) into the Grid2DObject. More...
 
virtual void readLanduse (Grid2DObject &landuse_out)
 Parse the landuse model into the Grid2DObject. More...
 
virtual void readGlacier (Grid2DObject &glacier_out)
 Parse the input glacier grid into the Grid2DObject. More...
 
virtual void readStationData (const Date &date, std::vector< StationData > &vecStation)
 Fill vecStation with StationData objects for a certain date of interest. More...
 
virtual void readMeteoData (const Date &dateStart, const Date &dateEnd, std::vector< std::vector< MeteoData > > &vecMeteo)
 Fill vecMeteo with a time series of objects corresponding to the interval indicated by dateStart and dateEnd. More...
 
virtual void writeMeteoData (const std::vector< std::vector< MeteoData > > &vecMeteo, const std::string &name="")
 Write vecMeteo time series to a certain destination. More...
 
virtual void readAssimilationData (const Date &date_in, Grid2DObject &da_out)
 Parse the assimilation data into a Grid2DObject for a certain date represented by the Date object. More...
 
virtual void readPOI (std::vector< Coords > &pts)
 Read a list of points by their grid coordinates This allows for example to get a list of points where to produce more detailed outputs. More...
 
virtual void write2DGrid (const Grid2DObject &grid_out, const std::string &options="")
 Write a Grid2DObject The filename is specified relative to GRID2DPATH for most plugins. More...
 
virtual void write2DGrid (const Grid2DObject &grid_out, const MeteoGrids::Parameters &parameter, const Date &date)
 Write a Grid2DObject containing a known meteorological parameter A filename is built relative to GRID2DPATH for most plugins. More...
 
virtual void write3DGrid (const Grid3DObject &grid_out, const std::string &options="")
 Write a Grid3DObject The filename is specified relative to GRID3DPATH for most plugins. More...
 
virtual void write3DGrid (const Grid3DObject &grid_out, const MeteoGrids::Parameters &parameter, const Date &date)
 Write a Grid3DObject comtaining a known meteorological parameter A filename is build relative to GRID3DPATH for most plugins. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from mio::IOInterface
static void set2DGridLatLon (Grid2DObject &grid, const double &i_ur_lat, const double &i_ur_lon)
 
static double computeGridXYCellsize (const std::vector< double > &vecX, const std::vector< double > &vecY)
 
static std::vector< LinesRangeinitLinesRestrictions (const std::string &args, const std::string &where, const bool &negate)
 built the set of line ranges to read or skip. More...
 
- Static Protected Member Functions inherited from mio::IOInterface
static void mergeLinesRanges (std::vector< LinesRange > &lines_specs)
 Merge potentially overlaping line ranges. More...
 

Constructor & Destructor Documentation

◆ ArgosIO() [1/3]

mio::ArgosIO::ArgosIO ( const std::string &  configfile)

◆ ArgosIO() [2/3]

mio::ArgosIO::ArgosIO ( const ArgosIO )

◆ ArgosIO() [3/3]

mio::ArgosIO::ArgosIO ( const Config cfgreader)

Member Function Documentation

◆ readMeteoData()

void mio::ArgosIO::readMeteoData ( const Date dateStart,
const Date dateEnd,
std::vector< std::vector< MeteoData > > &  vecMeteo 
)
virtual

Fill vecMeteo with a time series of objects corresponding to the interval indicated by dateStart and dateEnd.

Matching rules:

  • if dateStart and dateEnd are the same: return exact match for date
  • if dateStart > dateEnd: return first data set with date > dateStart
  • read in all data starting with dateStart until dateEnd
  • if there is no data at all then the vectors will be empty, no exception will be thrown

Example Usage:

vector< vector<MeteoData> > vecMeteo; //empty vector
Date d1(2008,06,21,11,0, 1); //21.6.2008 11:00 UTC+1
Date d2(2008,07,21,11,0, 1); //21.7.2008 11:00 UTC+1
IOHandler io1("io.ini");
io1.readMeteoData(d1, d2, vecMeteo);
A class to handle timestamps. This class handles conversion between different time display formats (I...
Definition: Date.h:87
This class is the class to use for raw I/O operations. It is responsible for transparently loading th...
Definition: IOHandler.h:37
Parameters
dateStartA Date object representing the beginning of an interval (inclusive)
dateEndA Date object representing the end of an interval (inclusive)
vecMeteoA vector of vector<MeteoData> objects to be filled with data

Reimplemented from mio::IOInterface.

◆ readStationData()

void mio::ArgosIO::readStationData ( const Date date,
std::vector< StationData > &  vecStation 
)
virtual

Fill vecStation with StationData objects for a certain date of interest.

Example Usage:

vector<StationData> vecStation; //empty vector
Date d1(2008,06,21,11,0, 1.); //21.6.2008 11:00 UTC+1
IOHandler io1("io.ini");
io1.readStationData(d1, vecStation);
Parameters
dateA Date object representing the date for which the meta data is to be fetched
vecStationA vector of StationData objects to be filled with meta data

Reimplemented from mio::IOInterface.


The documentation for this class was generated from the following files: