geospace-code / georinex

Python RINEX 2 / 3 NAV / OBS / sp3 reader & batch convert to HDF5 with C-like speed
MIT License
216 stars 89 forks source link

Mix-up Galileo Health and SISA when spare data are missing #93

Open JulieTls opened 1 year ago

JulieTls commented 1 year ago

Hi, For Galileo satellites, we've noticed that the function georinex.load inverts SISA and health value when the spare data on line BROADCAST ORBIT - 5 is missing. For example:

E03 2022 03 01 19 30 00-5.329113919288E-04-3.950617610826E-12 0.000000000000E+00 2.100000000000E+01-1.754062500000E+02 2.726899300587E-09 1.490182316738E+00 -8.136034011841E-06 1.614848151803E-04 1.358985900879E-05 5.440636070251E+03 2.430000000000E+05 3.352761268616E-08-2.121533263633E-01-6.332993507385E-08 9.566859616275E-01 4.578125000000E+01 1.171369975347E-01-5.395939048234E-09 -2.607251459631E-11 5.170000000000E+02 2.199000000000E+03 3.120000000000E+00 0.000000000000E+00 3.259629011154E-09 3.725290298462E-09 2.436840000000E+05

returns health = 3.12 and SISA = 0. This problem doesn't occur when the spare data is fixed to 0, for example:

E03 2022 03 01 19 30 00-5.329113919288E-04-3.950617610826E-12 0.000000000000E+00 2.100000000000E+01-1.754062500000E+02 2.726899300587E-09 1.490182316738E+00 -8.136034011841E-06 1.614848151803E-04 1.358985900879E-05 5.440636070251E+03 2.430000000000E+05 3.352761268616E-08-2.121533263633E-01-6.332993507385E-08 9.566859616275E-01 4.578125000000E+01 1.171369975347E-01-5.395939048234E-09 -2.607251459631E-11 2.580000000000E+02 2.199000000000E+03 0.000000000000E+00 3.120000000000E+00 0.000000000000E+00 3.259629011154E-09 0.000000000000E+00 2.437470000000E+05 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00

I think it would be nice to correct this problem in the next version of georinex, since it could be very tricky. Meanwhile, I've implement the following patch based on regex: re.sub(r'(E\d{2,2}[^\n]{77,77}\n[^\n]{80,80}\n[^\n]{80,80}\n[^\n]{80,80}\n[^\n]{80,80}\n[^\n]{61,61})\n', r'\1 0.000000000000E+00\n', file_content) Do not hesitate to contact me for further details. Kind regards, Julie