/windspharm

A Python library for spherical harmonic computations on vector winds.

Primary LanguagePythonMIT LicenseMIT

windspharm - spherical harmonic vector wind analysis in Python

Build Status DOI (paper) DOI (latest release)

Overview

windspharm is a Python package for computing quantities derived from global wind fields using spherical harmonics, licensed under the MIT license. windspharm provides a user-friendly interface for vector wind computations on the sphere (e.g., divergence, streamfunction etc.). It is based on the pyspharm module. windspharm provides a replacement for the windfield package from CDAT.

Requirements

windspharm only requires numpy and pyspharm (version 1.0.8 or higher), but for full functionality (meta-data interfaces) one or more of iris, xarray or the cdms2 module (from UV-CDAT is required. The setuptools package is required for installation. windspharm runs on Python 2 and 3.

Documentation

Documentation is available online. The package docstrings are also very complete and can be used as a source of reference when working interactively.

Citation

If you use windspharm in published research, please cite it by referencing the peer-reviewed paper. You can additionally cite the Zenodo DOI if you need to cite a particular version (but please also cite the paper, it helps me justify my time working on this and similar projects).

Frequently asked questions

  • Do I need UV-CDAT/iris/xarray to use windspharm? No. All the computation code uses numpy only. The iris, xarray and cdms2 modules are only required for the meta-data preserving interfaces.
  • Is windspharm a drop in replacement for windfield? No. Because windspharm was written from scratch the naming conventions for methods are different. Some new methods have been added compared to windfield, and some methods from windfield do not exist in windspharm.

Installation

The easiest way to install is via conda:

conda install -c conda-forge windspharm

You can also install from the source distribution. Download the archive, unpack it, then enter the source directory and use:

python setup.py install