Projects / SHTns


SHTns is a high-performance Spherical Harmonic Transform library. It was designed for numerical simulation (fluid flows, mhd, etc.) in spherical geometries, but can be used for any kind of problem involving scalar or vector spherical harmonics. It is very fast, thanks to careful vectorization and runtime tuning. It supports multi-threaded transforms via OpenMP. It features scalar and vector transforms, synthesis and analysis, and flexible truncation and normalization. A Python interface is included.

Operating Systems

Recent releases

  •  13 Mar 2014 19:15

    Release Notes: This release adds several new features, including support for Intel Xeon Phi (in native mode only, icc 14+ required). The building process is also more robust, and a feature for saving/restoring configurations allows faster initialization and better bit-level reproducibility of results. A few minor bugs are also fixed.

    •  18 Sep 2013 13:11

      Release Notes: This update corrects a performance problem for the analysis step of large transforms, when spatial data was stored with a contiguous longitude coordinate. Performance of this case is now comparable to other cases (e.g., synthesis and contiguous theta storage).

      •  06 Aug 2013 10:14

        Release Notes: The main new feature in this release is the introduction of scalar spherical harmonic transforms of complex valued spatial data. There is also a new function for controlling the amount of informative output (verbosity). Support for Intel MKL has been improved, the header file is now compatible with std::complex (c++), and a new Python example for solving shallow water equations has been added.

        •  10 Apr 2013 16:53

          Release Notes: This release fixes problems with compilation, adds optional support for the fft provided by intel MKL, and allows multi-threaded and single-threaded libraries to be installed side-by-side. The multi-threaded fftw is detected more reliably. The timing program now works on MacOS X and requires less memory. There are also other minor fixes and improvements.

          •  03 Oct 2012 14:11

            Release Notes: This release adds new functions to access more data structures (m, gauss nodes, etc.) and allows some special operators to be applied in spectral space without performing a transform (like multiplication by cos(theta)). There are also minor improvements and two important bugfixes (one specific to openmp, the other to clang).


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.