Model of Earth atmosphere absorption and transmission vs. wavelength and location on Earth.
Project description
Lowtran
LOWTRAN7 atmospheric absportion extinction model. Updated by Michael Hirsch to be platform independent and easily accessible from Python.
The main LOWTRAN program has been made accessible from Python by using direct memory transfers instead of the cumbersome and error-prone process of writing/reading text files. xarray.Dataset high-performance N-D array data is passed out, with all approprirate metadata.
- Python API Author:
Michael Hirsch, Ph.D.
- License:
MIT
Gallery
See below for how to make these examples.
Install
See this page if you have errors on Fortran compilation.
Linux: apt install gfortran
Mac: brew install gcc
If you don’t already have Numpy, python -m pip install numpy and then:
python -m pip install -e .
Examples
We present examples of:
ground-to-space transmittance: python TransmittanceGround2Space.py
sun-to-observer irrandiace: python SolarIrradiance.py
observer-to-observer transmittance with custom Pressure, Temperature and partial pressure for 12 species:
python UserDataHorizontalTransmittance.py
observer-to-observer solar single-scattering solar radiance (up-going) with custom Pressure, Temperature and partial pressure for 12 species:
python UserDataHorizontalRadiance.py
In these examples, you can write to HDF5 with the -o option.
As usual, if you have unused dimesions, use .squeeze() on the output array.
Notes
LOWTRAN7 User manual – you may refer to this to understand what parameters I’ve set to default. Currently I don’t have any aerosols enabled for example, though it’s trivial to add.
Right now a lot of configuration features aren’t implemented, please request those you want.
Reference
LOWFIL program in reference/lowtran7.10.f was not connected as I had previously implemented my own filter function directly in Python.
LOWSCAN spectral sampling (scanning) program in reference/lowtran7.13.f was not connected as I had no need for coarser spectral resolution.
Fortran (optional)
This is not necessary for normal users:
cd bin cmake .. make make test
should generate this text output.
Windows f2py
(this is handled automatically by setup.py, noted here for debugging)
Yes, even though you’re using a 64-bit compiler:
f2py --compiler=mingw32 -m lowtran7 -c lowtran7.f
Tested on Windows with MinGW.
Windows Fortran compile
Normal users don’t need to do this. I suggest that you instead use Cygwin or Windows Subsytem for Linux:
cd bin cmake -G "MinGW Makefiles" .. make make test
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.