geospace-code / georinex

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

Enhacement: Allow several messages per epoch and satellite on Galileo depending on Data source #48

Closed arturo-belano closed 5 years ago

arturo-belano commented 5 years ago

Broadcasted navigation RINEX can contain several navigation messages on the same epoch depending on navigation message decoded for Galileo (INAV[E1B, E5b] / FNAV [E5a]) in a particular station (signal decoded). It would be great to allow the xarray to contain several ephemeris per satellite on the same epoch to differenciate between data sources.

daniestevez commented 5 years ago

I needed this functionality when doing this study, so I hacked together a modified version of georinex that allows several navigation messages for the same SVN and timestamp.

The way this is done is that additional SVN entries are created in the xarray Dataset to store the additional entries (which often come from different data sources). These are numbered with a suffix counter. Thus, you get E01, E01_1, E01_2, ..., each of these storing the data for different data sources.

Maybe it would be good to include this behaviour into georinex so that it can be toggled as an option when reading navigation RINEX files. My modification only covers RINEX 3.

scivision commented 5 years ago

OK thanks for this interesting approach and commentary. I noticed so many of the NAV times have duplicate entries, and for the work we were doing at the time, we simply discarded the duplicates, but I thought there must be some cases for which the discarded data is useful.

So is simply appending an arbitrary indexing integer as @daniestevez suitable for the purposes here?

scivision commented 5 years ago

This was merged in #52, please let us know if anything further can be improved.