Skip to content
NASA Horizontal Wind Model HWM93 in Python and Matlab
Python Shell MATLAB Meson CMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
archive
hwm93
src
tests
.coveragerc
.flake8
.gitattributes
.gitignore
CMakeLists.txt
CODE_OF_CONDUCT.md
LICENSE.txt
README.md
RunHWM93.py
hwm93.m
meson.build
mypy.ini
pyproject.toml
pytest.ini
setup.cfg
setup.py

README.md

Actions Status

PyPi version PyPi Download stats

HWM93 in Python

NASA Horizontal Wind Model HWM93 in Python ≥ 3.6

image

Works with many Fortran compilers, including:

  • Gfortran ≥ 5
  • Intel ifort
  • PGI pgf90
  • Nvidia flang

Install

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

  • Windows

    pip install -e .

test by

pytest -sv

Windows

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

Usage

HWM93 can be used from the command line or as an imported Python module in other programs. Matlab also can use HWM93.

Command line

python RunHWM93.py -h

Write data to NetCDF (HDF5) with -o option.

import module

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)

Matlab

You can import this Python module from Matlab as in hwm93.m.

Notes

[Optional] Fortran-only use

Most users don't need this.

meson build

meson test -C build

or

f2py -c src/hwm93_sub.f  -m hwm93 only: gws5 :

Reference

Original A. E. Hedin Fortran 77 HWM93 code

You can’t perform that action at this time.