This package builds off of the GLobal airglOW model. The GLOW model is evaluated on an altitude grid at a location. For non-zenith observation geometries, the model requires evaluation at multiple points along the line of sight. The glow2d library wraps the glowpython.generic() function to generate the output on a 2D grid in a geocentric (GEO) coordinate system and in a local (ZA, R) coordinate system.
Directly using pip:
$ pip install glow2dIndirectly by git clone:
$ git clone https://github.com/sunipkm/glow2d && cd glow2d
$ pip install .The following non-trivial dependencies are present:
This code uses glowpython package to run the GLOW model.
geomagdata is used to get the
For example:
from datetime import datetime
from glow2d import glow2d_polar as grc
time = datetime(2022, 2, 15, 20, 0, 0).astimezone('UTC') # 20:00 hours local in UTC
lat, lon = 42.64981361744372, -71.31681056737486 # location of observation
bearing = 40 # 40 deg northeast, refer to geopy.GreatCircleDistance().destination() for more info.
iono_loc, iono_geo = grc.polar_model(time, lat, lon, bearing, full_output=True) # generate output in local and GEO coordinatesThe output datasets are xarray Datasets with the following structure:
- Coordinates:
alt_km: Altitude grid (km) [only in GEO coordinates, from ASL]za: Zenith angle (radians) [only in local polar coordinates]r: Radial distance from observation point (km) [only in local polar coordinates]angle: Angle along great circle (radians)energy: Energy grid (eV)state: Neutral/Ionic excitation states (string) [only if production and loss are converted in local polar coordinates]wavelength: Wavelength of emission features in Angstrom (string). Represented as strings to accommodate the LBH band.lat: Latitude (degrees)lon: Longitude (degrees)wave: Solar flux wavelength (Angstrom)dwave: Solar flux wavelength bin width (Angstrom)sflux: Solar flux (W/m^2/Angstrom)tecscale: TEC scale factor (float)altitude: Altitude of observation point (kmfrom ASL) [only in local polar coordinates]
- Data:
- Dimension (
(angle, alt_km)in GEO,(angle, za)in polar):O: Neutral atomic oxygen density (cm^-3)O2: Neutral molecular oxygen density (cm^-3)N2: Neutral molecular nitrogen density (cm^-3)NO: Neutral nitric oxide density (cm^-3)NS: N(4S) density (cm^-3)ND: N(2D) density (not used, set to zero) (cm^-3)NeIn: Electron density (IRI-90), input to GLOW radiative transfer model. (cm^-3)O+: Ion atomic oxygen (4S) density (cm^-3)O+(2P): Ion atomic oxygen (2P) density (cm^-3)O+(2D): Ion atomic oxygen (2D) density (cm^-3)O2+: Ion molecular oxygen density (cm^-3)N+: Ion molecular nitrogen density (cm^-3)N2+: Ion molecular nitrogen density (cm^-3)NO+: Ion nitric oxide density (cm^-3)N2(A): Molecular nitrogen (GLOW) density (cm^-3)N(2P): N(2P) density (cm^-3)N(2D): N(2D) density (cm^-3)O(1S): O(1S) density (cm^-3)O(1D): O(1D) density (cm^-3)NeOut: Electron density (calculated below 200 km forkchem=4using GLOW model,cm^-3)Te: Electron temperature (K)Ti: Ion temperature (K)Tn: Neutral temperature (K)ionrate: Ionization rate (1/s)pederson: Pederson conductivity (S/m)hall: Hall conductivity (S/m)eHeat: Ambient electron heating rate (eV/cm^3/s)Tez: Total energetic electron energy deposition (eV/cm^3/s)
- Dimension ((
angle,alt_km,wavelength) in GEO, (angle,za,wavelength) in polar):ver: Volume emission rate of various features (1/cm^3/s)
- Dimension (
angle,alt_km,state) in GEO, (angle,za,state) in polar:production: Production rate of various species (1/cm^3/s)loss: Fractional loss rate of various species (1/s)
- Dimension (
energy):precip: Precipitation flux (cm^-2/s/eV)
- Dimension (
- Attributes:
time: Time of evaluation (ISO 8601 formatted string)glatlon: Geographic latitude and longitude of evaluation (degrees)Q: Flux of precipitating electrons (erg/cm^2/s)Echar: Characteristic energy of precipitating electrons (eV)f107a: 81-day average of F10.7 solar flux (FSU)f107: Present day F10.7 solar flux (FSU)f107p: Previous day F10.7 solar flux (FSU)ap: Magnetic indexiscale: Solar flux model.0: Hinteregger,1: EUVACxuvfac: XUV enhancement factor.itail: Low energy tail enabled/disabled.fmono: Monoenergetic energy flux (erg/cm^2).emono: Monoenergetic characteristic energy (keV).jlocal: Local calculation only (disable electron transport).kchem: GLOW chemistry level.
All angles are in radians, and distances in km. Due to the nature of the coordinate transformation, local coordinate outputs do not contain any NaN values.