Skip to content
/ igrf Public
forked from space-physics/igrf

International Geomagnetic Reference Field IGRF13 in Python and Matlab

License

Notifications You must be signed in to change notification settings

wlhniwo/igrf

 
 

Repository files navigation

IGRF 13 in Python

DOI Actions Status Language grade: Python

Python versions (PyPI) PyPi Download stats

International Geomagnetic Reference Field: IGRF13 in object-oriented Python or Matlab.

image

image

Install

A Fortran compiler is required, such as gfortran:

To get the IGRF Python development version, git clone and then:

python -m pip install -e .

Otherwise, for the latest release from PyPi:

python -m pip install igrf

Optionally, test the install with:

pytest

Example

To make the plots in this readme:

igrf

using as a Python module at geodetic coordinates 65N, 148W:

import igrf

mag = igrf.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

Matlab

Matlab can seamlessly call Python modules, as used in igrf.m. Instead of the $1000 Aerospace Toolbox, use this free IGRF for Matlab like:

igrf.igrf(datetime(2020,1,3,5,4,22), 20, 60, 0)

You may find it helpful to run "setup.m" first to setup the library paths.

References

About

International Geomagnetic Reference Field IGRF13 in Python and Matlab

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • MATLAB 93.2%
  • Python 6.8%