There is a newer version of this record available.

Software Open Access


markwieczorek; Matthias Meschede; mreineck; Ilya Oshchepkov; Elliott Sales de Andrade; Armin Corbin; xoviat; Benda Xu; Stefan Schröder; Akihisa Hattori; Aaryaman Vasishta; Andrew Walker; Erik Schnetter; Juan Sierra; Katrin Leinweber

Version 4.10


  • Change the preferred backend from 'shtools' to 'ducc'.
  • Improve handing of switching backends. Changing backends will dynamically link the correct routine to the top level modules found in pyshtools.expand and pyshools.rotate.
  • Update python examples so that they don't call routines directly in the shtools backend. [See deprecation note below.]
  • Add historical lunar topography dataset GLTM-2B.
  • Add historical martian magnetic field models FSU50 and FSU90.
  • Add new Mars gravity model MRO120F as well as several historical Mars gravity models.
  • Add historical Venus topography datasets SHTJV360A01 and SHTJV360A02.
  • Add Thebault2021 Earth magnetic field dataset.
  • Add Mars topography dataset MarsTopo719, which is a truncated version of MarsTopo2600.
  • Update urls for databases hosted at GSFC.
  • Reorder optional arguments in docs for makegravgradgriddh and makemaggravgradgrid for consistency with code.
  • Allow 'shtools' and 'dov' file formats to contain floats for degree and order.
  • Minor changes and enhancements to the documentation.

Bug fixes

  • Fix typo regarding nthreads in SHMagCoeffs.rotate() method.
  • Fix bug with SHGravCoeffs.admittance() when using function='geoid'.
  • Fix bug in python wrapper of the routine MakeGrid2D concerning the mandatory variable interval.
  • Add workaround to use pygmt with shading for versions >=0.4.
  • Convert all grids to float before using the ducc backend.
  • SHGeoid.to_netcdf() now outputs double precision by default (consistent with the other grid classes).
  • Fix bug with SHWindow.multitaper_cross_spectrum() when using arbitrary localization regions.
  • Fix bug with the c-wrapper for cMakeGradientDH regarding the optional radius parameter.
  • Minor changes to remove deprecation warnings.
  • Fixed to work with setuptools 62.0.0 and 62.1.0.

Note: The module pyshtools.shtools will be deprecated in the v4.11 release. This module represents 1 of 2 possible backends for pyshtools, and will henceforth be located at pyshtools.backends.shtools. Unless explicitly required, the user should avoid using the backends modules directly, and should instead call the routines that are located in the top level modules such as pyshtools.expand. Setting the backend by use of the routine pyshtools.backends.selected_preferred_backend() determines which backed to use when calling the routines in the top level modules.

M. A. Wieczorek, M. Meschede, T. Brugere, A. Corbin, A. Hattori, K. Leinweber, I. Oshchepkov, M. Reinecke, E. Sales de Andrade, E. Schnetter, S. Schröder, A. Vasishta, A. Walker, B. Xu, J. Sierra (2022). SHTOOLS: Version 4.10, Zenodo, doi:10.5281/zenodo.592762

Files (41.8 MB)
Name Size
41.8 MB Download
All versions This version
Views 3,17890
Downloads 44710
Data volume 10.8 GB417.7 MB
Unique views 2,75583
Unique downloads 3067


Cite as