NRL MSISE-00 atmospheric model for Python. Also accessible via Matlab. Valid from altitude z = 0..1000 km.
The plot immediately below shows a slice at 200km on a world-wide grid. The yellow ball represents the sun footprint on Earth.
This plot is from Matlab calling MSISE00:
- Temperature: degrees Kelvin [K]
- Density: particles per cubic meter [m^-3]
- Mass density: kilograms per cubic meter [kg m^-3]
This process is used for the Python and Matlab access to MSIS. Any Fortran compiler should work. Fortran compiler may be installed by
- MacOS / Homebrew:
brew install gcc
- Linux:
apt install gfortran
- Windows
Get MSISE00 and install Python package:
pip install msise00
or for the latest development code
git clone https://github.com/space-physics/msise00
pip install -e msise00
optionally check that MSIS is working via:
pytest msise00
This Python module uses our build-on-run technique. The first time you use this Python module, you will see messages from the Meson build system.
MSISE00 can be used from the command line, as an imported module, and even from Matlab.
import msise00
from datetime import datetime
atmos = msise00.run(time=datetime(2013, 3, 31, 12), altkm=150., glat=65., glon=-148.)
atmos is an
xarray.Dataset
containing all the simulation output values.
atmos
is 4-D: (time, altitude, lat, lon), and indexed like atmos['N2']
Write NetCDF4 output (HDF5 compatible) with command line argument -w filename.nc
.
Simple examples under Examples/
-
Altitude Profile at a single time:
msise00 -t 2017-08-21T20:48 -c 40 -90
-
Alt. profile time-range with hourly time step:
msise00 -t 2017-08-21 2017-08-22 -c 40 -90
-
Grid: time,lat,lon: generates the plots in the README:
msise00 -t 2016-09-20 2016-09-21
-
single time lat/lon can be plotted:
msise00 -t 2017-01-02T12
Matlab use of MSISE00 is demonstrated in Examples
MSISE00 will automatically compile "build on run" on first run from Matlab as with Python.
Optionally, verify Matlab is working by from the top msise00/
directory in Terminal
matlab -batch msise00.test_mod
Those wishing to use MSIS from a plain Fortran program can do from the top-level msise00/ directory:
cmake -B build
cmake --build build
optionally:
ctest --test-dir build