Software Open Access
Mark Wieczorek; MMesch; Elliott Sales de Andrade; Ilya Oshchepkov; Benda Xu; Andrew Walker
SHGrid. To make use of this normalization, just specify
mag_spectrum()in the subpackage
gravmagthat replaces the original fortran wrapped routines. The old python wrapped functions have been removed from pyshtools. This new routine is nearly the same as
spectrum(), and further allows one to compute the spectrum of the potential or magnetic intensity.
SHReadfunction has been replaced with a python native version
shread(). The functionality is nearly identical as before, and combines the previous routines
SHReadHinto one. Differences include: (1) It is no longer necessary to specify the lmax of the file: This is determined automatically by reading the file from the end, (2) both real and complex coefficients are supported, (3) a header line can be output, but it is a simple list of type str that will need to be converted to the correct format by the user, and (4) "comment" lines are read and ignored: A valid line is one where there are 4 or more words, and where the first two words are integers.
convert()was added in the subpackage
shiothat converts between arrays of spherical harmonic coefficients with different normalizations. The class
SHCoeffswas then simplified by using this external function for all conversions involving
SHGrid, one can now specify the label to use for the x and y axes with
ylabel, as well as the interval to use when plotting ticks on both axes using
conventionto treat Euler angles in either the
yconventions (i.e., which axes to use for the second rotation). Furthermore, the optional argument
bodyallows you to specify if you want to rotate the body (True), or coordinate system (False, default). The tutorial number 3 was updated to clear up some inconsistencies in how the angles were defined.
ylimfor the limits when plotting spectra,
maxcolumnsfor the number of columns to use when plotting several windows, and
lmaxwhich controls the grid spacing when plotting the windows.
SHCoeffs.from_random()that allows you to create coefficients with maximum bandwidths that are either greater or less than the bandwidth of the input power spectrum.
SHCoeffs.rotate()with degrees greater than 1200, as the routine is not accurate beyond this value.
SHWindow.plot_windows()to control whether the legend is plotted or not.
pages/mydoc. A static html web site is built using
jekyll, whose files are located in
doc. Github will automatically create the static pages and serve them on shtools.github.io/SHTOOLS. To build the static pages yourself, it is only necessary to execute
bundle exec jekyll buildin the directory
doc, which will build the site into
_sitein the same directory. Alternatively,
make wwwin the main directory will create a static site in the top-level directory
wwwthat could be used to deploy on a different web server. The site is based on the template Jekyll documentation theme by @tomjoht.