New Modern Fortran GLOW with Python, Matlab, or MPI.
GLOW 0.973 Airglow/Auroral model -- now in Python!
A Fortran compiler is required:
- Linux:
apt install gfortran
- MacOS:
brew install gcc
- Windows
pip install -e .
This self-test should give zero errors. This tests the Fortran code from Python.:
pytest -v
To produce the plots seen at the Github site:
python RunGlow.py
with options including:
-t --simtime
time of simulation-c --latlon
geographic coordinate (lat,lon) [degrees]-q --flux
total flux
with the volume emission rate and intermediate processes modeled for the given primary electron precipitation input. You can make this more generally useful as eigenprofiles in the next section.
This requires two steps:
- Generate unit input differential number flux vs. energy
- Compute ionospheric energy deposition and hence production/loss rates for the modeled kinetic chemistries (12 in total)
This is handled by the script gridaurora/MakeIonoEigenprofile.py
Matlab can use Glow via the Python interface, as in the example
glow.m
.
(Thanks to Stephen Kaeppler to pointing these out)
Stan's team has released GLOW v0.98 using modern Fortran, but here's the original.
wget -r -np -nc -nH --cut-dirs=4 --random-wait --wait 1 -R "index.html*" http://download.hao.ucar.edu/pub/stans/glow/v0.973/
Stan tweaked IRI90 slightly, here's the copy he uses.
wget -r -np -nc -nH --cut-dirs=3 --random-wait --wait 1 -R "index.html*" http://download.hao.ucar.edu/pub/stans/iri/
The Fortran program used by itself spits out a lot of text as its output:
cd bin
cmake ../src
cmake --build .
Auroral example
./auroraexample < aurexample.in > aurtest.dat
High energy example
./hexexample < hexexample.in > hextest.dat
original Fortran code in directory fortran/
as obtained from
http://download.hao.ucar.edu/pub/stans/glow/: "This software is part
of the GLOW model. Use is governed by the Open Source Academic Research
License Agreement contained in the file glowlicense.txt."
Python code and modifications to original Fortran code: GNU Affero GPLv3+