Skip to main content

SHTOOLS - Tools for working with spherical harmonics

Project description

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, multitaper spectral analyses on the sphere, expansions of functions into Slepian bases, and standard operations on global gravitational and magnetic field data.

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.

  • 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,

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

  • Selected applications and routines:

    • global spectral analysis, spherical harmonic rotations, Wigner 3j symbols,

    • localized multitaper spectral analyses, expansions in Slepian basis functions, spherical harmonic coupling matrices,

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

  • SHTOOLS is open source software (3-clause BSD license).

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

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 in any Fortran 95 or Python program. The core software is written in Fortran 95, and Python wrappers allow simple access to the fortran-compiled routines. A variety of Python notebooks and example files are included that demonstrate the major features of the library.

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

DEVELOPERS

We work on the develop branch and only push releases to master. Please base all pull requests on develop.

CITATION

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

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

Uploaded Source

Built Distributions

pyshtools-4.3-cp37-cp37m-manylinux1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.7m

pyshtools-4.3-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (2.9 MB view details)

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

pyshtools-4.3-cp36-cp36m-manylinux1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.6m

pyshtools-4.3-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.9 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.3-cp35-cp35m-manylinux1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.5m

pyshtools-4.3-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.9 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.3-cp34-cp34m-manylinux1_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.4m

pyshtools-4.3-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.9 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.3-cp27-cp27mu-manylinux1_x86_64.whl (10.7 MB view details)

Uploaded CPython 2.7mu

pyshtools-4.3-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.9 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.3.tar.gz.

File metadata

  • Download URL: pyshtools-4.3.tar.gz
  • Upload date:
  • Size: 29.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0

File hashes

Hashes for pyshtools-4.3.tar.gz
Algorithm Hash digest
SHA256 7b9a04bbcb9adb0d2c4d013e8f1892608b53e8829e209e02dacfa03bac4a179d
MD5 7475cd7e78472b92fcf175d7fa22ab9e
BLAKE2b-256 06034eca0aeac71adb5d70a98f383bb7f73ca05bc6039359e6bf5e8512a13719

See more details on using hashes here.

File details

Details for the file pyshtools-4.3-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyshtools-4.3-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.5.6

File hashes

Hashes for pyshtools-4.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6270e3c00150c1ea74f1fea94f1984fcc43580add2b6a998867ddaac3e9af451
MD5 e6d05a17084bbe6ad9132060892f5ebe
BLAKE2b-256 09ab7c049e02683a04a2832757ea84d8f5e326b30cdb45498ac75db29ddbb6ac

See more details on using hashes here.

File details

Details for the file pyshtools-4.3-cp37-cp37m-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.3-cp37-cp37m-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 e506ae374779705500be7684bd2c634f161c7d310d11bc176fc19ee63754f8e6
MD5 3eee5aa4c5ce0ae987befe58ae9665a3
BLAKE2b-256 61e40a4882ff8c4ed0f1216d768df8e68915a7bcf8e1a044b2d887fb2ee96f50

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyshtools-4.3-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.5.6

File hashes

Hashes for pyshtools-4.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b159baa938cd8c04e3442eaf3b9eb772ab1a0c2888b00129b4c974db9c1afa24
MD5 b388dedf103f35e5d6d1465562ae2a4a
BLAKE2b-256 61b5a796cca970eec6cccf3b625dbc3e084c114ba04e1df1e230449558fd3d9d

See more details on using hashes here.

File details

Details for the file pyshtools-4.3-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.3-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 7a3fcd83e543b509ac8c0d36a4452614235197c977e2ef42933b78c3c455e983
MD5 8f4cfc46c920351ae207957362e7dd6e
BLAKE2b-256 5624f04d7b64b38dd2776a42ea66cc72c5623588f06e875933d5bc6b6c98e0d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyshtools-4.3-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.5.6

File hashes

Hashes for pyshtools-4.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c6b45a8cdedde4d496de853982ed307000585869e276561a51e301f2726e8eec
MD5 e1a54601ea008f76c627466c4ab57d9a
BLAKE2b-256 18d86f37258f55542a203cf6aaf3237ef140c555659f68f1541d661c83fd7bc1

See more details on using hashes here.

File details

Details for the file pyshtools-4.3-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.3-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 d628a712f81aee1c9cdd65c95ac402a6cf1ed7fcf94b62740aa601caff0e17d5
MD5 66739a3c0edceeaa2192d4626e096d31
BLAKE2b-256 515231461e8b9d45a9bbd15bb023bcd1b5aefaaa5841a0f11a80faa818dd73e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyshtools-4.3-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.5.6

File hashes

Hashes for pyshtools-4.3-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 60719ce4518a272066880c09e1d11f2394ffaf85c9447d3b11a104a9f6f8de27
MD5 55b6b3c898e03c85f674013d8cb20fa1
BLAKE2b-256 93382d1ef4e1812c4abc9ee6179a384fac6ec55c3200b645a028d470139700c7

See more details on using hashes here.

File details

Details for the file pyshtools-4.3-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.3-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 a135d32e06376a18b811930a306dd1e3179b67aa3eae94cb64166fbd4e7da2fb
MD5 c242bb8d02e1b0476e843ddd9d775e09
BLAKE2b-256 85838d17d9b7633d1169ff72e446f6d7c7f07f525b4a89cd935747358f3197e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyshtools-4.3-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.5.6

File hashes

Hashes for pyshtools-4.3-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8c5d1ba7b3662796c073737aa7ca75b16ff42bd82806a20c22e46c650c87445d
MD5 0dfc55388dae4917ef3b6ddeb93ccf7b
BLAKE2b-256 208d8187c8b46ee870cb046c7d50c9e18717e8e9df9949666dc5710045e7328e

See more details on using hashes here.

File details

Details for the file pyshtools-4.3-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.3-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 c798843b62a217152862d65928b85ae94b0aba50ecc6d1ac185ad2906d6f39f8
MD5 75daaf7923c03965114648a949fd2b8c
BLAKE2b-256 b48ab3c4dfe6e08193b80d22427189ce8660725fbe436c1a5fe68445d93dc1f5

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