Skip to main content

IGRF12 model with simple object-oriented Python interface.

Project description

DOI

Actions Status Language grade: Python

Python versions (PyPI) PyPi Download stats

IGRF 2012 in Python

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

image

image

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: IGRF11
  • 12: 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

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

igrf12-1.3.6.tar.gz (26.1 kB view details)

Uploaded Source

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

Hashes for igrf12-1.3.6.tar.gz
Algorithm Hash digest
SHA256 99304b8a9875c3c9fa740be32dd39232c8c38f3a2dbdb9fd74e41c737d43e8cb
MD5 8caeed6b140917303f81762017dffb09
BLAKE2b-256 9ab4d51fafc4e19be077112b44c856bfdbe83cb679db806dab28cc5c62232c4c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page