Skip to main content

SHTOOLS - Tools for working with spherical harmonics

Project description

LOGO

LOGO

Documentation DOI Paper Join the chat at https://gitter.im/SHTOOLS/SHTOOLS Twitter

SHTOOLS/pysthools 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,

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

    • Condon-Shortley phase factor of (-1)m.

  • 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 the sampling theorem of Driscoll and Healy (1994) or Gauss-Legendre quadrature,

    • accurate and fast to approximately degree 2800 (spatial resolution higher than 4 arc minutes),

    • Fortran 95 routines are OpenMP compatible and OpenMP thread-safe.

INSTALLATION

pyshtools for Python

Binary install for linux/macOS/windows:

pip install pyshtools

Build from source:

pip install pyshtools --no-binary pyshtools

pyshtools for Anaconda Python

Install fftw3 with fortran bindings and then install pyshtools using pip:

conda install -c eumetsat fftw3
pip install pyshtools

pyshtools for Python (developer install)

Linux requirements:

sudo apt-get install libblas-dev liblapack-dev g++ gfortran libfftw3-dev tcsh

macOS requirements:

brew install fftw --with-fortran

To install the develop branch use:

pip install git+https://github.com/SHTOOLS/SHTOOLS@develop

Alternatively, clone the shtools repo

git clone https://github.com/SHTOOLS/SHTOOLS.git

and then execute one of the following commands in the shtools directory:

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

Clone the shtools repo, and then execute one of the following commands in the shtools directory:

make fortran
make fortran-mp  # OpenMP Fortran routines

Or use the brew package manager (macOS):

brew tap shtools/shtools
brew install shtools
brew install shtools --with-openmp # to install shtools with the OpenMP components.

More installation instructions and options can be found in the web documentation and GitHub 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:

ACKNOWLEDGMENTS

SHTOOLS is open source (revised BSD license) and makes use of the freely available Fourier transform package FFTW and the linear algebra packages LAPACK and BLAS.

CITATION

Mark A. Wieczorek and Matthias Meschede (2018). SHTools — Tools for working with spherical harmonics, Geochemistry, Geophysics, Geosystems, doi:10.1029/2018GC007529.

M. A. Wieczorek, M. Meschede, E. Sales de Andrade, I. Oshchepkov, B. Xu, and A. Walker (2018). SHTOOLS, Zenodo, doi:10.5281/zenodo.592762.

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.2.tar.gz (7.9 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.6m

pyshtools-4.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.8 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.2-cp35-cp35m-manylinux1_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.5m

pyshtools-4.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.8 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.2-cp34-cp34m-manylinux1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.4m

pyshtools-4.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.8 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.2-cp27-cp27mu-manylinux1_x86_64.whl (10.6 MB view details)

Uploaded CPython 2.7mu

pyshtools-4.2-cp27-cp27m-manylinux1_x86_64.whl (10.6 MB view details)

Uploaded CPython 2.7m

pyshtools-4.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.8 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.2.tar.gz.

File metadata

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

File hashes

Hashes for pyshtools-4.2.tar.gz
Algorithm Hash digest
SHA256 e702bc3b81d31cab07f6b5aea3cb745de5d91d97904a8e63eea41d6731371331
MD5 2a474085f3b9c1efa25439f3896952d4
BLAKE2b-256 375d53d138a0ea0e3da4e1901dd2ffeb53225a9d0ad67ce6c558aea3200dc0dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyshtools-4.2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f4d97cbbbfc6361f4cd11903aa843944b068d1ca3809406b7db40f3b86cd79cd
MD5 32e3c5993c34a9368434342ab75725cf
BLAKE2b-256 8c3708ad6d218fe497f241354d189a744d1dad2220e9a02c6927bff5a3bcac87

See more details on using hashes here.

File details

Details for the file pyshtools-4.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.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 11dc4407e0735c110132ae8210514fe2a25b31eccf21e5ccc883905ef5e573cf
MD5 2447ada1a22dbb96552559820904237e
BLAKE2b-256 c4d698b822b0749ab2521f65825ebee78dc27b3625d64619876e4cfb40b2c6d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyshtools-4.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 14e1f24ab2b1457302cfee0f38b56e09bd4d917a5efb2733da26dff3721bddb9
MD5 d93e77811ede81e2e3dd991947dd05d2
BLAKE2b-256 e536d356ecfa090f506ebf6339e859898b680a23338fcec03e34110a191b0377

See more details on using hashes here.

File details

Details for the file pyshtools-4.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.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 4b7095cea0e405783a1b2de9b7bce86839f3fca4b94d8aa2fcd004b15b4c3998
MD5 5beb2eb45f05b2925580dae90d2932b4
BLAKE2b-256 9767950097a21128e732896c35de321a70dd77ad747c5783326cd9eb2f1e6f93

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyshtools-4.2-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a657f61361455ce4d205c27940c91ecb73b88ca9dd7df88ae2b6ee5e1e957eeb
MD5 5e49ff9356b53d1a899e07650ce388aa
BLAKE2b-256 d0f9e7da38dfbfd8d47b87cff4a18b6be3f8929b9b1d9b2abb6da05c731e0947

See more details on using hashes here.

File details

Details for the file pyshtools-4.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.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 91cd34bf298ac88249a6320ddc1e0851cd43e0c89936b0edb205bdbce1053830
MD5 64132b297afe116fd190865e8982f293
BLAKE2b-256 f7f21aa2f7083ba328f57a01cabd810669cc1380ca27f993bb1bb867796a0db7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyshtools-4.2-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 da8a5be3f35621ccfee32e72ac38193023e93a7e269638073b1d9be7aed3996c
MD5 a69345f8860d3745f1a3b409be2d4af4
BLAKE2b-256 1995d3db051c648ca9f067bca402138d242c7ccefa7be3191fff2e8ff1a26cc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyshtools-4.2-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bea4b4baebeaa72e758175a830cc075f2106b435f526be41d04ece2675292373
MD5 cf6e016f77a1fd5567c9b0e4edfa1e66
BLAKE2b-256 4ea5531a20af59359684e701839e72acc2a79cb36e2f6d5d4897b8aafbcd885b

See more details on using hashes here.

File details

Details for the file pyshtools-4.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.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 9ad792715a307b59c5a2eb53aff9ae7837d310a3f65e7a00d01618a12fdbc8be
MD5 ba499c08e414f10c48a922dfed2934ab
BLAKE2b-256 caf3e78f1e0f9892a269c505e154b071f08b88a22b544ea108185570b0fc92e2

See more details on using hashes here.

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