Skip to content

Geostatistical variogram estimation expansion in the scipy style

License

Notifications You must be signed in to change notification settings

rhugonnet/scikit-gstat

 
 

Repository files navigation

SciKit-GStat

Info: scikit-gstat needs Python >= 3.6!

https://img.shields.io/pypi/v/scikit-gstat?color=green&logo=pypi&logoColor=yellow&style=flat-square:alt:PyPI https://img.shields.io/github/v/release/mmaelicke/scikit-gstat?color=green&logo=github&style=flat-square:alt:GitHubrelease(latestbydate) Codacy Badge 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:

Mirko Mälicke, Egil Möller, Helge David Schneider, & Sebastian Müller. (2021, May 28).
mmaelicke/scikit-gstat: A scipy flavoured geostatistical variogram analysis toolbox (Version v0.6.0). Zenodo. http:https://doi.org/10.5281/zenodo.4835779

Full Documentation

The full documentation can be found at: https://mmaelicke.github.io/scikit-gstat

Description

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. 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.

Installation

PyPI

pip install scikit-gstat

Note: It can happen that the installation of numba or numpy is failing using pip. Especially on Windows systems. Usually, a missing Dll (see eg. #31) or visual c++ redistributable is the reason.

GIT:

git clone https://github.com/mmaelicke/scikit-gstat.git
cd scikit-gstat
pip install -r requirements.txt
pip install -e .

Conda-Forge:

From Version 0.5.5 on scikit-gstat is also available on conda-forge. Note that for versions < 1.0 conda-forge will not always be up to date, but from 1.0 on, each minor release will be available.

conda install -c conda-forge scikit-gstat

Quickstart

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 using the skgstat.data sub-module, that includes a growing list of sample data.

import skgstat as skg

# the data functions return a dict of 'sample' and 'description'
coordinates, values = skg.data.pancake(N=300).get('sample')

V = skg.Variogram(coordinates=coordinates, values=values)
print(V)
spherical Variogram
-------------------
Estimator:         matheron
Effective Range:   353.64
Sill:              1512.24
Nugget:            0.00

All variogram parameters can be changed in place and the class will automatically invalidate and update dependent results and parameters.

V.model = 'exponential'
V.n_lags = 15
V.maxlag = 500

# plot - matplotlib and plotly are available backends
fig = V.plot()

./example.png

About

Geostatistical variogram estimation expansion in the scipy style

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.8%
  • Dockerfile 0.2%