Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mmaelicke/scikit-gstat
Geostatistical variogram estimation expansion in the scipy style
https://github.com/mmaelicke/scikit-gstat
geostatistics scikit scipy
Last synced: about 1 month ago
JSON representation
Geostatistical variogram estimation expansion in the scipy style
- Host: GitHub
- URL: https://github.com/mmaelicke/scikit-gstat
- Owner: mmaelicke
- License: mit
- Created: 2017-07-31T05:59:40.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-09-02T07:35:01.000Z (2 months ago)
- Last Synced: 2024-10-01T02:02:41.221Z (about 1 month ago)
- Topics: geostatistics, scikit, scipy
- Language: Jupyter Notebook
- Homepage: https://mmaelicke.github.io/scikit-gstat/
- Size: 53.4 MB
- Stars: 223
- Watchers: 15
- Forks: 52
- Open Issues: 27
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
SciKit-GStat
============.. image:: https://img.shields.io/pypi/v/scikit-gstat?color=green&logo=pypi&logoColor=yellow&style=flat-square :alt: PyPI
:target: https://pypi.org/project/scikit-gstat.. image:: https://img.shields.io/github/v/release/mmaelicke/scikit-gstat?color=green&logo=github&style=flat-square :alt: GitHub release (latest by date)
:target: https://github.com/mmaelicke/scikit-gstat.. image:: https://github.com/mmaelicke/scikit-gstat/workflows/Test%20and%20build%20docs/badge.svg
:target: https://github.com/mmaelicke/scikit-gstat/actions.. image:: https://codecov.io/gh/mmaelicke/scikit-gstat/branch/master/graph/badge.svg
:target: https://codecov.io/gh/mmaelicke/scikit-gstat
:alt: Codecov.. image:: https://zenodo.org/badge/98853365.svg
:target: https://zenodo.org/badge/latestdoi/98853365How to cite
-----------In case you use SciKit-GStat in other software or scientific publications,
please reference this module. There is a `GMD `_ publication. Please cite it like:Mälicke, M.: SciKit-GStat 1.0: a SciPy-flavored geostatistical variogram estimation toolbox written in Python, Geosci. Model Dev., 15, 2505–2532, https://doi.org/10.5194/gmd-15-2505-2022, 2022.
The code itself is published and has a DOI. It can be cited as:
Mirko Mälicke, Romain Hugonnet, Helge David Schneider, Sebastian Müller, Egil Möller, & Johan Van de Wauw. (2022). mmaelicke/scikit-gstat: Version 1.0 (v1.0.0). Zenodo. https://doi.org/10.5281/zenodo.5970098
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, minmaxThe models include:
- sperical
- exponential
- gaussian
- cubic
- stable
- matérnwith 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
^^^^
.. code-block:: bashpip 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:
^^^^.. code-block:: bash
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... code-block:: bash
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... code-block:: python
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).. code-block:: bash
spherical Variogram
-------------------
Estimator: matheron
Effective Range: 353.64
Sill: 1512.24
Nugget: 0.00All variogram parameters can be changed in place and the class will automatically
invalidate and update dependent results and parameters... code-block:: python
V.model = 'exponential'
V.n_lags = 15
V.maxlag = 500# plot - matplotlib and plotly are available backends
fig = V.plot().. image:: ./example.png