https://github.com/space-physics/iri2016
International Reference Ionosphere 2016 from Python and Matlab
https://github.com/space-physics/iri2016
build-on-run ionosphere ionosphere-modeling matlab-python-interface
Last synced: 3 months ago
JSON representation
International Reference Ionosphere 2016 from Python and Matlab
- Host: GitHub
- URL: https://github.com/space-physics/iri2016
- Owner: space-physics
- License: mit
- Created: 2018-02-27T04:08:53.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-01-14T21:03:22.000Z (over 2 years ago)
- Last Synced: 2025-10-24T00:32:16.998Z (7 months ago)
- Topics: build-on-run, ionosphere, ionosphere-modeling, matlab-python-interface
- Language: Fortran
- Homepage: http://irimodel.org/
- Size: 5.47 MB
- Stars: 80
- Watchers: 10
- Forks: 37
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# IRI2016 ionosphere model from Python and Matlab
[](https://doi.org/10.5281/zenodo.240895)

[](https://www.mathworks.com/matlabcentral/fileexchange/81056-iri2016)
[](https://pypi.python.org/pypi/iri2016)
[](https://pepy.tech/project/iri2016)

Python and [Matlab](#matlab) interfaces to the International Reference Ionosphere (IRI) 2016 model.
A Fortran compiler is required to build the IRI2016 code.
## Install
Prerequisites
* Fortran compiler--any modern Fortran compiler will do. Here's how to get Gfortran:
* Linux: `apt install gfortran`
* Mac: `brew install gcc`
* Windows: consider [MSYS2](https://www.scivision.dev/install-msys2-windows/)
and then install latest release:
```sh
pip install iri2016
```
if you want the latest development version:
```sh
git clone https://github.com/space-physics/iri2016
pip install -e iri2016
```
This Python wrapper of IRI2016 uses our build-on-run technique.
On the first run or `iri2016.IRI()` the Fortran code is built--we call this "build on run".
If you have errors about building on the first run, ensure that your Fortran compiler is specified in environment variable FC--this is what most build systems use to indicate the desired Fortran compiler (name or full path).
## Usage
* Altitude Profile: plot density and temperatures vs altitude
```sh
python -m iri2016.altitude 2003-11-21T12 -11.95 -76.77
```

* Latitude profile: plot densities and height at the peak of F2, F2, and E regions vs geographic latitude
```sh
python -m iri2016.latitude 2004-11-21T17 -76.77
```

* Time profile: plot densities and height at the peak of F2, F2, and E regions vs UTC
```sh
python -m iri2016.time 2014-11-21 2014-11-22 1 -11.95 -76.77
```



* Latitude vs Longitude: plot of foF2 a function of geographic latitude and longitude

### setting JF flags
[irisub.for](./iri2016/src/irisub.for) has a few dozen logical flags stored in variable JF. To reconfigure those flags, edit [iri2016_driver.f90](./iri2016/src/iri2016_driver.f90) and recompile iri2016_driver.exe.
### Matlab
IRI2016 is readily accessible from Matlab.
From within Matlab verify everything is working by:
```matlab
TestAll
```
The [Examples](./Examples) directory has simple example use with plots.

## Data files
`iri2016/iri2016/data/index/{apf107,ig_rz}.dat` are
[regularly updated](http://irimodel.org/indices/).
Currently we don't auto-update those.
## Notes
* [2016 presentation](https://doi.org/10.5281/zenodo.1493021)