IGRF12 model with simple object-oriented Python interface.
Project description
IGRF 2012 in Python
International Geomagnetic Reference Field IGRF12 and IGRF11...in simple, object-oriented Python ≥ 3.6 or Matlab.
Install
A Fortran compiler is required, such as gfortran
:
-
Linux:
apt install gfortran
-
Mac:
brew install gcc
-
gfortran for Windows (MinGW) Windows only: from Powershell:
echo "[build]`ncompiler=mingw32" | Out-File -Encoding ASCII ~/pydistutils.cfg
To get the IGRF12 development version, git clone
and then:
python -m pip install -e .
Otherwise, for the latest release from PyPi:
python -m pip install igrf12
Optionally, test the install with:
pytest
Windows
If you get ImportError on Windows for the Fortran module, try from the iri2016
directory:
del *.pyd
python setup.py build_ext --inplace --compiler=mingw32
Example
To make the plots in this readme:
igrf12
using as a Python module at geodetic coordinates 65N, 148W:
import igrf12
mag = igrf12.igrf('2010-07-12', glat=65, glon=-148, alt_km=100)
returns an xarray.Dataset
:
<xarray.Dataset>
Dimensions: (alt_km: 1)
Coordinates:
* alt_km (alt_km) int64 100
Data variables:
north (alt_km) float64 1.122e+04
east (alt_km) float64 4.148e+03
down (alt_km) float64 5.302e+04
total (alt_km) float64 5.436e+04
incl (alt_km) float64 77.29
decl (alt_km) float64 20.29
The IGRF model may be specified with the igrf12.igrf(model=)
option:
11
: IGRF1112
: IGRF12
Matlab
Matlab can seamlessly call Python modules, as in igrf12.m
.
Instead of the $1000 Aerospace Toolbox, use this free IGRF12 for Matlab.
Reference
If you only want the plain Fortran program, you can do:
cmake -B build
cmake --build build --parallel
./testigrf
References
- IGRF12 Fortran code
- IGRF11 Fortran code
- WMM2015 inclination map
- WMM2015 declination map
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file igrf12-1.3.6.tar.gz
.
File metadata
- Download URL: igrf12-1.3.6.tar.gz
- Upload date:
- Size: 26.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99304b8a9875c3c9fa740be32dd39232c8c38f3a2dbdb9fd74e41c737d43e8cb |
|
MD5 | 8caeed6b140917303f81762017dffb09 |
|
BLAKE2b-256 | 9ab4d51fafc4e19be077112b44c856bfdbe83cb679db806dab28cc5c62232c4c |