Skip to content

RINEX File Check and Repair

IIf one gets data of unknown quality, one should pass them at least once through a check procedure. If an output file is created it will be RINEX conform nevertheless the input was corrupt.

With gfzrnx this can be done via:

gfzrnx -finp pots0070.15o -fout pots0070.15o_chk -chk -kv

With -chk all formal checks are done on the input file.

The -kv (keep version) ensures the same output version as the input file (standard output format is the latest supported format).

The following modifications are done in the output file:

  • Update of observation types to really existing ones, overall empty observation types are removed.

    • SYS / # / OBS TYPES
    • # / TYPES OF OBSERV
  • Statistical information is added or updated in the file header.

    • PRN / # OF OBS
    • # OF SATELLITES
    • INTERVAL
    • TIME OF FIRST OBS
    • TIME OF LAST OBS

Here is an example of an updated RINEX header information:

C   10 C1I C6I C7I D1I L1I L6I L7I S1I S6I S7I              SYS / # / OBS TYPES 
E   13 C1X C5X C7X C8X D1X L1X L5X L7X L8X S1X S5X S7X S8X  SYS / # / OBS TYPES 
G   20 C1C C2W C2X C5X D1C D1P D1W D2W L1C L1P L1W L2W L2X  SYS / # / OBS TYPES 
       L5X S1C S1W S2C S2W S2X S5X                          SYS / # / OBS TYPES 
J   19 C1C C1X C1Z C2X C5X C6L D1C L1C L1X L1Z L2X L5X L6L  SYS / # / OBS TYPES 
       S1C S1X S1Z S2X S5X S6L                              SYS / # / OBS TYPES 
R   13 C1C C1P C2C C2P D1C L1C L1P L2C L2P S1C S1P S2C S2P  SYS / # / OBS TYPES 
S    4 C1C D1C L1C S1C                                      SYS / # / OBS TYPES 
    76                                                      # OF SATELLITES     
   C01  2863  2863  2863  2863  2863  2863  2863  2863  2863PRN / # OF OBS      
        2863                                                PRN / # OF OBS      
...
   C14  1365  1363  1363  1365  1365  1363  1363  1365  1363PRN / # OF OBS      
        1363                                                PRN / # OF OBS      
   E11   900   895   893   899   900   900   895   893   899PRN / # OF OBS      
         900   895   893   899                              PRN / # OF OBS      
   E19  1605  1601  1601  1603  1605  1605  1601  1601  1603PRN / # OF OBS      
        1605  1601  1601  1603                              PRN / # OF OBS      
   G01  1189  1148  1181  1181  1189                    1189PRN / # OF OBS      
                    1148  1181  1181  1189        1181  1148PRN / # OF OBS      
        1181  1181                                          PRN / # OF OBS      
...
   G32  1247  1241              1247                    1247PRN / # OF OBS      
                    1241              1247              1241PRN / # OF OBS      
                                                            PRN / # OF OBS      
   J01  2863  2863  2863  2863  2863  2863  2863  2863  2863PRN / # OF OBS      
        2863  2863  2863  2863  2863  2863  2863  2863  2863PRN / # OF OBS      
        2863                                                PRN / # OF OBS      
   R01   713   713   709   706   713   713   713   709   706PRN / # OF OBS      
         713   713   709   706                              PRN / # OF OBS      
...
   R24   695   695   695   695   695   695   695   695   695PRN / # OF OBS      
         695   695   695   695                              PRN / # OF OBS      
   S26  1973  1973  1973  1973                              PRN / # OF OBS      
...
   S37  2863  2863  2863  2863                              PRN / # OF OBS      
    30.000                                                  INTERVAL            
  2014     8    17     0     0    0.0000000     GPS         TIME OF FIRST OBS   
  2014     8    17    23    59   30.0000000     GPS         TIME OF LAST OBS    
...

The repair of a file is different concerning RINEX-2 and RINEX-3(4,...). Data values are not corrected! Via the repair operation, formally corrupt observation parts are omitted only.

  • RINEX-2

    • A complete epoch block is removed in case of corrupted data detection.
  • RINEX-3 and higher

    • A complete satellite block (line) is removed in case of corrupted data detection.

Use the -nav_epo_filter command line parameter to filter the navigation data input via epoch record checks. In this case, only nominal epochs are passed to the output file. Excluded records are given in the log table. Only epoch minutes and hours are checked at the moment. The following table shows valid hours and minutes per satellite system:

Sat. System Minutes Hours (modulo)
C 0 1
E 0,10,20,30,40,50 1
G 0 2
R 15,45 1
J 0 1

Meteo Data check/edit against NWM-Data

RINEX-meteo site data can be checked against a reference RINEX-file created from e.g. Numerical Weather Model (NWM) data (predicted or reprocessed). Two input files have to be given via the -finp command line parameter. The first file is the one to be checked, the second file is the reference file to be checked against.

The check limits for the different observation types are taken from the reference file "SENSOR MOD/TYPE/ACC" header records. Here is an example:

DNSXGFZ             ERA5/ECMWF                   10.0    PR SENSOR MOD/TYPE/ACC 
DNSXGFZ             ERA5/ECMWF                   10.0    TD SENSOR MOD/TYPE/ACC 
DNSXGFZ             ERA5/ECMWF                  100.0    HR SENSOR MOD/TYPE/ACC 

Observations that exceed the difference limits are eliminated and don't go to the output file.

gfzrnx -met_nwm -finp POTS00DEU_R_20200010000_01D_05M_MM.rnx POTS00DEU_R_20200010000_01D_05M_MM.rnx_nwm -fout POTS00DEU_R_20200010000_01D_05M_MM.rnx_chk

By default, all observation types found in the reference file are used for the differences checks. To limit the tests to single observation types, they can be given via the -obs_types or -ot command line parameters.

gfzrnx -met_nwm -finp ... -fout POTS00DEU_R_20200010000_01D_05M_MM.rnx_chk -ot TD,HR

The removed observations are documented in the log.

... | MESSAGE
...-+-----------------------------------------------------------...
... | MET_NWM: ignoring checks for obs. type -> PR
    | MET_NWM: DELETED 2020-01-01 00:05:00.0000000 HR -   -81.4(   97.4) exceeds limit of 100.0(178.8)
    | MET_NWM: DELETED 2020-01-01 00:15:00.0000000 TD -    29.0(    2.6) exceeds limit of 10.0(26.4)
...