jtec / prx

MIT License
8 stars 6 forks source link

tof compensation issue in case of empty CXX columns #95

Open philippebrocard opened 2 months ago

philippebrocard commented 2 months ago

https://github.com/jtec/prx/blob/3667497a8fe894b91441ab1e063a2c8259731687/src/prx/main.py#L261

I suspect this line is causing issues in some rinex obs files with empty CXX columns that seem not parsed as nan but something else (zeros ?). Then the tof becomes erroneous, leading to satellite coordinates inconsistent with the sat position at transmission time. Can be solved by using the maximum pseudo range (or any non 0 one).

jtec commented 2 months ago

Can reproduce the issue by setting a breakpoint here

https://github.com/jtec/prx/blob/0101d7e1a6b9db07061517bf0fcfbff67348e2c5/src/prx/main.py#L253

and running

per_sat[per_sat[code_phase_columns].sub(per_sat[code_phase_columns].mean(axis=1, skipna=True), axis=0).abs().max(axis=1) > 1000]

which shows a bunch of satellites with wildly different code observations, mostly GLONASS and one Beidou:

Screenshot 2024-08-26 at 14 18 24