mrk-w
MMesch
Ilya Oshchepkov
Elliott Sales de Andrade
xoviat
Benda Xu
Stefan Schröder
Akihisa Hattori
Aaryaman Vasishta
Andrew Walker
Katrin Leinweber
2020-09-14
Version 4.7
Datasets
<p>The new datasets module allows users to easily download spherical harmonic coefficient datasets and return them as <code>SHCoeffs</code>, <code>SHGravCoeffs</code> or <code>SHMagCoeffs</code> class instances.</p>
<p>To load a dataset, call the relevant method as in these examples:</p>
<pre><code> hlm = pysh.datasets.Venus.VenusTopo719() # Venus shape
clm = pysh.datasets.Earth.EGM2008() # Earth gravity
glm = pysh.datasetes.Earth.WDMAM2_800() # Earth magnetic field
clm = pysh.datasets.Moon.GRGM1200B() # Gravity of the Moon
</code></pre>
Better IO routines
<ul>
<li>Added the functions (in the module <code>shio</code>) <code>shwrite()</code>,<code>read_dov()</code> <code>write_dov()</code>, <code>read_bshc()</code>, <code>write_bshc()</code> and <code>write_igcem_gfc()</code> to read and write 'shtools', 'dov', 'bshc', and 'icgem' files.</li>
<li>Added the function <code>shio.read_igrf()</code> for reading IGRF formatted files, and returning coefficients for a specified year.</li>
<li>The <code>SHCoeffs</code>, <code>SHMagCoeffs</code> and <code>SHGravCoeffs</code> methods <code>to_file()</code> and <code>from_file()</code> now accept all file formats.</li>
<li>Added support for reading gzip and zip files in <code>shread</code>, <code>SHCoeffs.from_file()</code>, <code>SHGravCoeffs.from_file()</code>, <code>SHMagCoeffs.from_file()</code>, and <code>read_icgem_gfc()</code></li>
<li>Fixed a minor bug where netcdf files would not accept boolean attributes.</li>
</ul>
Admittance and correlation methods
<ul>
<li>Added the methods <code>admittance()</code>, <code>correlation()</code> and <code>admitcorr()</code> for the classes <code>SHCoeffs</code>, <code>SHGravCoeffs</code>, and <code>SHMagCoeffs</code> to compute the admittance and/or correlation with another function.</li>
<li>Added the methods <code>plot_admittance()</code>, <code>plot_correlation()</code> and <code>plot_admitcorr()</code> to easily plot these functions.</li>
</ul>
Better plotting routines
<ul>
<li>Added the option <code>legend_loc</code> to most plotting routines to allow fine control over where the legend is placed.</li>
<li>Minor bug fixes concerning colorbar parameters <code>cb_offset</code> and <code>cb_triangles</code>.</li>
</ul>
Better treatmentment of uncertainties
<ul>
<li>Added the option to include error coefficients in the class <code>SHCoeffs</code>.</li>
<li>Added the boolean option <code>errors</code> to the method <code>to_array()</code> in order to control whether the error coefficients are returned with the function spherical harmonic coefficients.</li>
<li>Added the option <code>legend_error</code> to the <code>SHCoeffs</code>, <code>SHMagCoeffs</code> and <code>SHGravCoeffs</code> method <code>plot_spectrum()</code> to provide a customized legend entry for the error spectrum.</li>
</ul>
New attributes for <code>SHCoeffs</code>, <code>SHGravCoeffs</code> and <code>SHMagCoeffs</code>
<ul>
<li>Added the attribute <code>error_kind</code> to specify the type of errors.</li>
<li>Added the attribute <code>units</code> to all grid and coefficient classes.</li>
<li>Added the attribute <code>epoch</code> to <code>SHGravCoeffs</code>, <code>SHGravGrid</code> , <code>SHGeoid</code> and <code>SHTensor</code>.</li>
<li>Added the attribute <code>year</code> to <code>SHMagCoeffs</code>, <code>SHMagGrid</code> , and <code>SHTensor</code>.</li>
</ul>
Improved Documentation
<ul>
<li>The web documentation has been broken into two separate components: pyshtools (python) and SHTOOLS (Fortran 95).</li>
<li>Reorganized the web documentation for clarity (re-organization of tutorials and guides, creation of a separate page for shtools grid formats, creation of separate pages for datasets, constants, and spherical harmonic coefficient file coeeficients).</li>
<li>The python tutorial notebooks are now rendered by the jupyter nbviewer web page. From this viewer, the user can easily download the notebook, or run it in a binder session.</li>
<li>Updated the documentation for installing pyshtools using Conda.</li>
</ul>
Initial support for fpm
<p>Initial experimental support is added for use with fpm: the <a href="https://github.com/fortran-lang/fpm">fortran package manager</a>.</p>
<p>To install as a stand-alone project, it is only necesssary to use the command</p>
<pre><code>fpm build
</code></pre>
<p>This will place the necessary .mod and .a files in a subdirectory of <code>build</code>.</p>
<p>To include shtools as a dependency in a project that compiles with fpm, you only need to add the following to the <code>fpm.toml</code> file:</p>
<pre><code>[dependencies]
SHTOOLS = {git="https://github.com/SHTOOLS/SHTOOLS.git"}
</code></pre>
<p>In the current state of fpm (which is undergoing active development), it is not possible to link to system wide libraries, such as fftw and lapack, which are required by shtools.</p>
Other changes
<ul>
<li>Add option <code>empty</code> to return an empty gird when initializing an <code>SHgrid</code> with<code>from_zeros()</code>.</li>
<li>Add method <code>from_ellipsoid()</code> to <code>SHGrid</code> to initial a class instance with a triaxial ellipsoid.</li>
<li>Added error checks to the pyshtools function <code>YilmIndexVector</code>.</li>
<li>Renamed the <code>constant</code> module to <code>constants</code>, and reogranized the constants in a more logical way (i.e., <code>constants.Mars.r</code> instead of <code>constants.Mars.r_mars</code>).</li>
<li>Added a gmt xarray accessor for use with pygmt.</li>
<li>Fixed a bug in <code>Curve2Mask</code> python wrapper when using extended grids, and fixed a bug in the fortran code when the input file contained points at exactly 0 or 360 degree.</li>
<li>pyshtools versioning is now done using <code>versioneer</code>, instead of the homemade system that was in the setup.py (which was somewhat complicated and needed to set <code>ISREALESED</code> to True or False). Versioneer gets the version number automatically from git tags.</li>
<li>Update fortran 95 source files to be consistent with the documentation and <code>SHTOOLS.f95</code> interface block. In particular, several variable names of <code>c</code> and <code>sh</code> were renamed to <code>cilm</code>.</li>
</ul>
https://doi.org/10.5281/zenodo.4028484
oai:zenodo.org:4028484
Zenodo
https://github.com/SHTOOLS/SHTOOLS/tree/4.7
https://doi.org/10.5281/zenodo.592762
info:eu-repo/semantics/openAccess
Other (Open)
SHTOOLS/SHTOOLS: Version 4.7
info:eu-repo/semantics/other