Geostatistical expansion in the scipy style
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Info: scikit-gstat needs Python >= 3.4!

Build Status Codacy Badge Documentation Status Codecov

How to cite

In case you use SciKit-GStat in other software or scientific publications, please reference this module. It is published and has a DOI. It can be cited as:

Mälicke, Mirko, & Schneider, Helge David. (2018). mmaelicke/scikit-gstat: Geostatistical variogram toolbox (Version v0.2.2). Zenodo.

Full Documentation

The full documentation can be found at:

New Version 0.2

Scikit-gstat was rewritten in major parts. Most of the changes are internal, but the attributes and behaviour of the Variogram has also changed substantially. A detailed description of of the new versions usage will follow. The last version of the old Variogram class, 0.1.8, is kept in the version-0.1.8 branch on GitHub, but not developed any further. Those two versions are not compatible.


SciKit-Gstat is a scipy-styled analysis module for geostatistics. It includes two base classes Variogram and DirectionalVariogram. Both have a very similar interface and can compute experimental variograms and model variograms. The module makes use of a rich selection of semi-variance estimators and variogram model functions, while being extensible at the same time. The estimators include:

  • matheron
  • cressie
  • dowd
  • genton
  • entropy
  • two experimental ones: quantiles, minmax

The models include:

  • sperical
  • exponential
  • gaussian
  • cubic
  • stable
  • matérn

with all of them in a nugget and no-nugget variation. All the estimator are implemented using numba's jit decorator. The usage of numba might be subject to change in future versions. At the current stage, the package does not include any kriging. This is planned for a future release.



pip install scikit-gstat


git clone
cd scikit-gstat
pip install -r requirements.txt
pip install -e .


The Variogram class needs at least a list of coordiantes and values. All other attributes are set by default. You can easily set up an example by generating some random data:

import numpy as np
import skgstat as skg

coordinates = np.random.gamma(0.7, 2, (30,2))
values = np.random.gamma(2, 2, 30)

V = skg.Variogram(coordinates=coordinates, values=values)
spherical Variogram
Estimator:    matheron
Range:        1.64
Sill:         5.35
Nugget:       0.00