There is a newer version of this record available.

Software Open Access

mmaelicke/scikit-gstat: A scipy flavoured geostatistical variogram analysis toolbox

Mirko Mälicke; Helge David Schneider; Sebastian Müller; Egil Möller


SciKit-Gstat is a scipy-styled analysis module for geostatistics. It includes two base classes Variogram and OrdinaryKriging. Additionally, various variogram classes inheriting from Variogram are available for solving directional or space-time related tasks. The module makes use of a rich selection of semi-variance estimators and variogram model functions while being extensible at the same time.

Version 0.5 brings two major improvements: Instead of passing a numpy.ndarray, you can now use the new class skgstat.MetricSpace, which can pre-calculate distances in case they are used all over the place. Secondly, the new interface functions Variogram.to_gstools and Variogram.to_empirical can be used to export a Variogram to gstools and use their field generation, kriging and all the other fancy stuff there.


Changes since 0.4

  • [MetricSpace] A new class :class:MetricSpace <skgstat.MetricSpace> was introduced. This class can be passed to any class that accepted coordinates so far. This wrapper can be used to pre-calculate large distance matrices and pass it to a lot of Variograms.
  • [MetricSpacePair] A new class :class:MetricSpacePair <skgstat.MetricSpacePair> was introduced. This is a pair of two :class:MetricSpaces <skgstat.MetricSpace> and pre-calculates all distances between the two spaces. This is i.e. used in Kriging to pre-calcualte all distance between the input coordinates and the interpolation grid only once.

Version 0.4.4

  • [models] the changes to :func:matern <skgstat.models.matern> introduced in 0.3.2 are reversed. The Matérn model does not adapt the smoothness scaling to effective range anymore, as the behavior was too inconsistent.
  • [interface] minor bugfix of circular import in variogram_estimator interface
  • [models] :func:matern(0, ...) <skgstat.models.matern> now returns the nugget instead of numpy.NaN
  • [models] :func:stable(0, ...) <skgstat.models.stable> now returns the nugget instead of numpy.NaN or a ZeroDivisionError.

Version 0.4.3

  • [Variogram] :func:dim <skgstat.Variogram.dim> now returns the spatial dimensionality of the input data.
  • [Variogram] fixed a numpy depreaction warning in _calc_distances

Version 0.4.2

  • [Variogram] :func:bins <skgstat.Variogram.bins> now cases manual setted bin edges automatically to a :func:numpy.array.
  • [Variogram] :func:get_empirical <skgstat.Variogram.get_empirical> returns the empirical variogram. That is a tuple of the current :func:bins <skgstat.Variogram.bins> and :func:experimental <skgstat.Variogram.experimental> arrays, with the option to move the bin to the lag classes centers.

Version 0.4.1

  • [Variogram] moved the bin function setting into a wrapper instance method, which was an anonymous lambda before. This makes the Variogram serializable again.
  • [Variogram] a list of pylint errors were solved. Still enough left.
  • [binning] added 'stable_entropy' option that will optimize the lag class edges to be of comparable Shannon Entropy.
Files (9.2 MB)
Name Size
9.2 MB Download
All versions This version
Views 2,937258
Downloads 1828
Data volume 558.6 MB74.0 MB
Unique views 2,525225
Unique downloads 1607


Cite as