/GSTools

GeoStatTools

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Welcome to GeoStatTools

DOI PyPI version Documentation Status

GSTools-LOGO

Purpose

GeoStatTools is a library providing geostatistical tools.

Installation

Requirements:
  • numpy
  • scipy
Installation:

pip install gstools

Documentation for GeoStatTools

You can find the documentation here.

Spatial Random Field Generation

The core of this library is the generation of spatial random fields. These fields are generated using the randomisation method, described by Heße et al. 2014.

Example

This is an example of how to generate a 2 dimensional spatial random field with a Gaussian covariance structure.

import numpy as np
from gstools.field import SRF

x = np.linspace(0, 10, 120)
y = np.linspace(-5, 5, 100)

cov_model = {'dim': 2, 'var': 1.6, 'len_scale': 4.5, 'model': 'gau', 'mode_no': 1000}

srf = SRF(**cov_model)
field = srf(x, y, seed=19970221, mesh_type='structured')

Estimating variograms

The spatial structure of a field can be analyzed with the variogram, which contains the same information as the covariance function.

Example

This is an example of how to estimate the variogram of a 2 dimensional unstructured field.

import numpy as np
from gstools.field import SRF
from gstools import variogram

#random samples between 0 <= x, y < 100
x = np.random.rand(1000) * 100.
y = np.random.rand(1000) * 100.

srf = SRF(dim=2, var=2, len_scale=30)
field = srf(x, y, seed=20011012)

bins = np.arange(0, 50)

gamma = variogram.estimate_unstructured(field, bins, x, y)

License

GPL © 2018