XDATA Instrument Decoding

The radiosondes that we detect will sometimes include secondary instruments such as Ozone sensors which transmit their information via the XDATA protocol in telemetry. We can receive the raw transmitted XDATA values for RS41 and RS92 sondes with radiosonde_auto_rx with iMet-1/4 also coming soon. The DFM and M10/20 sondes also support XDATA but we cannot currently decode these values from telemetry due to a lack of sample recordings (if you are within range of a location launching either of these sondes with XDATA instruments please get in touch).
We previously didn’t process these raw values which limited their usefulness, so recently initial support for decoding has been added to the SondeHub tracker. There are approximately 20 different XDATA instruments flown but the Viasala OIF411 Ozone interface board accounts for the large majority of samples in the SondeHub database so that was the initial focus.
Mark Jessop created an initial Javascript function that could decode raw OIF411 XDATA frames and return the pump temperature, along with power measurements for various instruments. He also added support for determining the approximate 03 partial pressure using these values along with the sonde detected pressure and placeholder calibration values resulting in an output that is within +/- 1 mPa of the 'truth' data.
Luke Prior worked on integrating this script into the tracker and also created four more decoders for other popular XDATA instruments and support for detecting the type for others. These included the Compact Optical Backscatter Aerosol Detector and Peltier Cooled Frost point Hygrometer from ETH Zurich, the Fluorescent Lyman-Alpha Stratospheric Hygrometer from Central Aerological Observatory, and the Peltier-Based Chilled-Mirror Hygrometer from Meisei.

The XDATA formats for all these instruments have been documented on the sondehub-infra wiki here: https://github.com/projecthorus/sondehub-infra/wiki/XDATA-Decoding and we would strongly encourage anyone with further information not listed to get in touch. We hope to add support for the remaining instruments which are regularly flown such as the EnSci CFH, and NOAA FPH provided we can find the required documentation.
The decoding is currently done entirely within the SondeHub tracker with only the raw frame data being stored in the database. We plan to eventually migrate this to our ingestion pipeline to support keeping track of calibration values and allowing other programs to easily access the information.
Radiosondy.info Recovery Ingestion
We have been working with Michał Lewiński SQ6KXY the creator of Radiosondy.info to facilitate the sharing of recovery information between the two sites. You may have noticed this already on the tracker and SondeHub recoveries should appear on Radiosondy.info soon.
We faced some difficulties in matching the recoveries from Radiosondy.info to our SondeHub records as only the RS41, RS92, and DFM sondes use the same serial on both sites. The solution we are using for all other sondes is using the launch time, position, sonde type, and frequency to check for matching values in the SondeHub database.
This setup works sufficiently and we are able to process most of the recoveries from Radiosondy.info. The addition of this recovery support will improve the historical launches feature and allow users to submit a recovery on a single site and have it appear on both.