RINEX

In the field of geodesy, Receiver Independent Exchange Format (RINEX) is a data interchange format for raw satellite navigation system data. This allows the user to post-process the received data to produce a more accurate result &mdash; usually with other data unknown to the original receiver, such as better models of the atmospheric conditions at time of measurement.

The final output of a navigation receiver is usually its position, speed or other related physical quantities. However, the calculation of these quantities are based on a series of measurements from one or more satellite constellations. Although receivers calculate positions in real time, in many cases it is interesting to store intermediate measures for later use. RINEX is the standard format that allows the management and disposal of the measures generated by a receiver, as well as their off-line processing by a multitude of applications, whatever the manufacturer of both the receiver and the computer application.

The RINEX format is designed to evolve over time, adapting to new types of measurements and new satellite navigation systems. The first RINEX version was developed by W. Gurtner in 1989 and published by W. Gurtner and G. Mader in the CSTG GPS Bulletin of September/October 1990. Since 1993 the RINEX 2 is available, which has been revised and adopted several times. RINEX enables storage of measurements of pseudorange, carrier-phase, Doppler and signal-to-noise from GPS (including GPS modernization signals e.g. L5 and L2C), GLONASS, Galileo, Beidou, along with data from EGNOS and WAAS satellite based augmentation systems (SBAS), QZSS, simultaneously. RINEX version 3.02 was submitted in April 2013 and contain new observation codes from GPS or Galileo systems. The most recent version is RINEX 4.01 from July 2023.

Although not part of the RINEX format, the Hatanaka compression scheme  is commonly used to reduce the size of RINEX files, resulting in an ASCII-based CompactRINEX or CRINEX format. It uses higher-order time differences to reduce the number of characters needed to store time data.