-
Notifications
You must be signed in to change notification settings - Fork 80
Ordinary Kriging: help please? #36
Description
So I'm trying to get up and running with this software, and I'm finding it rather difficult to produce a dirty ordinary kriging result. I learned geostats/kriging using SGeMS and I'm realizing much of what I learned is difficult to transfer here (so far)... I'm curious if someone could help me get some quick/dirty results with a dataset that I've used in SGeMS before.
The Example
I believe my Gaussian model is probably problematic
import numpy as np
from gstools import Exponential, Gaussian, krige
import pyvista as pv
# Load the data
probes = pv.read("probes.vtp")
model_space = pv.read("model_space.vtr")
model = Gaussian(dim=3, var=10, len_scale=500)
cond_pos = probes.points.T # gstools convention
# conditional values - what i want to interpolate
field = probes['temperature (C)']
# Create the kriging model
krig = krige.Ordinary(model, cond_pos=cond_pos, cond_val=field)
krige_field, krige_var = krig((model_space.points.T))
model_space["krige_field"] = krige_field
model_space["krige_var"] = krige_var
model_space.contour().plot(scalars="krige_field" )I think I am running into trouble with the len_scale option in the Gaussian model. GSTools enforces a limit of 1000 on that but for this dataset, I may need a higher len_scale?
If you all were to use this given dataset to produce an example showcasing what GSTools can do, what would that be? This is all in an effort to help me build out how PyVista might interface with GSTools
Data
I have sparse, subsurface temperature probe data and want to krige a volume of these data.
"Truth"
I'm working towards results that look more like this (prodcued in SGeMS):

