Skip to content

Plurigaussian

Plurigaussian simulation: facies from thresholding independent latent Gaussian fields through a truncation rule.

Parameters:

Name Type Description Default
variograms Variogram or sequence of Variogram

Unit-sill variogram of each latent field, in field order.

required
proportions sequence of float

Facies proportions. Alone, facies 0..k are ordered along the first field, so each touches only its neighbors in that order.

required
rule int or tuple

Hierarchical rule, with proportions: a facies, or (field, [child, ...]), which cuts field into one slice per child, in order, sized by the proportions of the facies below it. Facies under different children touch only across that cut; for instance (0, [4, (1, [0, 1, 2, 3])]) sets facies 4 apart on the first field and orders the other four on the second.

required
regions sequence of (bounds, int)

Explicit rule instead of proportions: boxes ([(low, high), ...], facies) of the fields' Gaussian values, one (low, high] per field, unbounded past the last.

required

variograms property

variograms

The latent fields' variograms.

fit method descriptor

fit(coords, categories, *, holes=None, proportions=None)

Takes the conditioning data.

Parameters:

Name Type Description Default
coords (array_like, shape(n, 2) or (n, 3), PointSet or BlockModel)
required
categories array_like, shape (n,), or str

Facies 0..k of each sample, or the column of coords holding them.

required
holes array_like or str

Drill-hole ids or names; samples sharing a location keep the first.

None
proportions (array_like, shape(n, k))

Local facies proportions at the samples, for a rule built from proportions; simulate then needs them at the targets.

None

fit_variograms method descriptor

fit_variograms(experimental)

Rescales the ranges of each latent variogram, keeping its structures and anisotropy, so the indicator semivariograms the rule implies match the experimental ones.

Parameters:

Name Type Description Default
experimental sequence of ExperimentalVariogram or None

Omnidirectional semivariogram of each facies' indicator, in facies order, not standardized; None skips a facies. Lags are weighted by their pair counts.

required

Returns:

Type Description
Plurigaussian

This simulator, with the fitted variograms.

from_parquet staticmethod

from_parquet(path)

Reads to_parquet output; raises InvalidInput on another class's file or a newer format.

indicator_variograms method descriptor

indicator_variograms(lags)

Indicator semivariogram of each facies the rule and the latent variograms imply, along the variograms' major axes.

Parameters:

Name Type Description Default
lags (array_like, shape(m))
required

Returns:

Type Description
(ndarray, shape(k, m))

simulate method descriptor

simulate(
    targets,
    *,
    n=100,
    seed=0,
    keep=None,
    blocks=None,
    proportions=None,
)

Summary of n realizations; same options as SIS.simulate, and proportions of shape (targets, k), the local facies proportions at the targets, when fit had them at the samples.

to_parquet method descriptor

to_parquet(path)

Writes arrays as Parquet columns and parameters as JSON in the file metadata; from_parquet reads it back.

used in