"A Python wrapper for Apex coordinates"
Project description
This is a Python wrapper for the Apex fortran library by Emmert et al. [2010] [1], which allows converting between geodetic, modified apex, and quasi-dipole coordinates as well as getting modified apex and quasi-dipole base vectors (Richmond [1995] [2]). The geodetic system used here is WGS84. MLT calculations are also included. The package is free software (MIT license).
Quick start
Install from PyPI using pip:
pip install apexpy
This assumes that the same version of libgfortran is installed in the same location as when the pip wheel was built (if a wheel was used). If not, you may have trouble importing apexpy. If you run into trouble, try the command:
pip install --no-binary :apexpy: apexpy
which requires both libgfortran and gfortran to be installed on your system.
Conversion is done by creating an Apex object and using its methods to perform the desired calculations. Some simple examples:
>>> from apexpy import Apex >>> from __future__ import print_function >>> A = Apex(date=2015.3) # datetime objects are also supported >>> # geo to apex, scalar input >>> mlat, mlon = A.convert(60, 15, 'geo', 'apex', height=300) >>> print("{:.12f}, {:.12f}".format(mlat, mlon)) 57.477310180664, 93.590156555176 >>> # apex to geo, array input >>> glat, glon = A.convert([90, -90], 0, 'apex', 'geo', height=0) >>> print(["{:.12f}, {:.12f}".format(ll, glon[i]) for i,ll in enumerate(glat)]) ['83.103820800781, -84.526657104492', '-74.388252258301, 125.736274719238'] >>> # geo to MLT >>> import datetime as dt >>> mlat, mlt = A.convert(60, 15, 'geo', 'mlt', datetime=dt.datetime(2015, 2, 10, 18, 0, 0)) >>> print("{:.12f}, {:.12f}".format(mlat, mlt)) 56.598316192627, 19.107861709595 >>> # can also convert magnetic longitude to mlt >>> mlt = A.mlon2mlt(120, dt.datetime(2015, 2, 10, 18, 0, 0)) >>> print("{:.2f}".format(mlt)) 20.90
If you don’t know or use Python, you can also use the command line. See details in the full documentation.
Documentation
References
Badges
docs |
|
---|---|
tests |
|
package |
Changelog
1.1.0 (2021-03-05)
Adapted Fortran to read IRGF coefficients from a file (updated to IGRF-13)
Improved the subsol routine to allow array input
Improved PEP8 compliance
Added some missing docstrings to unit tests
Fixed AppVeyor test environment
Updated python test versions
Updated community and package documentation
Fixed bug where NaNs caused array input to crash
Fixed bug in quasi-dipole to apex conversion at equator
Removed duplicate CI services
1.0.4 (2019-04-05)
Updated installation instructions
Simplified warning tests
Made some PEP8 changes
1.0.3 (2018-04-05)
Updated badges and added DOI
Added tests for python 3.6
Removed tests for python 3.3
Made some PEP8 changes
1.0.2 (2018-02-27)
Extend character limit for allowable data file path, and update documentation to reflect a change in maintainers. Also updated testing implimentation, reduced fortran compiler warnings, and improved PEP8 compliance.
1.0.1 (2016-03-10)
Remove geocentric to geodetic conversion of subsolar point based on feedback from Art Richmond. (The subsolar point is the same in geocentric and geodetic coordinates.) The helper function gc2gdlat have been kept to preserve backwards compatibility.
1.0.0 (2015-11-30)
Initial release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.