georinex icon indicating copy to clipboard operation
georinex copied to clipboard

Introduce HeaderClass

Open VOMAY opened this issue 4 years ago • 4 comments

Dear Michael,

I am looking into speeding up the RINEX3 processing. While reading the code, I saw that the header information handling is done quite confusing. I thought of an easier way to using a HeaderClass, which I want to implement first. I am convinced its more comprehensible and easier to maintain. I also took some ideas from @anand-satnav

What do you think about this solution? If you like it, I will continue to implement it, while also fixing the speed. I am willing to implement this also for rinex2 and nav, which should eventually shorten the code.

Note: The code does not run yet.

VOMAY avatar Jan 02 '20 17:01 VOMAY

This pull request introduces 4 alerts when merging e053e037bc7fcd73a2c3c24ae0955a2050351bf1 into 03998adbd379bc9cfa647bada0c149e76756b60f - view on LGTM.com

new alerts:

  • 2 for Unused local variable
  • 1 for 'import *' may pollute namespace
  • 1 for Wrong number of arguments in a call

lgtm-com[bot] avatar Jan 02 '20 17:01 lgtm-com[bot]

This pull request introduces 2 alerts when merging 44107e12debc258956e8c2a84e1befc9890f7d37 into 03998adbd379bc9cfa647bada0c149e76756b60f - view on LGTM.com

new alerts:

  • 1 for Unnecessary pass
  • 1 for Unused import

lgtm-com[bot] avatar Jan 03 '20 17:01 lgtm-com[bot]

I put in some more work and I like the result a lot. The code is more comprehensible and much faster. I managed to read a 40MB RINEX3 obs file in 4 seconds on a windows notebook.

I modified the coordinates, like I proposed in the past, to (const, prn, time). This makes data slicing easier for many applications.

VOMAY avatar Jan 03 '20 17:01 VOMAY

Sorry for slow reply--thanks for thinking about this and the initial implementation! I am also thinking in light of what you and others have said, to make georinex use Dict instead of xarray, because of the non-rectangular nature of GNSS data over hours, where satellites are going in and out of view, making so many NaNs in a rectangular xarray.DataArray

scivision avatar Feb 05 '20 21:02 scivision