Releases: geospace-code/pymap3d
bugfix: ecef2geodetic inside bug from 2.6.0
when implementing the speedup of 2.6.0, a mistake was made in ecef2geodetic that could cause an exception. This is now fixed thanks to @dschurman
100x speedup for Numpy operations
eliminated numpy.vectorize for ~100x speedup of many of the pymap3d functions, while still preserving the "no-Numpy" functionality for scalars.
pypi readme fix, pep621
v2.5.1 includes tests in bundle
Python >= 3.7, modernize type annotations
For better internal quality, modernize type annotations in accord with Numpy 1.20 final release.
This requires __future__.annotations
, which requires Python >= 3.7.
For many months, Python 3.5 use of pymap3d has been ≪ 1%
Python 3.6 use of pymap3d continues to drop as current Numpy requires Python >= 3.7 as well.
Python 3.5 and 3.6 users can continue to use pymap3d 2.4.x.
If we find any significant bugs, we plan to backport them to pymap3d 2.4.x as long as there is still significant pymap3d usage from Python < 3.7.
prepare for optional Numpy 1.20 type hinting
Numpy 1.20 adds optional type hinting in the numpy.typing module. ArrayLike is a key type we feel appropriate for PyMap3D. PyMap3D will continue to work without Numpy or older versions of Numpy.
We add optional type hinting using numpy.typing.ArrayLike
add codecov, cleanup test
- remove extraneous syntax from tests
- add codecov
ECI: restore less accurate Numpy-only fallback
v2.4.0 too boldly removed the non-AstroPy ECI conversions that only require Numpy. However, the Numpy-only fallback can have several percent error due to rotation only being considered. AstroPy considers higher-order effects that greatly increase accuracy of conversions involving ECI (eci2* or *2eci)
This release restores optional status of AstroPy for ECI, but Numpy is still required for ECI as it always has been for PyMap3d.
eci: use AstroPy
The ECI calculation error was substantial for some applications due to only considering Earth rotation. Now ECI calculations use AstroPy for better accuracy (< 1% error) considering more factors in the ECI transformations.
Fixes #33
Added geodetic2eci
Added more ECI self-tests
Temporarily pinned CI to Python 3.8 to avoid the usual issues with brand new Python releases not immediately having PyPi wheels for Astropy. We still also test Python 3.5.
return scalars when result is scalar
also move to python "src/" directory layout
return scalar for scalar input
v2.0 introduced the use of numpy.vectorize to allow seamless pymap3d use with ndarray but also without numpy and scalars. However, this returned 0-d ndarray for certain functions rather than scalars for scalar inputs. This fixes that issue and adds tests for it.