gstools.krige.Detrended

class gstools.krige.Detrended(model, cond_pos, cond_val, trend_function)[source]

Bases: gstools.krige.methods.Simple

Detrended simple kriging.

In detrended kriging, the data is detrended before interpolation by simple kriging with zero mean.

The trend needs to be a callable function the user has to provide. This can be used for regression kriging, where the trend function is determined by an external regression algorithm.

This is just a shortcut for simple kriging with a given trend function and zero mean. A trend can be given with EVERY provided kriging routine.

Parameters:
  • model (CovModel) – Covariance Model used for kriging.
  • cond_pos (list) – tuple, containing the given condition positions (x, [y, z])
  • cond_val (numpy.ndarray) – the values of the conditions
  • trend_function (callable) – The callable trend function. Should have the signiture: f(x, [y, z])
Attributes:
cond_ext_drift

numpy.ndarray: The ext. drift at the conditions.

cond_no

int: The number of the conditions.

cond_pos

list: The position tuple of the conditions.

cond_trend

numpy.ndarray: Trend at the conditions.

cond_val

list: The values of the conditions.

drift_functions

list of callable: The drift functions.

drift_no

int: Number of drift values per point.

mean

float: The mean of the field.

model

CovModel: The covariance model of the field.

trend_function

callable: The trend function.

unbiased

bool: Whether the kriging is unbiased or not.

value_type

str: Type of the field values (scalar, vector).

Methods

__call__(self, pos[, mesh_type, ext_drift, …]) Generate the kriging field.
get_mean(self) Calculate the estimated mean.
mesh(self, mesh[, points, direction, name]) Generate a field on a given meshio or ogs5py mesh.
plot(self[, field, fig, ax]) Plot the spatial random field.
set_condition(self, cond_pos, cond_val[, …]) Set the conditions for kriging.
set_drift_functions(self[, drift_functions]) Set the drift functions for universal kriging.
structured(self, \*args, \*\*kwargs) Generate a field on a structured mesh.
to_pyvista(self[, field_select, fieldname]) Create a VTK/PyVista grid of the stored field.
unstructured(self, \*args, \*\*kwargs) Generate a field on an unstructured mesh.
update(self) Update the kriging settings.
vtk_export(self, filename[, field_select, …]) Export the stored field to vtk.
__call__(self, pos, mesh_type='unstructured', ext_drift=None, chunk_size=None)

Generate the kriging field.

The field is saved as self.field and is also returned. The error variance is saved as self.krige_var and is also returned.

Parameters:
  • pos (list) – the position tuple, containing main direction and transversal directions (x, [y, z])
  • mesh_type (str, optional) – ‘structured’ / ‘unstructured’
  • ext_drift (numpy.ndarray or None, optional) – the external drift values at the given positions (only for EDK)
  • chunk_size (int, optional) – Chunk size to cut down the size of the kriging system to prevent memory errors. Default: None
Returns:

get_mean(self)

Calculate the estimated mean.

mesh(self, mesh, points='centroids', direction='xyz', name='field', **kwargs)

Generate a field on a given meshio or ogs5py mesh.

Parameters:
  • mesh (meshio.Mesh or ogs5py.MSH) – The given meshio or ogs5py mesh
  • points (str, optional) – The points to evaluate the field at. Either the “centroids” of the mesh cells (calculated as mean of the cell vertices) or the “points” of the given mesh. Default: “centroids”
  • direction (str, optional) – Here you can state which direction should be choosen for lower dimension. For example, if you got a 2D mesh in xz direction, you have to pass “xz” Default: “xyz”
  • name (str, optional) – Name to store the field in the given mesh as point_data or cell_data. Default: “field”
  • **kwargs – Keyword arguments forwareded to Field.__call__.

Notes

This will store the field in the given mesh under the given name, if a meshio mesh was given.

See: https://github.com/nschloe/meshio

See: Field.__call__

plot(self, field='field', fig=None, ax=None)

Plot the spatial random field.

Parameters:
  • field (str, optional) – Field that should be plotted. Can be: “field”, “raw_field”, “krige_field”, “err_field” or “krige_var”. Default: “field”
  • fig (Figure or None) – Figure to plot the axes on. If None, a new one will be created. Default: None
  • ax (Axes or None) – Axes to plot on. If None, a new one will be added to the figure. Default: None
set_condition(self, cond_pos, cond_val, ext_drift=None)

Set the conditions for kriging.

Parameters:
  • cond_pos (list) – the position tuple of the conditions (x, [y, z])
  • cond_val (numpy.ndarray) – the values of the conditions
  • ext_drift (numpy.ndarray or None, optional) – the external drift values at the given conditions (only for EDK) For multiple external drifts, the first dimension should be the index of the drift term.
set_drift_functions(self, drift_functions=None)

Set the drift functions for universal kriging.

Parameters:drift_functions (list of callable, str or int) –

Either a list of callable functions, an integer representing the polynomial order of the drift or one of the following strings:

  • ”linear” : regional linear drift (equals order=1)
  • ”quadratic” : regional quadratic drift (equals order=2)
Raises:ValueError – If the given drift functions are not callable.
structured(self, *args, **kwargs)

Generate a field on a structured mesh.

See Field.__call__

to_pyvista(self, field_select='field', fieldname='field')

Create a VTK/PyVista grid of the stored field.

Parameters:
  • field_select (str, optional) – Field that should be stored. Can be: “field”, “raw_field”, “krige_field”, “err_field” or “krige_var”. Default: “field”
  • fieldname (str, optional) – Name of the field in the VTK file. Default: “field”
unstructured(self, *args, **kwargs)

Generate a field on an unstructured mesh.

See Field.__call__

update(self)

Update the kriging settings.

vtk_export(self, filename, field_select='field', fieldname='field')

Export the stored field to vtk.

Parameters:
  • filename (str) – Filename of the file to be saved, including the path. Note that an ending (.vtr or .vtu) will be added to the name.
  • field_select (str, optional) – Field that should be stored. Can be: “field”, “raw_field”, “krige_field”, “err_field” or “krige_var”. Default: “field”
  • fieldname (str, optional) – Name of the field in the VTK file. Default: “field”
cond_ext_drift

The ext. drift at the conditions.

Type:numpy.ndarray
cond_no

The number of the conditions.

Type:int
cond_pos

The position tuple of the conditions.

Type:list
cond_trend

Trend at the conditions.

Type:numpy.ndarray
cond_val

The values of the conditions.

Type:list
drift_functions

The drift functions.

Type:list of callable
drift_no

Number of drift values per point.

Type:int
mean

The mean of the field.

Type:float
model

The covariance model of the field.

Type:CovModel
trend_function

The trend function.

Type:callable
unbiased

Whether the kriging is unbiased or not.

Type:bool
value_type

Type of the field values (scalar, vector).

Type:str