Skip to main content

IGRF12 model with simple object-oriented Python interface.

Project description


Actions Status Language grade: Python

Python versions (PyPI) PyPi Download stats

IGRF 2012 in Python

International Geomagnetic Reference Field IGRF12 and simple, object-oriented Python ≥ 3.6 or Matlab.




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:



If you get ImportError on Windows for the Fortran module, try from the iri2016 directory:

del *.pyd
python build_ext --inplace --compiler=mingw32


To make the plots in this readme:


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:

Dimensions:  (alt_km: 1)
  * 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: IGRF11
  • 12: IGRF12


Matlab can seamlessly call Python modules, as in igrf12.m. Instead of the $1000 Aerospace Toolbox, use this free IGRF12 for Matlab.


If you only want the plain Fortran program, you can do:

cmake -B build

cmake --build build --parallel



Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for igrf12, version 1.3.6
Filename, size File type Python version Upload date Hashes
Filename, size igrf12-1.3.6.tar.gz (26.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page