Potential Error parsing Rinex files

I was reading in a group of Rinex files (format 3.02) with the latest development version of Orekit, when the code threw an error while parsing Line 18 of the file:

G L1C 0.00000 30 G19 G17 G06 G11 G25 G24 G32 G03 G15 G14 SYS / PHASE SHIFT

When I checked the actual code that parsed the file, I found that the code read in the satellite values (G19 - G14) just fine, but the error occurred because the loop that read in the satellite values kept going past the end of the list. This happened because the condition for ending the for loop (RinexObservationParser.java, line 617):

i < RinexUtils.LABEL_INDEX

ends the loop when all the satellites for that particular line of the Rinex file have been read in. Currently the value RinexUtils.LABEL_INDEX, is set to 60. When I set this value to 59, the code read in all the Rinex files (about 20 of them) without incident.

A copy of the file I used:
SampleRinexFile.23O (2.6 KB)

I have opened issue 1175 for that, and fixed it.
Interestingly enough, this file also allowed to discover two additional issues: issue 1176 and issue 1177, that have also been fixed.

1 Like