geolime.geostats.simulation.turning_bands

Data:

Callable

Callable type; Callable[[int], str] is a function of (int) -> str.

Classes:

Covariance(dim, angles, 0.0, 0.0], scales, …)

CovarianceElem(dim, angles, scales, …)

Grid(metadata, convention)

Neighborhood()

threadpool_limits([limits, user_api])

Change the maximal number of threads that can be used in thread pools.

Functions:

direct_block_simu_init(target_grid, xcoords, …)

Initialize conditional simulation against observed values (in Gaussian space).

direct_block_simulations_on_a_set(…[, …])

Applies Simple Kriging on conditional simulations

discrete_gaussian_weights(target_node, …)

Compute Discrete Gaussian Kriging weights

evaluate_hermite_expansion(x[, coeff])

Evaluate at x a function determined by its coefficients in the Hermite expansion.

group_data(target_grid, xcoords, xdata)

Create a dataset from point mean in common blocks

simu_grid(Zs, grid[, ind])

Evaluate simulations on an input grid.

simu_grid_init(cov, grid[, nbsimus, nbands, …])

This function will initialize Turning Band method for computing unconditional simulations from a covariance structure.

simu_grid_init_elem(covelem, sill, grid[, …])

Initialize Turning Band method on an atomic covariance element

simu_points(Zs, coords)

Applies unconditional simulations on input coordinates (evaluated as distances).

spherical_3d_random_function_tb(scale, sill, …)

Prepares one simulation with the Turning Band method.

spherical_3d_random_functions_tb(scale, …)

Compute random function with the Turning Band method.

geolime.geostats.simulation.turning_bands.direct_block_simu_init(target_grid: geolime.objects.grid.Grid, xcoords: numpy.ndarray, xdatgauss: numpy.ndarray, cov_gauss_block: geolime.geostats.models.covariance.Covariance, r: float, nbands: int = 400, nbsimus: int = 1, seed: int = None)

Initialize conditional simulation against observed values (in Gaussian space). This function will first compute the unconditional simulations with the input covariance structure using the Turning Band method. Data will then be grouped for simple kriging application on simulation results.

Parameters
  • target_grid (Grid) – Target grid (used for boundary check in unconditional simulation computation)

  • xcoords (np.ndarray) – Input coordinates associated with the input observed data

  • xdatgauss (np.ndarray) – Observed data (in Gaussian space)

  • cov_gauss_block (Covariance) – Covariance structure for unconditional simulation application.

  • r (float) – Change of support coefficient

  • nbands (int, optional) – Number of bands for spectral measure computation

  • nbsimus (int, optional) – Number of simulations to be applied

  • seed (int, optional) – Random generator seed

Returns

Simulation initialization array, center coordinates, number of points in blocks, simulation residuals

Return type

np.ndarray, np.ndarray, int, np.ndarray

geolime.geostats.simulation.turning_bands.direct_block_simulations_on_a_set(target_grid: geolime.objects.grid.Grid, neigh: geolime.geostats.math.neighborhood.Neighborhood, xcoordsc: numpy.ndarray, cov_gauss_block: geolime.geostats.models.covariance.Covariance, zsimu: numpy.ndarray, r: float, simu_res: numpy.ndarray, n_points_in_blocks: int, anam: numpy.ndarray = None, indices: range = None)

Applies Simple Kriging on conditional simulations

Parameters
  • target_grid (Grid) – Target grid

  • neigh (Neighborhood) – Search neighborhood

  • xcoordsc (np.ndarray) – Center coordinates of blocks

  • cov_gauss_block (Covariance) – Blockl covariance model for Simple Kriging

  • zsimu (Callable) – Simulation function

  • r (float) – Change of support coefficient

  • simu_res (np.ndarray) – Simulation result on block containing data point

  • n_points_in_blocks (int) – Number of points in block

  • anam (np.ndarray) – Hermite coefficients from anamorphosis object for Discrete Gaussian Kriging

  • indices (range) – Block indices

