georust / rinex

RINEX and GNSS data processing :artificial_satellite:
Apache License 2.0
63 stars 14 forks source link

Bugfix and refactoring in IonMessage parsing. #238

Closed fedosgad closed 2 months ago

fedosgad commented 2 months ago

Note: I only implemented 4 field parsing and not arbitrary field count parsing because:

  1. 4 field parsing is used most often, other parameter counts are used only once
  2. I don't know a simple way to do so (feel free to correct)
gwbres commented 2 months ago

Hello,

sounds like we can then take advantage of it when actually parsing the file. I will look into this tonight, will keep you updated

gwbres commented 2 months ago

Hello,

I added code in src/Header to handle the (very) old ION ALPHA and ION BETA markers which would work like RINEX3, and are either RINEX1 or 2. I don't have example of those, this it is actually untested, but the RINEX3 is tested though.

It also turns out the current implementation is wrong because we only support a single Klobuchar model to be described in the header. I corrected this to work with real RINEX 2 and 3, which is possibly several models (per constellation) and possibly NG Model as well.

Will squeeze that into V0.16, but I want to give it a try first (with cli -p)

fedosgad commented 2 months ago

I submitted #239 - it contains v2 parsing code. It is not compatible with this PR unfortunately, so you can close it if you want, but I hope code may be helpful.

gwbres commented 2 months ago

I submitted #239 - it contains v2 parsing code. It is not compatible with this PR unfortunately, so you can close it if you want, but I hope code may be helpful.

Ok, I'll just merge the few bits that this one improves, that allow to have several corrections - one per constellation, which may happen in RINEX3.

Also, thank you for taking the time to write a test