MeteoIODoc 20240411.d3bdb3cb
This plugin is not functional yet!

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.

Currently, this plugin is only designed to read data in the ARGOS format.


This is a format where all values are encoded in Ascii on fixed-lenght lines. It is made of messages (ie one single satellite transmission) that contain multiple timestamps. Each message starts some kind of a metadata line (for us, the deploy ID is the station ID:

{program ID} {deploy ID} {number of lines in the message} {number of data fields per message line} {satellite id?}

The each timestamp is made of the date and time (as "yyyy-mm-dd hh24:min:ss") followed by an unknown integer and {number of data fields} fields encoded into an integrer for each field.

01463 107283 9 15 K
2018-04-24 00:48:15 2 29576 2017 10642 30576
25129 24942 25170 51367
51352 51342 51320 23932
24270 31863 32053
2018-04-24 00:51:35 2 29576 10395 10436 11967
26750 27037 25254 24648
51335 51320 51405 51386
17238 17262 17635

Since there are no headers, the decoded values need some user-provided metadata to be interpreted (see below in Keywords).


This plugin uses the following keywords, all in the [Input] section:

  • COORDSYS: coordinate system (see Coords);
  • COORDPARAM: extra coordinates parameters (see Coords);
  • TIMEZONE: timezone of the data;
  • METEOPATH: directory where to read the data files from;
  • FILE#: a filename to read the data from for each key; If no FILE# keywords are provided, all files with the right extension in METEOPATH will be read.
    • ARGOS_EXT: extension of Argos data files to use when no FILE# keyword has been provided;
    • METEOPATH_RECURSIVE: when no FILE# keyword has been defined, should all files under METEOPATH be searched recursively? (default: false)
  • ARGOS_DEBUG: should extra (ie very verbose) information be displayed? (default: false)
  • METAFILE: an ini file that contains all the metadata, for each station that has to be read;

The METAFILE is structured like an ini file with one section per Argos ID (ie per station). An extra [Default] section can be defined so multiple stations sharing almost the same configuration can share some keys (the Argos ID section keys have priority over the keys defined in [Default]). The following keys are defined:

  • ID: the station id (default: "Argos::" followed by Argos ID);
  • NAME: the station name (default: "Argos::" followed by Argos ID);
  • POSITION: the station coordinates, see Coords() for the syntax;
  • UNITS_MULTIPLIER: factor to apply to each field to bring the value back to SI units (default: 1 for each field);
  • UNITS_OFFSET: offset to add to each field after applying the UNITS_MULTIPLIER, to bring the value back to SI units (default: 0 for each field);
  • FIELDS: the parameter name to use for each field;
  • WSL_HACK: support reading multiple messages containing information for the same station (used by some WSL stations)? (default: false)
  • if WSL_HACK has been set to true, there are also FIELDS2, UNITS_MULTIPLIER2, UNITS_OFFSET2 to describe a second, interlaced message.

The FIELDS should take their names from MeteoData::meteoparam when possible, or can be "SKIP" in order to skip the matching parameter in the output. Any other name will be used as is but won't be automatically recognized within MeteoIO.

Example metafile:

units_offset = 0 0 0 0 0 0 0 273.15 0 0
units_multiplier = 1 1 1 1 1 1 1 0.01 1 1
wsl_hack = true
fields2 = Station_nr DW P HS ISWR_MAX RSWR_MAX TA VW_MAX Battery_Voltage
units_offset2 = 0 0 0 0 0 0 273.15 0 0
position = latlon (46.8, 9.80, 1700)
id = ARG1
name = Swiss Camp 2