%matplotlib widget
import matplotlib.pyplot as plt
plt.ioff()
# turn of warnings
import warnings
warnings.filterwarnings('ignore')
Let's pimp our self-defined model Gau
from the introductory example
by setting the exponent as an additional parameter:
This leads to the so called stable covariance model and we can define it by
import numpy as np
import gstools as gs
class Stab(gs.CovModel):
def default_opt_arg(self):
return {"alpha": 1.5}
def cor(self, h):
return np.exp(-(h ** self.alpha))
As you can see, we override the method CovModel.default_opt_arg
to provide a standard value for the optional argument alpha
.
We can access it in the correlation function by self.alpha
Now we can instantiate this model by either setting alpha implicitly with the default value or explicitly:
model1 = Stab(dim=2, var=2.0, len_scale=10)
model2 = Stab(dim=2, var=2.0, len_scale=10, alpha=0.5)
ax = model1.plot()
model2.plot(ax=ax)
Loading...
Apparently, the parameter alpha controls the slope of the variogram and consequently the roughness of a generated random field.
Note¶
You don't have to override the CovModel.default_opt_arg
, but you will get a ValueError if you don't set it on creation.