NASA Horizontal Wind Model HWM93 in Python ≥ 3.6
Works with many Fortran compilers, including:
- Gfortran ≥ 5
- Intel
ifort
- PGI
pgf90
- Nvidia
flang
A Fortran compiler such as gfortran
is needed.
We use f2py
(part of numpy
) to seamlessly use Fortran libraries from Python.
If you don't have a Fortran compiler, here is how to install Gfortran:
-
Linux:
apt install gfortran
-
Mac:
brew install gcc
-
pip install -e .
test by
pytest -sv
If you get ImportError on Windows for the Fortran module, try from the hwm93
directory:
del *.pyd
python setup.py build_ext --inplace --compiler=mingw32
HWM93 can be used from the command line or as an imported Python module in other programs. Matlab also can use HWM93.
python RunHWM93.py -h
Write data to NetCDF (HDF5) with -o
option.
import hwm93
from datetime import datetime
winds = hwm93.run(t=datetime(2017,11,12,8), altkm=150.,
glat=65., glon=-148., f107a=150, f107=150, ap=4)
winds
is an xarray.Dataset
<xarray.Dataset>
Dimensions: (alt_km: 1)
Coordinates:
* alt_km (alt_km) float64 150.0
Data variables:
meridional (alt_km) float64 4.827
zonal (alt_km) float64 -20.5
Attributes:
time: 2017-11-12T08:00:00
glat: 65.0
glon: -148.0
If you want just a single variable, say
print(winds.zonal.values)
You can import this Python module from Matlab as in hwm93.m
.
Most users don't need this.
meson build
meson test -C build
or
f2py -c src/hwm93_sub.f -m hwm93 only: gws5 :
Original A. E. Hedin Fortran 77 HWM93 code