groops-devs / groops

A software toolkit for gravity field recovery and GNSS processing
GNU General Public License v3.0
178 stars 106 forks source link

GnssRinexNavigation2OrbitClock for GLONASS and SBAS #145

Closed akvas closed 1 year ago

akvas commented 1 year ago

Discussed in https://github.com/groops-devs/groops/discussions/144

Originally posted by **ParisaShafiei** December 16, 2022 Dear Torsten, In converting the RINEX navigation files to orbits and clocks, I have noticed that there is an issue to converting the GLONASS and SBAS satellite data. By reading the BRDM files, I manged to get the orbits and clocks for GPS and Galileo, but due to the following error message, I could not succeed to get the GLONASS and SBAS orbits and clocks. This the error message: **(process 4) conversion not implemented yet for these satellites: R01 R02 R03 R04 R05 R06 R07 R08 R09 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R26 S22 S23 S25 S26 S27 S28 S29 S30 S31 S32 S33 S36 S37 S38** I think there is a bug in this program which inhibits to convert the GLONASS and SBAS orbits and clock. Thank you for your time and support. With kind regards, Parisa
akvas commented 1 year ago

Hi @ParisaShafiei,

I opened this issue as it is more implementation related rather than a general usage question. As you can see from the error message, the conversion to GROOPS format is not yet implemented for R and S slots. You could extend the program by implementing the conversion for these satellites and open a pull request if you need it promptly.

Cheers, Andreas

zhedumi commented 1 year ago

As a sidenote most of the orbit computation is already implemented within gnssRinexNavigation2OrbitClock.cpp. There are only a few things to be actually done which I have not gotten around yet since Rinex GLONASS and SBAS orbits have not been relevant for anyone. Basically the following needs to be adressed for GLONASS and SBAS:

  1. Check reference Frame parameters for SBAS and GLONASS from the respective ICDS and other technical documents and add the respective parameters to the code (such as GM, C20 ... etc)
  2. Thoroughly check the rungeKutta4 orbit integration approach since there is an integration error of ~10m after 15 minutes of integration time which seems to large
  3. Validate the computed orbit to other SBAS and GLONASS products.

Earliest I get around to look into this is in the new year in mid January.

Best regards, Patrick

ParisaShafiei commented 1 year ago

Dear @akvas and @zhedumi,

Thank you so much for opening this issue and the explanation you have provided.

Since, I only have the GPS observations in my LEO RINEX observation files, I decided to ignore the GLONASS constellation in GNSS network processing and only get the precise orbits, clocks and signal biases for the GPS satellites.

Your consideration is really appreciated.

With kind regards, Parisa

zhedumi commented 1 year ago

Since I nearly forgot to mention it within the next update GLONASS reading will be included and working. SBAS will still not be usable since I did not have time to look into it and prio is pretty low for it at the moment.

amour2049 commented 1 year ago

Dear @akvas @zhedumi I have completed the SBAS support in gnssRinexNavigation2OrbitClock.cpp and have open a PR #195 .Please review and megre it . With kind regards, Amour

tmayerguerr commented 1 year ago

Dear Amour,

Thank you for providing the SBAS support. It took a while on our side, but now the pull request is in the main branch.

regards Torsten