A Python wrapper for AACGM-v2 magnetic coordinates
Project description
This is a Python wrapper for the AACGM-v2 C library, which allows converting between geographic and magnetic coordinates. The currently included version of the C library is 2.6. The package is free software (MIT license). When referencing this package, please cite both the package DOI and the AACGM-v2 journal article:
Shepherd, S. G. (2014), Altitude‐adjusted corrected geomagnetic coordinates: Definition and functional approximations, Journal of Geophysical Research: Space Physics, 119, 7501–7521, doi:10.1002/2014JA020264.
Quick start
Install (requires NumPy):
pip install aacgmv2
Convert between AACGM and geographic coordinates:
>>> import aacgmv2 >>> import datetime as dt >>> import numpy as np >>> np.set_printoptions(formatter={'float_kind': lambda x:'{:.4f}'.format(x)}) >>> # geo to AACGM, single numbers >>> dtime = dt.datetime(2013, 11, 3) >>> np.array(aacgmv2.get_aacgm_coord(60, 15, 300, dtime)) array([57.4736, 93.6111, 1.4816]) >>> # AACGM to geo, mix arrays/numbers >>> np.array2string(np.array(aacgmv2.convert_latlon_arr([90, -90], 0, 0, dtime, method_code="A2G"))).replace('\n', '') '[[82.9686 -74.3390] [-84.6501 125.8476] [14.1246 12.8772]]'
Convert between AACGM and MLT:
>>> import aacgmv2 >>> import datetime as dt >>> import numpy as np >>> np.set_printoptions(formatter={'float_kind': lambda x:'{:.4f}'.format(x)}) >>> # MLT to AACGM >>> dtime = dt.datetime(2013, 11, 3, 0, 0, 0) >>> np.array(aacgmv2.convert_mlt([1.4822189, 12], dtime, m2a=True)) array([93.6203, -108.6130])
If you don’t know or use Python, you can also use the command line. See details in the full documentation.
Documentation
Badges
docs |
|
---|---|
tests |
|
package |
Changelog
2.6.0 (2020-01-06)
Updated AACGM-v2 coefficients derived using the IGRF13 model
Updated IGRF and GUFM1 coefficients using the IGRF13 model
Added additional checks to the C code for reading the IGRF13 coefficient file
Removed convert routine in deprecated.py
Pushed back keyword argument deprecation of code
Scheduled deprecation for remaining routines in deprecated.py
Parametrized several unit tests
Updated README.md examples
Updated CI to include python 3.8
2.5.3 (2019-12-23)
Changed log warning about array functions to info
Changed default method from TRACE to ALLOWTRACE
Added C wrappers for list input, removing inefficient use of np.vectorize
Fixed documentation for use of method_code
Added FutureWarning for deprecated use of code keyword argument
Updated previous version’s changelog to encompass all changes
Improved docstrings to make documentation easier to read
Removed failing twine commands from appveyor.yml
Removed RuntimeWarning filter from tox.ini
2.5.2 (2019-08-27)
Added FutureWarning to deprecated functions
Updated names in licenses
Moved module structure routine tests to their own class
Added high altitude limit to avoid while-loop hanging
Changed version support to 2.7, 3.6, and 3.7
Removed logbook dependency
Added logic to avoid reseting environment variables if not necessary
Added copyright and license disclaimer to module-specific program files
Changed keyword argument code to method_code
2.5.1 (2018-10-19)
Commented out debug statement in C code
Updated environment variable warning to output to stderr instead of stdout
Added templates for pull requests, issues, and a code of conduct
2.5.0 (2018-08-08)
Updated C code and coefficients to version 2.5. Changes in python code reflect changes in C code (includes going back to using environment variables instead of strings for coefficient file locations)
Added decorators to some of the test functions
Specified AppVeyor Visual Studio version, since it was defaulting to 2010 and that version doesn’t work with python 3
2.4.2 (2018-05-21)
Fixed bug in convert_mlt that caused all time inputs to occur at 00:00:00 UT
Fixed year of last two updates in changelog
2.4.1 (2018-04-04)
Fix bug in installation that caused files to be placed in the wrong directory
Added DOI
2.4.0 (2018-03-21)
Update to use AACGM-v2.4, which includes changes to the inverse MLT and dipole tilt functions and some minor bug fixes
Updated file structure
Updated methods, retaining old methods in deprecated module
Added testing for python 3.6
Updated dependencies, removing support for python 3.3
Tested on Mac OSX
Updated comments to include units for input and output
2.0.0 (2016-11-03)
Change method of calculating MLT, see documentation of convert_mlt for details
1.0.13 (2015-10-30)
Correctly convert output of subsol() to geodetic coordinates (the error in MLT/mlon conversion was not large, typically two decimal places and below)
1.0.12 (2015-10-26)
Return nan in forbidden region instead of throwing exception
1.0.11 (2015-10-26)
Fix bug in subsolar/MLT conversion
1.0.10 (2015-10-08)
No code changes, debugged automatic build/upload process and needed new version numbers along the way
1.0.0 (2015-10-07)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file aacgmv2-2.6.0.tar.gz
.
File metadata
- Download URL: aacgmv2-2.6.0.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/41.4.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d71febf115c7063d80cc0d146ad71e94291fdbd8de72644019b430f71f67287 |
|
MD5 | 930520a86296226c2b429234e4bae653 |
|
BLAKE2b-256 | 837a4556faee3ce5d1fa377ef25d869e8dd6952f0cfd06228ec515ca0293f709 |
File details
Details for the file aacgmv2-2.6.0-cp37-cp37m-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: aacgmv2-2.6.0-cp37-cp37m-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.7m, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/41.4.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a3ee4b417b7ea677bdf012bae4eb827c52146c2e611067d61de5e3261d9c05f |
|
MD5 | 7785aacd74b45e4b18ba634dec5ab9b4 |
|
BLAKE2b-256 | b42def996e23ba34e243abe8ca4bca4e97d942a5da01abb4927aa9a079292a06 |
File details
Details for the file aacgmv2-2.6.0-cp36-cp36m-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: aacgmv2-2.6.0-cp36-cp36m-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.6m, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/41.4.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a477dfd4690b419c0cc3f586c292126d658adea24642a55826b2fa6cf76e21ac |
|
MD5 | 5541ab2bb362d34b0f8fe5b1aefc8f88 |
|
BLAKE2b-256 | 54c73f48e241af24d136e8273db94926cb851d6387f929b8f24d1a9c48d375d4 |
File details
Details for the file aacgmv2-2.6.0-cp35-cp35m-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: aacgmv2-2.6.0-cp35-cp35m-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.5m, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/41.4.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c99a5c2cf8071685aff1e56dfbb7df108ad2556e204a6c9df54ad0ea7a542fab |
|
MD5 | 559a6b8fbc204d49e0a0c1df96a54f96 |
|
BLAKE2b-256 | 8b03efbd4fcd51f8a2ef203e838fc36e1f5bec4772bc8c580a6d208df406e538 |
File details
Details for the file aacgmv2-2.6.0-cp27-cp27m-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: aacgmv2-2.6.0-cp27-cp27m-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 2.7m, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/41.4.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 513ada6ab5561a2b79c6473974ff7982aafff08443a17576f7064771d94dfd07 |
|
MD5 | fbdf4167aa01adedc9a53934128ab9ae |
|
BLAKE2b-256 | d92de30be1907234b5ff590b4e7321213d719fb02aca3592ceb401e5f4b9cc9b |