Skip to main content

IRI2016 International Reference Ionosphere from Python

Project description

image Build Status image Build status PyPi version PyPi Download stats

IRI2016 ionosphere model from Python and Matlab

image

Python and Matlab interfaces to the International Reference Ionosphere (IRI) 2016 model.

Install

Any Fortran compiler will do. IRI2016 has been tested with compilers including:

  • Gfortran 5, 6, 7, 8
  • Intel ifort
  • PGI pgf90

Install Gfortran by:

  • Linux: apt install gfortran
  • Mac: brew install gcc
  • Windows

and then from your Python ≥ 3.6 install (such as Miniconda):

pip install iri2016

or:

git clone https://github.com/scivision/iri2016
cd iri2016

python -m pip install -e .[tests]

Usage

  • Height-profile: plot density and temperatures vs altitude image
  • Latitudinal profile: plot densities and height at the peak of F2, F2, and E regions vs geographic latitude image
  • GMT profile: plot densities and height at the peak of F2, F2, and E regions vs universal time image
  • Height vs GMT: plot Ne, Te, and Ti as a function of height and universal time image
  • Latitude vs Longitude: plot of foF2 a function of geographic latitude and longitude image

Matlab

Many Python programs--including IRI2016--are readily accessible from Matlab. Here's what's you'll need:

  1. Setup Python ↔ Matlab interface.
  2. Install IRI2016 in Python as at the top of this Readme.
  3. From Matlab, verify everything is working by from the iri2016/ directory:
    runtests('tests')
    
  4. Use iri2016.m function to access IRI2016 quantities. See RunIRI2016.m for simple example use / plots.

CAVEAT: due to old-fashioned Fortran 77 techniques, Matlab needs to be restarted to run more than one IRI2016 scenario. This is also true of the Fortran code itself, and Python. What we do in Python is call a Python script over and over, inputting distinct parameters. This can be done from Matlab like the BatchIRI2016.m script, enhanced to call an easier/faster Python script. Let us know.

Matlab IRI2016 plot

Direct compilation

These commands are not normally needed unless you want to work with the Fortran code more directly.

Fortran compile

cd bin
cmake ../fortran

cmake --build .

ctest -V

f2py compile

The function DFRIDR() inside igrf.for dynamically calls other functions. This is something f2py can't access directly, so we tell f2py not to hook into function DFRIDF() with the end statement skip: dfridr:

f2py -m iri2016 -c iriwebg.for irisub.for irifun.for iritec.for iridreg.for igrf.for  cira.for iriflip.for  skip: dfridr

f2py: IGRF only

f2py -m igrf -c irifun.for igrf.for skip: dfridr

Notes

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

iri2016-1.5.2.tar.gz (1.6 MB view details)

Uploaded Source

File details

Details for the file iri2016-1.5.2.tar.gz.

File metadata

  • Download URL: iri2016-1.5.2.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/3.7.0

File hashes

Hashes for iri2016-1.5.2.tar.gz
Algorithm Hash digest
SHA256 8d4deb71faac077967dd388bb8b8a594a06622dabbb66ecd932bef12e496f1e7
MD5 fd08ff08c695227aba3c7f12ae2a53dc
BLAKE2b-256 d8c0e8dd9c84af6b7dd447bc4667c33bd17472c2e8ee2a1881ed2a9139244081

See more details on using hashes here.

Supported by

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