georust / rinex

RINEX and GNSS data processing :artificial_satellite:
Apache License 2.0
76 stars 19 forks source link

Fix incorrect RINEX v2 ionosphere parameter parsing #241

Closed fedosgad closed 5 months ago

fedosgad commented 5 months ago

In #239 I made a mistake in parsing code for IONO ... header strings: String format is 2X,4D12.4 (https://files.igs.org/pub/data/format/rinex211.txt, table A3), which means there must 2 empty characters at the beginning of the line. In my code, I skip first 4 characters instead of 2, which can lead to errors in f64::from_str further down the line. Unfortunately, existing tests were incorrect too, so mistake hasn't been caught early.

I fixed parsing code and added more tests from credible sources. Sorry for the bug.

gwbres commented 5 months ago

Hello, no worries ! I'll look into this tomorrow

there must 2 empty characters at the beginning of the line

Yeah this happens everywhere in RINEX.. Although I don't understand why the previous test did not catch any problem

I guess it all depends whether we want the function to accept the entire line, or something prepared. I think it's easier, especially when working with the header section, to process the complete line in the function, hence the trap we might fall in here

gwbres commented 5 months ago

I'm thinking we should maybe host a complete PPP set in V2, like we do in V3, that would be the best thing to do to test all functionalities