1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! `geostat` — the geostatistics workflow beyond a single global krige: build a
//! spatial-continuity model from data, krige at scale with a moving
//! neighbourhood, and draw conditional realizations (sequential Gaussian
//! simulation, optionally steered by a collocated secondary variable).
//!
//! Where [`gridding::kriging`](crate::gridding::kriging) offers one global-
//! neighbourhood ordinary krige (every datum in one dense solve), `geostat` is
//! the **inference + scale + stochastic** layer:
//!
//! - [`experimental`] — [`experimental_variogram`]: the empirical semivariance
//! cloud binned into lag classes.
//! - [`fit`] — [`Variogram::fit`](crate::Variogram::fit): pair-count weighted
//! least-squares fit of a model to an experimental variogram.
//! - [`neighbourhood`] — an R*-tree moving search window (max-n neighbours within
//! a radius) shared by the local kernels.
//! - [`local_kriging`] — [`LocalKriging`]: moving-neighbourhood ordinary kriging
//! (small dense per-node solves) that scales to conditioning sets a single
//! global solve cannot, and a simple-kriging core (used by simulation).
//! - [`nscore`] — the [`NormalScore`] transform (data ⇄ Gaussian scores).
//! - [`sgs`] — [`sgs`]: sequential Gaussian simulation, conditioned exactly on the
//! data, with an optional collocated-cokriging (Markov-1) secondary drift; and
//! [`sgs_unconditional`]: the same machinery with no data and a parametric
//! `N(mean, variance)` target (the synthetic-field primitive).
//!
//! It reuses the crate's [`Variogram`](crate::Variogram) model, the small dense
//! LU solver behind ordinary kriging, and `rstar` (already a dependency) for the
//! neighbour search. Everything is derived from the primary literature cited on
//! each submodule — no third-party geostatistics code was consulted.
pub use ;
pub use LocalKriging;
pub use NormalScore;
pub use ;