Skip to content
This repository has been archived by the owner. It is now read-only.
DEPRECATED: NCAR GLOW 0.973: UV/VIS/IR emissions from airglow/dayglow and aurora, based on measurement or model inputs
Python MATLAB
Branch: develop
Clone or download
Latest commit e907f11 Oct 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
glowaurora
iri
reference
src
tests
.appveyor.yml
.codeclimate.yml
.gitattributes
.gitignore
.travis.yml
CHANGELOG.rst
LICENSE
MANIFEST.in
Quickstart.rst
README.md
RunGlow.py
aurexample.in
dayexample.in
ephoto_xn2.dat
ephoto_xo.dat
ephoto_xo2.dat
glow.m
glow.rst
glowlicense.txt
hexexample.in
pyproject.toml
setup.cfg
setup.py
snoem_eof.dat
ssflux_euvac.dat
ssflux_hint.dat

README.md

image image image Build status Maintainability PyPi version PyPi Download stats

New Modern Fortran GLOW with Python, Matlab, or MPI.

GLOW 0.973

GLOW 0.973 Airglow/Auroral model -- now in Python!

incident energy and VER

vertical profiles

diff num flux input

Install

A Fortran compiler is required:

  • Linux: apt install gfortran
  • MacOS: brew install gcc
  • Windows
pip install -e .

Examples

Self-test f2py

This self-test should give zero errors. This tests the Fortran code from Python.:

pytest -v

volume emission rate plots

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.

production/loss rate eigenprofiles

This requires two steps:

  1. Generate unit input differential number flux vs. energy
  2. 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 access to Glow

Matlab can use Glow via the Python interface, as in the example glow.m.

Papers

(Thanks to Stephen Kaeppler to pointing these out)

Appendix (Not necessary for the typical user)

Download the GLOW v0.973 source code from Stan Solomon

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/

Download Stan's copy of IRI files

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/

compile the Fortran code by itself

The Fortran program used by itself spits out a lot of text as its output:

cd bin
cmake ../src
cmake --build .

Fortran self-test

Auroral example

./auroraexample < aurexample.in > aurtest.dat

High energy example

./hexexample < hexexample.in > hextest.dat

Notes

Licensing

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+

You can’t perform that action at this time.