There is a newer version of this record available.

Software Open Access

SHTOOLS/SHTOOLS: Version 4.6.1

Mark Wieczorek; MMesch; Ilya Oshchepkov; Elliott Sales de Andrade; xoviat; Benda Xu; Akihisa Hattori; Stefan Schröder; Katrin Leinweber; Andrew Walker; Aaryaman Vasishta


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.3697770</identifier>
  <creators>
    <creator>
      <creatorName>Mark Wieczorek</creatorName>
      <affiliation>Laboratoire Lagrange - Observatoire de la Côte d'Azur</affiliation>
    </creator>
    <creator>
      <creatorName>MMesch</creatorName>
    </creator>
    <creator>
      <creatorName>Ilya Oshchepkov</creatorName>
      <affiliation>Center of Geodesy, Cartography and SDI (TsNIIGAiK)</affiliation>
    </creator>
    <creator>
      <creatorName>Elliott Sales de Andrade</creatorName>
    </creator>
    <creator>
      <creatorName>xoviat</creatorName>
    </creator>
    <creator>
      <creatorName>Benda Xu</creatorName>
    </creator>
    <creator>
      <creatorName>Akihisa Hattori</creatorName>
    </creator>
    <creator>
      <creatorName>Stefan Schröder</creatorName>
      <affiliation>Universität Bonn</affiliation>
    </creator>
    <creator>
      <creatorName>Katrin Leinweber</creatorName>
      <affiliation>@TIBHannover</affiliation>
    </creator>
    <creator>
      <creatorName>Andrew Walker</creatorName>
    </creator>
    <creator>
      <creatorName>Aaryaman Vasishta</creatorName>
      <affiliation>University of Tokyo</affiliation>
    </creator>
  </creators>
  <titles>
    <title>SHTOOLS/SHTOOLS: Version 4.6.1</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2020</publicationYear>
  <dates>
    <date dateType="Issued">2020-03-05</date>
  </dates>
  <resourceType resourceTypeGeneral="Software"/>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/3697770</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="URL" relationType="IsSupplementTo">https://github.com/SHTOOLS/SHTOOLS/tree/v4.6.1</relatedIdentifier>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.592762</relatedIdentifier>
  </relatedIdentifiers>
  <version>v4.6.1</version>
  <rightsList>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">Version 4.6
