29 ArgosStation(
const std::string& argosID,
const Config& metaCfg,
const float& in_nodata,
const double& in_TZ,
const std::string& coordin,
const std::string& coordinparam,
const bool& isDebug);
30 Date parseDate(
const std::string& str,
const size_t &linenr)
const;
33 bool isValid()
const {
return validStation;}
34 bool isValidMessage(
const size_t& msg_length)
const {
return (msg_length==fields_idx.size());}
38 void parseFieldsSpecs(
const std::vector<std::string>& fieldsNames,
MeteoData &meteo_template, std::vector<size_t> &idx);
39 static std::vector<float> decodeData(
const std::vector<unsigned int> &
raw);
41 std::vector<size_t> fields_idx;
42 std::vector<double> units_offset, units_multiplier;
43 std::vector<size_t> fields_idx2;
44 std::vector<double> units_offset2, units_multiplier2;
48 bool validStation, debug, wsl_hack;
65 ArgosIO(
const std::string& configfile);
72 std::vector< std::vector<MeteoData> >& vecMeteo);
75 void parseInputOutputSection(
const Config& cfgreader);
76 static std::string readLine(std::ifstream &fin,
size_t &linenr);
77 bool readTimestamp(std::ifstream &fin,
size_t &linenr,
const unsigned int& nFields,
const ArgosStation& station,
const Date& dateStart,
const Date& dateEnd,
MeteoData &md)
const;
78 void readMessage(std::ifstream &fin,
size_t &linenr,
const Date& dateStart,
const Date& dateEnd, std::vector< std::vector<MeteoData> >& vecMeteo);
79 void readRaw(
const std::string& file_and_path,
const Date& dateStart,
const Date& dateEnd, std::vector< std::vector<MeteoData> >& vecMeteo);
80 void addStation(
const std::string& argosID);
82 std::vector<std::string> vecFilenames;
83 std::map<std::string, ArgosStation> stations;
85 std::string meteopath;
86 std::string coordin, coordinparam;
This plugin deals with data that has been transmitted through the ARGOS satellites....
Definition: Argos.h:63
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: Argos.cc:165
virtual void readStationData(const Date &date, std::vector< StationData > &vecStation)
Fill vecStation with StationData objects for a certain date of interest.
Definition: Argos.cc:149
ArgosIO(const std::string &configfile)
Definition: Argos.cc:115
Date parseDate(const std::string &str, const size_t &linenr) const
Definition: Argos.cc:451
bool isValidMessage(const size_t &msg_length) const
Definition: Argos.h:34
size_t meteoIdx
index within vecMeteo
Definition: Argos.h:36
MeteoData parseDataLine(const Date &dt, const std::vector< unsigned int > &raw_data, const size_t &linenr) const
Definition: Argos.cc:465
bool isValid() const
Definition: Argos.h:33
StationData getStationData() const
Definition: Argos.h:32
ArgosStation()
Definition: Argos.cc:344
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 timestamps. This class handles conversion between different time display formats (I...
Definition: Date.h:87
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:108
StationData meta
The meta data of the measurement.
Definition: MeteoData.h:406
A class to represent meteo stations with attributes like longitude, latitude, etc.
Definition: StationData.h:41
@ raw
Definition: IOUtils.h:55