SkillAgentSearch skills...

Igrf

International Geomagnetic Reference Field IGRF13 in Python and Matlab

Install / Use

/learn @space-physics/Igrf
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

IGRF 13 in Python

DOI Actions Status

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

The first time you install IGRF, do once from Python:

import igrf

igrf.build()

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

Related Skills

View on GitHub
GitHub Stars74
CategoryDevelopment
Updated2mo ago
Forks30

Languages

Fortran

Security Score

100/100

Audited on Jan 21, 2026

No findings