39 GRIBIO(
const std::string& configfile);
52 std::vector< std::vector<MeteoData> >& vecMeteo);
56 void getDate(grib_handle* h,
Date &base,
double &d1,
double &d2);
57 Coords getGeolocalization(grib_handle* h,
double &cellsize_x,
double &cellsize_y);
58 void read2Dlevel(grib_handle* h,
Grid2DObject& grid_out);
59 bool read2DGrid_indexed(
const double& in_marsParam,
const long& i_levelType,
const long& i_level,
const Date i_date,
Grid2DObject& grid_out);
61 void readWind(
const std::string& filename,
const Date& date);
62 void indexFile(
const std::string& filename);
63 void readStations(std::vector<Coords> &vecPoints);
64 void listFields(
const std::string& filename);
65 void listKeys(grib_handle** h,
const std::string& filename);
67 void cleanup() noexcept;
69 bool removeDuplicatePoints(std::vector<
Coords>& vecPoints,
double *lats,
double *lons);
70 bool readMeteoMeta(std::vector<
Coords>& vecPoints, std::vector<
StationData> &stations,
double *lats,
double *lons);
71 bool readMeteoValues(const
double& marsParam, const
long& levelType, const
long& i_level, const
Date& i_date, const
size_t& npoints,
double *lats,
double *lons,
double *values);
72 void fillMeteo(
double *values, const
MeteoData::Parameters& param, const
size_t& npoints, std::vector<
MeteoData> &Meteo);
73 void readMeteoStep(std::vector<
StationData> &stations,
double *lats,
double *lons, const
Date i_date, std::vector<
MeteoData> &Meteo);
76 std::
string grid2dpath_in;
77 std::
string meteopath_in;
78 std::vector<
Coords> vecPts;
79 std::vector< std::pair<
Date,std::
string> > cache_meteo_files;
80 std::
string meteo_ext;
81 std::
string grid2d_ext;
82 std::
string grid2d_prefix;
83 std::
string idx_filename;
84 std::
string coordin, coordinparam;
91 double latitudeOfNorthernPole, longitudeOfNorthernPole;
92 double bearing_offset;
93 double cellsize, factor_x, factor_y;
95 static const std::
string default_ext;
96 static const
double plugin_nodata;
97 static const
double tz_in;
99 bool meteo_initialized;
100 bool llcorner_initialized;
101 bool update_dem, debug;
A class that reads a key/value file. These files (typically named *.ini) follow the INI file format s...
Definition: Config.h:79
A class to handle geographic coordinate systems. This class offers an easy way to transparently conve...
Definition: Coords.h:83
A class to represent DEMs and automatically compute some properties. This class stores elevation grid...
Definition: DEMObject.h:40
A class to handle timestamps. This class handles conversion between different time display formats (I...
Definition: Date.h:87
This plugin reads GRIB 1 or 2 data files.
Definition: GRIBIO.h:37
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 ...
Definition: GRIBIO.cc:754
virtual bool list2DGrids(const Date &, const Date &, std::map< Date, std::set< size_t > > &)
Return the list of grids within a given time period that could be read by the plugin,...
Definition: GRIBIO.h:46
virtual void read2DGrid(Grid2DObject &grid_out, const std::string ¶meter="")
A generic function for parsing 2D grids into a Grid2DObject. The string parameter shall be used for a...
Definition: GRIBIO.cc:481
~GRIBIO() noexcept
Definition: GRIBIO.cc:180
virtual void readDEM(DEMObject &dem_out)
Parse the DEM (Digital Elevation Model) into the Grid2DObject.
Definition: GRIBIO.cc:703
GRIBIO(const std::string &configfile)
Definition: GRIBIO.cc:125
A class to represent 2D Grids. Typical application as DEM or Landuse Model.
Definition: Grid2DObject.h:42
A class representing the IO Layer of the software Alpine3D. For each type of IO (File,...
Definition: IOInterface.h:98
A class to represent a singular measurement received from one station at a certain time (represented ...
Definition: MeteoData.h:107
Parameters
this enum provides names for possible meteogrids (from an ARPS file, etc)
Definition: MeteoData.h:46
A class to represent meteo stations with attributes like longitude, latitude, etc.
Definition: StationData.h:41