Skip to content

Releases: geospace-code/georinex

CRINEX Hatanaka auto-build

03 Sep 07:34
e1daa54
Compare
Choose a tag to compare

For better reliability and ease of use, auto-build Hatanaka CRINEX inline converter program by discovering C compiler and compiling automatically when needed.

Move CI to GitHub Actions

** Restricts Pandas < 0.25.0 for the moment as Pandas 0.25.0 disallows writing NetCDF .nc files due to a conflict with xarray and datetime64[ns] inline conversion. Would have been tricky to discover without periodic CI.

CI integration test, move complicated import functions to own files

02 Jul 02:00
4847762
Compare
Choose a tag to compare

BUGFIX: NAV3 malformed files

17 May 22:04
Compare
Choose a tag to compare

BUGFIX: workaround bad lines in NAV3 files, filling those rows with NaN.

Ignore NAV3 fields "spare" and "FitInterval" which are missing and malformed in many NAV3 files.

Check number of times in file to see if it's as expected.

Overhaul for speed and robustness

28 Mar 19:23
Compare
Choose a tag to compare

Significant overhauling, deduplicating, robustness improvement for RINEX and CRINEX reading.
Particular improvements for:

  • CRINEX 1.x files
  • uncompressed and compressed OBS 2.x files

In particular, the speed difference between "slow" and "fast" reading of OBS2 files is now less than 10% and memory usage is reduced proportional to tlim if specified.

Please let us know of any problem RINEX files.

Read by time interval for OBS, to_datetime() time conversion

05 Mar 18:54
85624f0
Compare
Choose a tag to compare

For OBS2 and OBS3 files, added ability to read by time interval. That is, ready only every say 5 or 30 or whatever seconds. This can greatly speed up parsing of large files when the full time resolution is not needed.
The option is interval= and any of float,int (seconds) or datetime.timedelta can be specified

A convenience function georinex.to_datetime() was added. This converts an xarray.DataArray of times to datetime.datetime ndarray--or scalar if it's only one time.

File extension agnostic

28 Feb 18:11
7ec6983
Compare
Choose a tag to compare

Continuing the work from v1.6.9, we make RINEX and Hatanaka CRINEX reading file-extension agnostic. Some organizations like to name their RINEX/CRINEX in non-standard ways.

This actually made the code simpler (!) and more functionalized.

However, compressed files of any type (.gz, .Z, .zip, etc.) are still decompressed by file extension. If this is an issue, we could consider looking at the file magic number, but I have only in the rarest situations seen where people are not using the standard general compressed file extensions.

BUGFIX: Galileo ionospheric correction, parametrize tests

18 Jan 19:19
0e5ea91
Compare
Choose a tag to compare

Enhance test coverage ~ 94% by parametrizing unit tests

BUGFIX: match RINEX 3 spec for Galileo, only 3 ionospheric correction coefficients

enable StringIO input throughout program

01 Jan 05:38
25453f7
Compare
Choose a tag to compare

Some users may wish to input io.StringIO instead of discrete files, which is now possible for all relevant functions.

better version detection, NAV3 spare detection

01 Jan 02:53
64f0450
Compare
Choose a tag to compare
  • detect RINEX type (obs, nav) based on header first line, not file extension. Despite the file naming convention being standard, it seems inevitable a mistake is made that is trivially detected from the first line of a RINEX file.
  • add IRNSS NAV3
  • better NAV3 spare field handling, not all files have all spare fields.

Better metadata, unit handling, rtklib format support

07 Nov 12:20
0ccac0d
Compare
Choose a tag to compare