RINGO v0.9.4 (March, 2025)

1. New Features


  • Support for RINEX 4.02
    Support for the latest RINEX 4.02 format has been added.

    RINEX 4.02: https://igs.org/news/rinex-4-02/

  • International Geomagnetic Reference Field (IGRF14) support
    The geomagnetic model used for the higher-order ionospheric correction in “ioncorr” command has been updated to the latest IGRF14 model. With this update, the higher-order ionospheric correction can be applied until 2029-12-31. The updated model also slightly changes the results for the period 2020-01-01 ~ 2024-12-31 by the previous RINGO version that uses the IGRF13 model.

    International Geomegnetic Reference Field (IGRF):
    https://www.ncei.noaa.gov/products/international-geomagnetic-reference-field

2. Misc


  • “bingo”, “rtcmgo” automatically add “LEAP SECONDS” value in the header of RINEX4 navigation data output.
  • “bingo”, “rtcmgo” can now accept multiple input files simultaneously.
  • “rtcmgo” command supports RTCM message 1045 (Galileo F/NAV ephemeris).
  • The approximate position is automatically estimated even if the approximate position is not shown in the RINEX observation file header when “merge” or “rnxcsv” command is executed.
  • The Navigation Data Type “FNAV” and “INAV” are automatically reflected based on the Data Sources record for the Galileo navigation data in RINEX4.
  • Support for the QZSS L1C/B signals for binex to RINEX conversion.
  • Add 3rd-order ionospheric correction to “ioncorr” command by “-3” or “--corrion3rd” option. (but this option is still experimental)

3. Bug fixes


  • Fix an issue that “merge” command with both –obstypes and –inclSat options would cause a panic if the specified satellites were inconsistent.
  • Fix a problem that LLI is not modified (LLI+=4) for RINEX2 data with Anti-spoofing on (L1W, L2W) when “--obstypes” option is specified.
  • Fix receiver clock offset output for RINEX2. The value of receiver clock offset was output as “0” by the previous RINGO, but now output as blank.
  • Fix handling of invalid phase values when reading RTCM data. Invalid phase values are now skipped.
  • Fix handling of Galileo TGD values when reading RTCM data. Previous RINGO outputs raw value, but it should be correctly converted to seconds.
  • Implement CRC checks for reading RTCM data to ensure data integrity. If the CRC check fails, the data will be skipped and a warning message will be displayed.

RINGO v0.9.2 (September, 2024)

1. New Features


  • Support for azimuth-dependent elevation mask
    Added global flag “--elmaskf” that enables elevation mask for reading RINEX files. Azimuth-dependent elevation mask is also supported. See documentation for more detail.

  • High-rate data support
    The previous RINGO only supports RINEX data up to 1 second interval. Now RINGO can handle high-rate data up to 10Hz.

  • deepMerge option to be default
    The option “--deepMerge” that enables merging obsdata with overlapping timetags has been changed to default. The data are also sorted by time.

  • Calculation of approximate position in QC
    The approximate position is automatically calculated if the approx position is unknown, i.e., the case observation file does not include “APPROX POSITION XYZ”. A new option “--calcpos” is also added that recalculate the approximate position in QC. (The accuracy is about a few tens of meters.)

2. Misc


  • Support of conf file with any extension. Previous versions only accepted .yml files.
  • Support conversion of BINEX and RTCM to RINEX2.
  • Add Checksum and CRC when reading BINEX data to check the integrity of the data. If the checksum fails, the data is skipped and a warning message is displayed.
  • Support QC of NavIC data.
  • Supress NaN output for missing qc data of rnxcsv.
  • The values of satsys and obstypes in header are automatically changed according to the actual data contained in the merged file.
  • Support for signals defined in RTCM 10403.3 (August 19, 2022).
  • Suppress output of unsupported observation header parameters.
  • Suppress output data of unsupported satellite systems.
  • Update crinex version to v1.4.2.

3. Bug fixes


  • Add cylce slip flag on LLI (=1) for BINEX to RINEX conversion.
  • Fix the value of LLI of AS on (LLI+=4) when outputting RINEX2.
  • Fix invalid SatID output for satsys that is not supported by RINGO.
  • Skip QC of GLONASS data if the frequency number is not available in both observation and navigation data.

RINGO v0.9.0 (January, 2024)

1. New Features


  • New command “rnxcsv”
    Converts a RINEX observation file to a csv file. This command also supports qc output via “–qcmode” flag that includes timeseries of each linear combination and cycle slip flags.

  • Support for direct reading of Compact RINEX (Hatanaka Format) files
    Enables reading of Compact RINEX (Hatanaka Format) files natively, without using the external program “CRX2RNX”.

  • Wildcard support for Powershell in the Windows version
    Enables filename pattern expansion with wildcards (e.g., “*”, “?”, “A-X”) in Powershell.

  • Support for RINEX 4.01 update (2023-07-10)
    Added support for new observation codes included in the RINEX 4.01 update on 2023-07-10.

  • Support for BINEX 0x7f update (2023-08-31)
    Added support for QZSS L1C/B and other modern signals included in the BINEX 0x7f update on 2023-08-31.

  • New opt “–deepMerge” for merge
    Enables merging observation data deeply via “–deepMerge” flag. This can merge data with the same epochs taking into account differences in satellites and observation codes.

  • New opt “–phaseshift”
    Enables to apply phase shift corrections in output for the related commands.

  • Observation code mapping change for RINEX version conversions “ObscodeMapping” section is added to change default observation codes mapping table that is used for RINEX version conversions.

  • Performance improvements
    Speed up the output and enable parallel reading of multiple input files.

2. Misc


  • Output contents of unknown header labels, not ignored
  • Support for reading interrupted obs data from correct position
  • Skip observation data with unknown observation codes
  • Keep LLI flags to the following data that are skipped by the change of data interval. This feature can be controlled by “–ignore-skipped-lli” and “–seconds-keep-lli” flags.
  • Change behavior when invalid values are recorded in the “ANTENNA” related headers from an error to a warning, and the invalid antenna values are output as is

3. Bug fixes


  • Fix typo in the help message of “cal” command
  • Fix an issue in which the number of epochs in QC changes by one when the time tag contains a decimal number of seconds
  • Fix an issue in qc result that number of observation data was not calculated if the observation data include clock offsets > 0 msec at the beggining of the file
  • Fix an issue that only one “IONOSPHERIC CORR” or “TIME SYSTEM CORR” could be output even if multiple values were stored in a navigation file.