Hi,
for non-stationary fields, to get a parameterisation that's more interpretable in terms of correlation range and variance, see around page 5 of the Lindgren and Rue 2015 JSS paper:
The model construction works the same in the current version of the package, but you should use inlabru to do the estimation to take advantage of the easier interface for spatial models;
instead of "+ f(field_index, model=spde_object) you'd use "+ field(geometry, model=spde_object)" if you have data stored in sf format, for example, and point process likelihood support is built in.
The paper shows how to have the covariates affect the log-range, instead of the log-kappa values (kappa and range are directly linked, but kappa also affects the variance; the paper shows how to parameterise it using the range in a way that's decoupled from the variance). (the newer pcmatern model implementation doesn't have direct non-stationary support, but uses this technique internally for stationary models)
The INLA spde.result() function takes an estimated model and computes pointwise parameter estimates, so you can see/plot how the range parameter varies across space (this may be sufficient for your purposes).
For the shape of the covariance, the only real way to do that for nonstationary fields is to compute the covariance matrix for a collection of points.
For stationary fields, inlabru has the spde.posterior() method that can help; see "?inlabru::spde.posterior()"; it doesn't work for non-stationary models, as it assumes a stationary covariance form.
For non-stationary, one needs to construct the FEM-matrices with fm_fem() and construct the precision matrix from that; there may be partial helper functions for this out there, but we don't yet have a clear interface for that for the non-stationary case; fmesher::fm_matern_precision() only handles the stationary case.
Finn