MeteoIODoc 20240411.d3bdb3cb

This plugin deals with data that has been transmitted through the GOES satellites (see also https://www.goes-r.gov/resources/docs.html and https://www.rtl-sdr.com/tag/goes/). 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 GOES format.

Format

This is a format where all values are encoded in Ascii on fixed-lenght lines. The first 35 characters are related to the station ID and the characters starting at position 37 until the end of the line encode the data. An example is given below:

8030011818095204101G44+1NN067EXE00143 FOh@_bBNvD_PFLhFbqFB@I~I~I~OQDOTROX{I~ONqOvaLMQLSpLS[LSWLRfBN[BOGFgsFmYBYlBZ`CKkI~FJ}FPBFA[F@|LS\LR~LS~LSiFykGAUFFhFGELPlI~NErLRGLQcDUg
8030011818095214101G44+1NN067EXE00143 FOh@_bBNvD`tFGdFTnFB^I~I~I~OQAOTMOX{I~ONjOveLMQLTXLTKLT@LS[BNFBODFseFzgBZBBZtCKkI~FJ}FJaFAYF@hLSnLS`LUbLUFGRXG[FLDFMHLRBI~NEFLSTLRwDUQ
8030011818095224101G44+0NN067EXE00143 FOh@_bBNvDbXFC[FITFBSI~I~I~OQBOTMOX{I~ONbOvoLMSLUkLU`LU]LTzBN_BORFc]FiaBWaBXBCKjF@@FJ{FEFFAHF@^LT{LTkLVLLVEFusF|BFD}FEJLS~I~NCKLUILTpDTz

Since there are no headers, the decoded values need some user-provided metadata to be interpreted (see below in Keywords). Please also keep in mind that one file usually contains the data for several stations and multiple files might contain the data for the same group of stations but for different time periods.

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;
  • METEOFILE#: 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.
    • GOES_EXT: extension of Goes 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)
  • GOES_NODATA: value used to represent nodata (default: -8190);
  • GOES_ONLYFROMPAST: if set to true, data points beyond the current date and time will be rejected as invalid and reading will continue (default: true);
  • GOES_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;

Metafile

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

  • ID: the station id (default: "Goes::" followed by Goes ID);
  • NAME: the station name (default: "Goes::" followed by Goes 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_MULTIPLIER_NEG: factor to apply to each field to bring the value back to SI units, when the raw data is negative (default: same as UNITS_MULTIPLIER);
  • 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 (the given number of parameters defines which lines are valid or invalid);

The FIELDS should take their names from MeteoData::meteoparam when possible, or be either of the following: "STATIONID", "YEAR", "JDN", "HOUR", "SKIP". Any other name will be used as is but won't be automatically recognized within MeteoIO. See below for an example of such metafile, here only containing one station:

[107282] #This is the goesID for this station
fields = Station_nr SKIP SKIP SKIP ISWR RSWR SWR_Net TC1_temp TC2_temp HMP50_temp1 HMP50_temp2 RH RH2 VW VW2
units_offset = 0 0 0 0 0 0 0 273.15 273.15 273.15 273.15 0 0 0 0
units_multiplier = 1 1 1 1 1 1 1 1 1 1 1 0.01 0.01 1 1
fields2 = Station_nr DW DW2 P HS HS2 ISWR_MAX RSWR_MAX Max_TC1 Max_TC2 Min_TC1 Min_TC2 VW_MAX VW_MAX2 Battery_Voltage
units_offset2 = 0 0 0 0 0 0 0 0 273.15 273.15 273.15 273.15 0 0 0
position = latlon (46.8, 9.80, 1700)
id = ARG1
name = argos test 1