Skip to main content

SHTOOLS - Tools for working with spherical harmonics

Project description

![LOGO](misc/logo.png)

[![Join the chat at https://gitter.im/SHTOOLS/SHTOOLS](https://badges.gitter.im/SHTOOLS/SHTOOLS.svg)](https://gitter.im/SHTOOLS/SHTOOLS?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.1067108.svg)](http://dx.doi.org/10.5281/zenodo.1067108)

SHTOOLS is a Fortran 95 / Python library that can be used to perform spherical harmonic transforms and reconstructions, rotations of data expressed in spherical harmonics, and multitaper spectral analyses on the sphere.

### FEATURES ###

  • A wide range of supported spherical harmonic functions:
    • real and complex,

    • different normalizations (Geodesy 4π, Schmidt semi-normalized, orthonormalized, unnormalized),

    • Condon-Shortley phase factor of (-1)<sup>m</sup>.

  • Selected applications and routines:
    • global spectral analysis, spherical harmonic rotations, Wigner 3j symbols,

    • localized multitaper spectral analyses, optimal window generation, spherical harmonic coupling matrices,

    • standard gravity and magnetic field calculations, computation of the geoid, finite-amplitude potential from topography.

  • Clean implementation of the spherical harmonic transforms: * Exact quadrature rules using either the sampling theorem of Driscoll and Healy (1994) where data are equally sampled (or spaced) in latitude and longitude, or Gauss-Legendre quadrature.

    • Accurate and fast to approximately degree 2800, corresponding to a spatial resolution higher than 4 arc minutes. Transforms and reconstructions take on the order of 1 second for bandwidths less than 600 and about 3 minutes for bandwidths close to 2800 on standard machines. The Fortran 95 routines are OpenMP compatible and OpenMP thread-safe.

### INSTALLATION ### #### Requirements #### Linux: `bash sudo apt-get install libblas-dev liblapack-dev g++ gfortran libfftw3-dev tcsh ` OSX: `bash brew install fftw --with-fortran `

#### Python Library #### `bash pip install pyshtools ` Or, to install a developer version, [download](https://github.com/SHTOOLS/SHTOOLS/zipball/master) or clone the SHTOOLS repository, enter the SHTOOLS folder and then execute one of the following commands: `bash pip install . # installs into the active python environment lib folder pip install -v -e . # installs into the SHTOOLS/pyshtools folder and links to the active python environment `

#### Fortran Library #### To install the Fortran 95 library, enter one of the following `bash make fortran make fortran-mp # Open-MP Fortran routines `

Or, with OSX, use the [brew](http://brew.sh/) package manager: `bash brew tap shtools/shtools brew install shtools ` To also install the OpenMP components, add `--with-openmp` to the last command.

More installation instructions and options can be found in the [web documentation](https://shtools.oca.eu) and GitHub [wiki](https://github.com/SHTOOLS/SHTOOLS/wiki).

### HOW TO USE ###

SHTOOLS can be invoked from Fortran 95, Python 2, or Python 3. The base SHTOOLS software is written in Fortran 95, and the Python library allows simple access to all fortran-compiled routines and offers helper routines as well as simple interfaces.

To get started, check out the following Python tutorial notebooks:

  • Introduction 1: Grids and Spherical Harmonic Coefficients [[ipynb]](examples/notebooks/Introduction-1.ipynb)

  • Introduction 2: Localization Windows and Spectral Analysis [[ipynb]](examples/notebooks/Introduction-2.ipynb)

  • Tutorial 1: Simple Spherical Harmonic Analyses [[ipynb]](examples/notebooks/tutorial_1.ipynb)

  • Tutorial 2: Localized Spectral Analysis on the Sphere [[ipynb]](examples/notebooks/tutorial_2.ipynb)

  • Tutorial 3: The SHTOOLS Class Interface [[ipynb]](examples/notebooks/tutorial_3.ipynb)

  • Tutorial 4: Spherical Harmonic Normalizations and Parseval’s theorem [[ipynb]](examples/notebooks/tutorial_4.ipynb)

  • Tutorial 5: Multitaper Spectral Analysis Class Interface [[ipynb]](examples/notebooks/tutorial_5.ipynb)

  • Tutorial 6: 3D Spherical Harmonic Plots [[ipynb]](examples/notebooks/tutorial_6.ipynb)

You can keep up to date by following SHTOOLS on [Twitter](https://twitter.com/SH_tools).

### ACKNOWLEDGMENTS ### SHTOOLS is open source (revised BSD license) and makes use of the freely available Fourier transform package [FFTW](http://www.fftw.org) and the linear algebra packages [LAPACK](http://www.netlib.org/lapack/) and [BLAS](http://www.netlib.org/blas/).

### CITATION ### M. A. Wieczorek, M. Meschede, E. Sales de Andrade, I. Oshchepkov, B. Xu, and A. Walker (2017). SHTOOLS: Version 4.1, Zenodo, doi:[10.5281/zenodo.1067108](http://doi.org/10.5281/zenodo.1067108)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyshtools-4.1.2.tar.gz (18.2 MB view details)

Uploaded Source

Built Distributions

pyshtools-4.1.2-cp36-cp36m-win_amd64.whl (31.3 MB view details)

Uploaded CPython 3.6m Windows x86-64

pyshtools-4.1.2-cp36-cp36m-manylinux1_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.6m

pyshtools-4.1.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.6m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

pyshtools-4.1.2-cp35-cp35m-win_amd64.whl (31.3 MB view details)

Uploaded CPython 3.5m Windows x86-64

pyshtools-4.1.2-cp35-cp35m-manylinux1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.5m

pyshtools-4.1.2-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.5m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

pyshtools-4.1.2-cp34-cp34m-manylinux1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.4m

pyshtools-4.1.2-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.4m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

pyshtools-4.1.2-cp27-cp27mu-manylinux1_x86_64.whl (10.7 MB view details)

Uploaded CPython 2.7mu

pyshtools-4.1.2-cp27-cp27m-manylinux1_x86_64.whl (10.7 MB view details)

Uploaded CPython 2.7m

pyshtools-4.1.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (2.7 MB view details)

Uploaded CPython 2.7m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

File details

Details for the file pyshtools-4.1.2.tar.gz.

File metadata

  • Download URL: pyshtools-4.1.2.tar.gz
  • Upload date:
  • Size: 18.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyshtools-4.1.2.tar.gz
Algorithm Hash digest
SHA256 205aa78e2fba4ea1edf3ffc41ef96fbf2d30634b5bef3a81f422502f42e918b6
MD5 acf4550bc22b473b4b1ec03eb022a8eb
BLAKE2b-256 71d891b5b0914c6c68ed52a06f843442f8b5ef05467e27287bd6ec41e2fa5933

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 c0279ead34621a7d2695a1435753f4f558e02410c17cc6f64d58ba01dabb1444
MD5 7ddfcd25254d81269a8095329b2f004e
BLAKE2b-256 a7007b53d9a1dc463b8b09783d662293d45f4756c572f45b0ff0a516097a7feb

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1b9b5684b20c6fe2d75240a3f79914dc3735a8f41fbda8f5d1382d33afaa6059
MD5 54cc0018baf913885ddd24b28e652b05
BLAKE2b-256 0424b3deb698b09e9f580b2ce91099a2d46fcfab33bb6f8384ea8f8bdf6cbfe8

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 429d89f7fe81e7ff980eb172a28b496f320af83599e102eed9099dd0ede1b8e8
MD5 d060edcad4f0573bdbeecaa1f9ee3a6e
BLAKE2b-256 79650c3fa8b3a0b86826ef9e4380696a771a5e15bbb1081582655f9c5a6e1cd6

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 cca735c9c9b70a17e7a32fa7b8ed4af70fb0954a9a41aa2657fe0151b420cf70
MD5 638166837827bfbe0fb7d3f7b4340f0e
BLAKE2b-256 3fc5717d7666e6b452b87acfa082955715ddb92397f9369244d95ac97732864f

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8cfbacfb46e030e27e78a4a1f2fc061d9d6e01e052b34dca150e07443522e425
MD5 40b77d1f8acc401159c07bc4b6299bc3
BLAKE2b-256 eac22af67fb9d7c65642c46093b8b30b0e871fd60e03de9e6aae1e6f3330b0a6

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 dbd43469a481066eb35dbfaac67af2a6c3f565ce4f586f2f1c09ea5f3c3b875e
MD5 26574e79974fb580b47ac743edb89a80
BLAKE2b-256 8ccdaddf69b39d0d0e125d3366f8b679af6dce73b2255067e25ad9d2384054d8

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5b3aad45f60294a238138e9f25d782e94eafe2fcec8db5554ab24e7cc787e561
MD5 e793bbc4aa73efc52515e60a962bef62
BLAKE2b-256 d0ebb2e3e7e581caa2973853b95e3568e104ec533db27fb2c3ff5dfab3ed7152

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 9e97a3d61f9007639d40b59ec96f7d75474c45dbc6a4ff568ea175bc7c32caeb
MD5 eb4d51da4be946687084b2e12c246211
BLAKE2b-256 980709ab28162fe5b6ff91b0d7f0f7c14ac03e60aa9652010276450892ffc5f5

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b05347c63955e73754fe0191a7c420ecbc8c0c6eae033f5b80e5b29aff33c931
MD5 80d42708ff048c750612a39ee9c46760
BLAKE2b-256 259c621cb32be353c028cd6e22ec742156011c126a8e7b56dd02cade9944c900

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7021fea23a35a4406566cd0a78673af6d9ba30ed07185e42d14bcb334da34486
MD5 d4b52d3c7e10fa97cbdf1eef0468a49f
BLAKE2b-256 6c95ffea6c1e59612dfdc28556da7bec27bac199f786d7526e0d1e351d10e9bc

See more details on using hashes here.

Provenance

File details

Details for the file pyshtools-4.1.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for pyshtools-4.1.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 cb76aa7cd22d461e4fd943711bb99662523e924b565baa758040e997d5807f86
MD5 1f34f4b1bc2f8d387a7224f86b3f7ba2
BLAKE2b-256 527c6cfaf17a0a5b9a5af7a84d6f02ef38162ae0ae1e39699b484d67eb91bd5b

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page