Skip to content

Releases: MarkWieczorek/SHTOOLS

Version 4.0

17 Dec 09:15
Compare
Choose a tag to compare

This is a major update that fixes bugs, adds new functionality, and improves Python error handing. All users are requested to upgrade to 4.0.

Change log

  • Instead of executing a Fortran STOP, which kills the Python kernel, the Fortran subroutines now return an exitstatus that allows Python to raise an exception. This technique does not work with the few Fortran functions that pyshtools calls, but these functions are relatively benign, and will soon be phased out for Python native functions.
  • The Fortran powerspectrum routines have been removed from pyshtools, and have been replaced with Python native routines spectrum and cross_spectrum. The Python routines allow to specify the normalization, whether the output should be power, energy or l2norm, and whether the spectrum is per degree, per coefficient, or per log bandwidth.
  • The method plot_spectrum2d() was added to the class SHCoeffs to plot the power as a function of degree and order.
  • All pyshtools modules have been converted into proper Python subpackages. The subpackage localizedpsectralanalysis has been merged into spectralanalysis, and the subpackage other has been renamed utils.
  • The Python class method SHCoeffs.expand() now can evaluate the function either on an SHGrid or for a list of latitude and longitude points. As part of this change, a new fortran function MakeGridPointC was created for complex coefficients.
  • The majority of the methods for the classes SHCoeffs, SHGrid and SHWindow have been rename for consistency (see documentation!). Also, the classes now give the option of reading or saving to files as numpy arrays.
  • Added new Python function read_icgen_gfc for reading ICGEM-format gravity coefficient files.
  • The operator pow was added to the class SHCoeffs.
  • All methods in the pyshtools classes now return copies by default, which can be modified by the optional argument copy.
  • Added pot as a mandatory return argument for the Python routine MakeGravGridDH.
  • Several minor modifications and bug fixes were made to the makefiles to improve compatibility and to allow the use of make -j.
  • The routines other.EigValSym, other.EigValVecSym, other.EigValVecSymTri, other.RandomGaussian, other.RandomN and other.PreGLQ were removed from pyshtools, as these can be found in other scipy packages.
  • The SHTOOLS routine DHaj was added to the pyshtools subpackage utils.
  • Python docstrings have been streamlined and standardized.
  • ...plus, many minor changes and optimizations...

Citation:
M. A. Wieczorek, M. Meschede, I. Oshchepkov, E. Sales de Andrade, and heroxbd (2016). SHTOOLS: Version 4.0. Zenodo. doi:10.5281/zenodo.206114

Version 3.4

17 Dec 09:16
Compare
Choose a tag to compare

This release adds missing functionality to the SHGrids, SHCoeffs, and SHWindow classes, and adds support for PyPI.

  • Add pyshtools to PyPI repository. Can now be installed using pip install pyshtools.
  • Add new function SHBiasKMask which is the arbitrary window counterpart to the spherical cap window SHBiasK.
  • Add get_biasedpowerspectrum() method to SHWindows for arbitrary windows.
  • Add copy() method to all classes, which returns a deep copy of the instance.
  • Add __sub__, __add__, __rsub__, __radd__, __mul__, __div__, __truediv__, and __pow__ operators for two sets of coefficient or grid classes, or one coefficient or grid class and a scalar.
  • Add nwinrot option when rotating spherical cap windows in SHWindow that will rotate only the first nwinrot windows.
  • Add degrees option to get_lats() and get_lons() methods.
  • Add the constructor from_file() to initialize an SHGrid with a numpy formatted data file. Add option to read coeffs and grids from a numpy formatted binary file. Addtofile() methods to output raw grid and coefficient data as either text or binary formatted files.
  • Update Intro 1 notebook and add example to Intro notebook 2 showing how to use arbitrary localization windows.
  • Convert notebooks to html and add links to web documentation.
  • Add option fixed_power to SHCoeffs.from_random() method to generate random coefficients that fit exactly the expected power spectrum.
  • Add Earth topography coefficients referenced to mean sea level to the example files, expanded to degree 300: srtmp300.msl.

Citation:
M. A. Wieczorek, M. Meschede, I. Oshchepkov, E. Sales de Andrade (2016). SHTOOLS: Version 3.4. Zenodo. doi:10.5281/zenodo.61180

Version 3.1

17 Dec 16:53
Compare
Choose a tag to compare

This release of SHTOOLS adds improved documentation for all Fortran 95 and Python routines, fixes several bugs, adds new functionalities, and adds additional example scripts.

3.1 release notes:

  • Added OSX installation support via brew.
  • Added make install that copies files to /usr/local.
  • Reformatted all Fortran documentation files and rewrote the Python documentation and man pages.
  • Added the routines CilmMinus and CilmMinusRhoH, which are the counterparts to CilmPlus and CilmPlusRhoH.
  • Removed the following routines from the fortran documentation and Python wrappers: DhAj, NGLQ, NGLQSH, NGLQSHN.
  • Removed the following redundant routines from SHTOOLS: ComputeD0, SHMTVarOpt0, SHSjkPG0.
  • Renamed the routine PreCompute to SHGLQ.
  • Renamed the routine YilmIndex to YilmIndexVector.
  • Renamed the routine Hilm to BAtoHilm, and HilmRhoH to BAtoHilmRhoH.
  • Renamed the routine Wl to DownContFilterMA, and WlCurv toDownContFilterMC.
  • Added minimal support for three python classes: SHGrid, SHCoeffs, and SHWindow. These will be expanded upon in the next release.
  • Added the routine SHMTCouplingMatrix.

Citation:
Mark A. Wieczorek, Matthias Meschede and Ilya Oshchepkov (2015). SHTOOLS - Tools for working with spherical harmonics (v3.1), ZENODO, doi:10.5281/zenodo.20920.

Version 3.0

17 Dec 16:55
Compare
Choose a tag to compare

This is a major release of SHTOOLS that adds full support for Python. In addition to Python support, this release contains minor bug fixes and improved documentation.

3.0 release notes:

  • Added full python compatibility. This includes python wrappers for all SHTOOLS functions, python documentation for all functions, and a simple test suite to ensure that the SHTOOLS functions are working correctly.
  • Moved the project from Sourceforge to GitHub. The Sourceforge project will no longer be maintained.
  • Fixed bugs in SHrtoc and SHctor when the optional parameter CONVENTION was set to its default values, causing zeros to be returned.
  • Modified ComputeDMap and SJHReturnTapersMap such that the parameter SAMPLING is optional.
  • Fixed a bug in Curve2Mask that could give rise to vertical lines when the longitudes of the profile points were decreasing.
  • Removed the routines Import_Wisdom_From_File and Export_Wisdom_From_File.

Citation:
Mark A. Wieczorek and Matthias Meschede (2015). SHTOOLS - Tools for working with spherical harmonics (v3.0), ZENODO, doi:10.5281/zenodo.15967.

Version 2.9.1

09 Oct 15:06
Compare
Choose a tag to compare

This is a minor patch that fixes some incompatibility issues that arose when using alternative makes (make all2 and make all3).

Citation:
Mark A. Wieczorek (2014). SHTOOLS - Tools for working with spherical harmonics (v2.9.1), ZENODO, doi:10.5281/zenodo.12158.

Version 2.9

13 Sep 20:43
Compare
Choose a tag to compare
  • Modified CilmPlus and CilmRhoH so that they are accurate for powers beyond 13.
  • Fixed a bug in MakeGeoidGrid that could give rise to runtime errors when the maximum dimension of CILM was less than LMAX.
  • Transferred the discussion forum and download page to both the GitHub and Sourceforge project pages.
  • Minor fixes to documentation and web pages.