Skip to content

Python wrapper of the International Reference Ionosphere 2016

License

Notifications You must be signed in to change notification settings

rilma/pyIRI2016

Repository files navigation

alt tag

pyIRI2016

alt tag

Python wrapper to the International Reference Ionosphere (IRI) 2016 model.

Installing

pip install pyiri2016

Or

pip install -e .

This also installs Time Utilities.

Test

make test

Examples

Height-profile

Use this script to generate a plot of density and temperatures vs height:

alt tag

Latitudinal profile

Use this script to generate a plot of densities and height at the peak of F2, F2, and E regions vs geographic latitude:

alt tag

GMT profile

Use this script to generate a plot of densities and height at the peak of F2, F2, and E regions vs universal time:

alt tag

Height vs GMT

Use this script to generate a plot of Ne, Te, and Ti as a function of height and universal time:

alt tag

Latitude vs Longitude

Use this script to generate a plot of foF2 a function of geographic latitude and longitude:

alt tag

Reference

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

Compile IRI2016 Fortran

In Docker

Python dev container provides a way to isolate runtime stack and its prerequisites. In Visual Studio Code, open a folder in the development container as described here. Install pre-requirements as follow:

make install

Run unit-testing cases

make test

In a terminal session, pyIRI2016 can be build up as follows:

make build

Deprecated

cd bin
cmake ../source
make
./testiri2016

Manual 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

manual f2py: IGRF only

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