SondeHub Telemetry Format - projecthorus/sondehub-infra GitHub Wiki
This page describes the telemetry format that is uploaded to the SondeHub ElasticSearch Database. API information for submitting and extracting telemetry to this database is available here: https://github.com/projecthorus/sondehub-infra/wiki/API-(Beta)
Each telemetry datapoint is uploaded as a JSON object, with the fields described in the tables below. Multiple telemetry datapoints can be uploaded in one request, as described here.
Mandatory Fields
These fields represent the bare minimum amount of data that must be included in an upload.
Field | Type | Description | Allowed Values | Notes |
---|---|---|---|---|
software_name |
string | Name of the decoding software | e.g. 'radiosonde_auto_rx', 'rdzTTGOsonde', 'RS41Tracker' | |
software_version |
string | Version of the decoding software | e.g. '1.4.0', 'devel20210728' | |
uploader_callsign |
string | Callsign of the uploader | Arbitrary string. Uploader position information and other metadata will be handled separately, but will need to match this callsign to enable calculation of listener statistics. | |
time_received |
string | The time the telemetry packet was received. UTC time in YYYY-MM-DDTHH:MM:SS.SSSSSSZ format. |
||
manufacturer |
string | Radiosonde Manufacturer | 'Vaisala', 'Graw', 'Meteomodem', 'Intermet Systems', 'Lockheed Martin', 'Meteo-Radiy', 'Meteosis', 'Meisei', Weathex | |
type |
string | Top-Level Radiosonde Model | 'RS41', 'DFM', 'PS-15', 'M10', 'M20', 'iMet-4', 'iMet-54', 'LMS6-400', 'LMS6-1680', 'MRZ', 'MTS01' 'iMS-100', 'RS-11G', 'WxR-301D', 'WxR-301D-5k' | The high-level radiosonde model, as can be determined just from the transmit modulation and packet format. e.g RS41, RS92, M10, M20, DFM, iMet-4, iMet-54, LMS6-400, LMS6-1680, MRZ, MTS01, iMS-100, RS-11G, WxR-301D |
serial |
string | Radiosonde Serial Number. Where possible this should be in the format which matches the sticker/label on the radiosonde itself | iMet-1/iMet-4 sondes do not provide a serial number, and so auto_rx generates a serial number based on launch time and transmit frequency. DFM sondes do not regularly transmit their serial number, and so data from these sondes should not be uploaded before the serial number is known. | |
frame |
int | Frame Number, ideally unique over the entire flight. | The overflow point for the frame numbers varies between sonde types. If a radiosonde does not provide a unique enough frame number (e.g. M10, M20, DFM), then use the datetime value, converted to a unix timestamp. | |
datetime |
string | Date/Time from the sonde's GPS, provided in YYYY-MM-DDTHH:MM:SS.SSSSSSZ format. **Note: The raw time from the sonde is used, whether it is provided as GPS time or UTC time. Only apply a leap second offset if it is included in the telemetry itself (M10 only for now). ** |
Some sondes (e.g. iMet, LMS6) do not provide the date portion of the timestamp. In this situation, the date portion should be added on by the receiver. An example of how to handle this problem is available here. | |
lat |
float | Latitude (decimal degrees) | ||
lon |
float | Longitude (decimal degrees) | ||
alt |
float | Altitude (metres) |
Optional Telemetry Fields
These fields should only be included in the uploaded JSON object if they are available, and considered to be reliable.
Field | Type | Description | Notes |
---|---|---|---|
subtype |
string | Detailed Radiosonde Model Type | 'RS41-SG', 'RS41-SGP', 'RS41-SGM', 'DFM06', 'DFM09', 'DFM09P', 'DFM17', 'PS-15', 'M10', 'M20', 'MRZ-H1' |
temp |
float | Measured Temperature (deg C) | |
humidity |
float | Measured Relative Humidity (%) | |
pressure |
float | Measured Pressure (hPa) | |
vel_h |
float | Horizontal Velocity (m/s) | |
vel_v |
float | Vertical Velocity (m/s) | |
heading |
float | Heading (degrees True) | |
sats |
int | Number of SVs used in position solution | |
batt |
float | Battery Voltage (volts) | |
burst_timer |
int | RS41 burst-timer value, in seconds. | |
xdata |
string | Auxiliary Data (e.g Ozone data) as a hexadecimal string. Chained XDATA messages must be delimited by a # character. e.g. 0501036302BB18B08100#8002629471A00012FD6C0A66 |
|
frequency |
float | Transmit frequency of the radiosonde in MHz, as estimated by the receiver software (e.g. FSK frequency estimation). | |
tx_frequency |
float | Transmit frequency of the radiosonde in MHz, as determined by information provided in the radiosonde telemetry. | |
ref_position |
str | Information on the position (mainly altitude) reference used. GPS = Height above WGS84 Ellipsoid, MSL = Height above Mean Sea Level (usually based on the EGM94 geoid). | |
ref_datetime |
str | Information on the time reference used. Valid options: GPS (e.g. no leap-second correction), UTC |
Optional Metadata Fields
These fields provide additional information about how and where the radiosonde telemetry was received.
Field | Type | Description | Notes |
---|---|---|---|
snr |
float | Signal-to-Noise ratio of the received signal, in dB | |
rssi |
float | Received-Signal-Strength-Indication of the radiosonde signal, nominally in dBm | |
uploader_position |
list | Station position, as a list [lat, lon, alt] | |
uploader_antenna |
string | Station antenna information, free-text string. |