New extended grids
&lt;p&gt;All grid formats now allow to compute the redundant values at 360 E longitude (GLQ and DH), as well as at 90 S (DH only). These &lt;em&gt;extended&lt;/em&gt; grids are now the default in pyshtools, but remain optional in the Fortran 95 routines. The use of extended grids is controlled by the optional argument &lt;code&gt;extend&lt;/code&gt;. The purpose of these extended grids is to better integrate with the plotting routines that require these points (i.e.., Cartopy and pygmt).&lt;/p&gt;
Improved plotting and map projections
&lt;p&gt;The plotting routine &lt;code&gt;SHGrid.plot()&lt;/code&gt; has been refactored to allow support for projections using &lt;code&gt;Cartopy&lt;/code&gt; and &lt;code&gt;pygmt&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An incorrect 0.5 pixel offset was fixed when plotting grids via matplotlib, and grids now correctly plot both 0 and 360 degrees using the new "extended" grids of &lt;code&gt;SHGrid&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Support was added for Cartopy projections, by specifying: &lt;code&gt;SHGrid.plot(projection=ccrs.ProjectionName())&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The argument &lt;code&gt;colorbar&lt;/code&gt; now takes the options 'top', 'bottom', 'left' or 'right'.&lt;/li&gt;
&lt;li&gt;Improved plotting and placement of colorbars. New optional arguments include &lt;code&gt;cb_label&lt;/code&gt; for labels, &lt;code&gt;cb_ylabel&lt;/code&gt; for a label on the y axis of the colorbar, &lt;code&gt;cb_tick_interval&lt;/code&gt; for specifying the major tick interval, &lt;code&gt;cb_minor_tick_interval&lt;/code&gt; for specifying minor tick intervals, &lt;code&gt;cb_triangles&lt;/code&gt; for plotting upper/lower limit triangles at the ends of the colorbar, &lt;code&gt;cb_width&lt;/code&gt; to specify the colorbar width, and &lt;code&gt;cb_offset&lt;/code&gt; to override the default spacing between the map and colorbar.&lt;/li&gt;
&lt;li&gt;Improved colormap handling: New optional arguments include &lt;code&gt;cmap_limits&lt;/code&gt; to specify the lower and upper bounds of the data, as well as an interval for constant color intervals, and &lt;code&gt;cmap_reverse&lt;/code&gt; to reverse the colormap.&lt;/li&gt;
&lt;li&gt;Improved handling of ticks and annotations: The optional argument &lt;code&gt;ticks&lt;/code&gt; specifies which ticks and annotations to show, using a syntax from the generic mapping tools (i.e., &lt;code&gt;'WSen'&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Experimental support for pygmt using the routine &lt;code&gt;SHGrid.plotgmt()&lt;/code&gt;. This function takes nearly the same arguments as &lt;code&gt;plot()&lt;/code&gt;. As soon as pygmt implements projection classes (&lt;a href="https://github.com/GenericMappingTools/pygmt/pull/379"&gt;https://github.com/GenericMappingTools/pygmt/pull/379&lt;/a&gt;), this will be incorporated into the &lt;code&gt;plot&lt;/code&gt; function in the same manner as Cartopy was.&lt;/li&gt;
&lt;li&gt;All gravity, magnetics, tensor, localization windows and slepian function plotting routines incorporate these changes.&lt;/li&gt;
&lt;li&gt;Added a new introductory notebook that shows how to use all features of the &lt;code&gt;plot()&lt;/code&gt; function.&lt;/li&gt;
&lt;/ul&gt;
Improved integration with xarray DataArrays, xarray DataSets, and netcdf files
&lt;ul&gt;
&lt;li&gt;Added the methods &lt;code&gt;to_netcdf()&lt;/code&gt; and &lt;code&gt;from_netcdf()&lt;/code&gt; to the &lt;code&gt;SHCoeffs&lt;/code&gt;, &lt;code&gt;SHGravCoeffs&lt;/code&gt; and &lt;code&gt;SHMagCoeffs&lt;/code&gt; classes.&lt;/li&gt;
&lt;li&gt;Added the method &lt;code&gt;SHGrid.from_xarray()&lt;/code&gt; to initialize a grid from an xarray DataArray.&lt;/li&gt;
&lt;li&gt;Added improved descriptive attributes for netcdf files that mirror these &lt;a href="http://cfconventions.org/cf-conventions/cf-conventions.html"&gt;conventions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Added the method &lt;code&gt;SHGeoid.to_xarray()&lt;/code&gt; to export an xarray DataArray and &lt;code&gt;to_netcdf()&lt;/code&gt; to export a netcdf object readable by the generic mapping tools.&lt;/li&gt;
&lt;li&gt;Added the methods &lt;code&gt;SHGravGrid.to_xarray()&lt;/code&gt; and &lt;code&gt;SHMagGrid.to_xarray()&lt;/code&gt; to export all gridded data (radial, theta, phi, total, and potential) as an xarray DataSet.&lt;/li&gt;
&lt;li&gt;Added the methods &lt;code&gt;SHGravTensor.to_xarray()&lt;/code&gt; and &lt;code&gt;SHMagTensor.to_xarray()&lt;/code&gt;to export all gridded data (Vxx, invariants, eigenvalues) as an xarray DataSet.&lt;/li&gt;
&lt;/ul&gt;
Gravity routine improvements
&lt;ul&gt;
&lt;li&gt;Added the method &lt;code&gt;SHGravCoeffs.center_of_mass&lt;/code&gt; to calculate the center of mass of a body.&lt;/li&gt;
&lt;li&gt;Added the method &lt;code&gt;SHGravCoeffs.inertia_tensor()&lt;/code&gt; to calculate the moment of inertia tensor.&lt;/li&gt;
&lt;li&gt;Added the Earth dynamical flattening constant H (IERS Conventions 2010) to the &lt;code&gt;constant&lt;/code&gt; module.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;read_icgem_gfc()&lt;/code&gt; function was extended with the option &lt;code&gt;encoding&lt;/code&gt; as some models in ICGEM are not in UTF-8.&lt;/li&gt;
&lt;li&gt;Addded the method &lt;code&gt;centroid()&lt;/code&gt; to the class &lt;code&gt;SHCoeffs&lt;/code&gt;. The centroid is computed as the center of mass of a homogeneous object.&lt;/li&gt;
&lt;/ul&gt;
Other changes
&lt;ul&gt;
&lt;li&gt;New methods &lt;code&gt;SHGrid.to_real()&lt;/code&gt; and &lt;code&gt;SHGrid.to_imag()&lt;/code&gt; return the real and imaginary components of a complex &lt;code&gt;SHGrid&lt;/code&gt; instance.&lt;/li&gt;
&lt;li&gt;Added an optional argument &lt;code&gt;copy&lt;/code&gt; to &lt;code&gt;SHCoeffs.pad()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Fixed bugs in the Fortran code of &lt;code&gt;PlBar_d1&lt;/code&gt; and &lt;code&gt;PlON_d1&lt;/code&gt; when calculating the Legendre polynomials at the north and south pole.&lt;/li&gt;
&lt;li&gt;Spherical harmonic coefficients can be read remotely by specifying a URL as the filename. This functionality uses &lt;code&gt;requests.get()&lt;/code&gt;, and has been implemented in the function &lt;code&gt;shread()&lt;/code&gt; and the &lt;code&gt;SHCoeffs&lt;/code&gt; method &lt;code&gt;from_file()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Fixed a bug in the fortran code of &lt;code&gt;Curve2Mask&lt;/code&gt;. As part of this fix, the optional parameter &lt;code&gt;centralmeridian&lt;/code&gt; has been removed as it is no longer required. The longitudes of the curve can possess values from -360 to 720 degrees, and the routine searches for discontinuities that may occur between two successive points as the longitudes pass from 360 to 0, or -180 to 180 degrees.&lt;/li&gt;
&lt;/ul&gt;</description>
  </descriptions>
</resource>
1,869
253
views
downloads
All versions This version
Views 1,8694
Downloads 2530
Data volume 5.9 GB0 Bytes
Unique views 1,6193
Unique downloads 1740

Share

Cite as