gstools.cokriging.Correlogram

class gstools.cokriging.Correlogram(primary_model, cross_corr, secondary_var, primary_mean=0.0, secondary_mean=0.0)[source]

Bases: ABC

Abstract base class for cross-covariance models in collocated cokriging.

A correlogram encapsulates the spatial relationship between primary and secondary variables, including their cross-covariance structure and statistical parameters (means, variances).

This design allows for different cross-covariance models (MM1, MM2, etc.) to be implemented as separate classes, making the cokriging framework extensible and future-proof.

Parameters:
  • primary_model (CovModel) – Covariance model for the primary variable.

  • cross_corr (float) – Cross-correlation coefficient between primary and secondary variables at zero lag (collocated). Must be in [-1, 1].

  • secondary_var (float) – Variance of the secondary variable. Must be positive.

  • primary_mean (float, optional) – Mean value of the primary variable. Default: 0.0

  • secondary_mean (float, optional) – Mean value of the secondary variable. Default: 0.0

Variables:
  • primary_model (CovModel) – The primary variable’s covariance model.

  • cross_corr (float) – Cross-correlation at zero lag.

  • secondary_var (float) – Secondary variable variance.

  • primary_mean (float) – Primary variable mean.

  • secondary_mean (float) – Secondary variable mean.

Notes

Subclasses must implement compute_covariances and cross_covariance to define the cross-covariance structure.

Methods

compute_covariances()

Compute covariances at zero lag.

cross_covariance(h)

Compute cross-covariance \(C_{YZ}(h)\) at distance \(h\).

abstractmethod compute_covariances()[source]

Compute covariances at zero lag.

Returns:

  • C_Z0 (float) – Primary variable variance \(C_Z(0)\).

  • C_Y0 (float) – Secondary variable variance \(C_Y(0)\).

  • C_YZ0 (float) – Cross-covariance between primary and secondary at zero lag \(C_{YZ}(0)\).

Notes

This method defines how the cross-covariance at zero lag is computed from the cross-correlation and variances. Different correlogram models may use different formulas.

abstractmethod cross_covariance(h)[source]

Compute cross-covariance \(C_{YZ}(h)\) at distance \(h\).

Parameters:

h (float or numpy.ndarray) – Distance(s) at which to compute cross-covariance.

Returns:

C_YZ_h – Cross-covariance at distance \(h\).

Return type:

float or numpy.ndarray

Notes

This is the key method that differentiates correlogram models. For example, MM1 uses the primary variable’s spatial structure while MM2 would use the secondary variable’s structure.