Returns

Conditional simulation result

Return type

np.ndarray

geolime.geostats.simulation.turning_bands.simu_grid(Zs: Callable, grid: geolime.objects.grid.Grid, ind: range = None)

Evaluate simulations on an input grid. Grid coordinates will be given as input for applying simulation on each points of the grid.

Parameters
  • Zs (Callable) – Simulation initialization after Turning Band method application

  • grid (Grid) – Input grid from which coordinates will be evaluated.

  • ind (range, optional) – Grid index to apply simulations

Returns

Simulation result for the input grid from which covariance has been evaluated.

Return type

np.ndarray

geolime.geostats.simulation.turning_bands.simu_grid_init(cov: geolime.geostats.models.covariance.Covariance, grid: geolime.objects.grid.Grid, nbsimus: int = 1, nbands: int = 400, seed: int = None)

This function will initialize Turning Band method for computing unconditional simulations from a covariance structure.

Parameters
  • cov (Covariance) – Covariance structure

  • grid (Grid) – Input grid

  • nbsimus (int) – Number of simulations to be applied

  • nbands (int, optional) – Number of bands for spectral measure computation

  • seed (int, optional) – Random generator seed

Returns

Function returning unconditional simulations

Return type

Callable

geolime.geostats.simulation.turning_bands.simu_grid_init_elem(covelem: geolime.geostats.models.covariance.CovarianceElem, sill: float, grid: geolime.objects.grid.Grid, nbsimus: int = 1, nbands: int = 400, seed: int = None)

Initialize Turning Band method on an atomic covariance element

Parameters
  • covelem (CovarianceElem) – Atomic covariance element

  • sill (float) – Constraint sill

  • grid (Grid) – Input grid to retrieve boundaries

  • nbsimus (int, optional) – Number of simulations to be applied

  • nbands (int, optional) – Number of bands for spectral measure computation

  • seed (int, optional) – Random generator seed

Returns

Function returning simulation initialization for an atomic covariance element

Return type

Callable

geolime.geostats.simulation.turning_bands.simu_points(Zs: Callable, coords: numpy.ndarray)

Applies unconditional simulations on input coordinates (evaluated as distances).

Parameters
  • Zs (Callable) – Simulation function

  • coords (np.ndarray) – Input coordinates

Returns

Applies simulations on coordinates.

Return type

np.ndarray

geolime.geostats.simulation.turning_bands.spherical_3d_random_function_tb(scale: float, sill: float, nbands: int, xmin: float, xmax: float, anisotropy: numpy.ndarray = None, seed: int = None)

Prepares one simulation with the Turning Band method. This function applies the Spectral Method and returns a random function

Parameters
  • scale (float) – Scale of an atomic covariance element

  • sill (float) – Sill of an atomic covariance element

  • nbands (int) – Number of bands for spectral measure computation

  • xmin (float) – Grid minimum boundary

  • xmax (float) – Grid maximum boundary

  • anisotropy (np.ndarray) – Anistopic distance for an atomic covariance element

  • seed (int) – Random generator seed

Returns

Function computing one simulation random fucntion

Return type

Callable

geolime.geostats.simulation.turning_bands.spherical_3d_random_functions_tb(scale: float, sill: float, nbands: int, xmin: float, xmax: float, anisotropy: numpy.ndarray = None, nfunctions: int = 1, seed: int = None)

Compute random function with the Turning Band method. This function applies the Spectral Method on an atomic covariance element parameters.

Parameters
  • scale (float) – Scale of an atomic covariance element

  • sill (float) – Sill constraint to be applied

  • nbands (int) – Number of bands for spectral measure computation

  • xmin (float) – Grid minimum boundary

  • xmax (float) – Grid maximum boundary

  • anisotropy (np.ndarray, optional) – Anistopic distance for an atomic covariance element

  • nfunctions (int, optional) – Number of simulations to be applied

  • seed (int, optional) – Random generator seed

Returns

Function computing simulation realizations

Return type

Callable