[SOLVED] 3D variograms

Here you can report the problems encountered when using a function relative to the variography:
- experimental variography (vario.calc, vario.grid, vmap.calc, ...)
- model fitting (model.auto)

[SOLVED] 3D variograms

Postby SBF » Thu Jun 18, 2015 10:38 am

Hi,

I got X,Y,Z,Grade test data and want to generate a 3D point model based on the variogram for XY plane and a separate one for Z direction.
I think I must use dirvect and get.directions. Can I have some insight on the use of these item in Rgeostats ?
Is there a 3D spherical melem models with x,y,z range and pitch & dip.

Best regards
Last edited by SBF on Fri Jun 26, 2015 3:28 pm, edited 1 time in total.
SBF
 
Posts: 1
Joined: Thu Jun 18, 2015 10:23 am

Re: 3D variograms

Postby Didier Renard » Fri Jun 19, 2015 7:34 am

Hello

Concerning the variograms calculated in 3-D, lots have to be said.

Initially (before V10), the calculations of the variograms were essentially developed for the 2-D case.
I recall some of the key parameters available (args of vario.calc): lag, toldis (tolerance distance), dirvect (multiple calculation directions), tolang (angular tolerance around each direction). Alos note the optcode argument which enabled to constrain the calculations to proceed data which belongs to similar (or different) codes: if you define the well Id as a code, you can perform calculations "along the drillhole" (which usually means along the vertical).
But nothing more was really imagined for the 3-D data.

Later a set of options have been introduced which enabled calculation for 3-D data:
- bench: where the user can introduce a criterion only comparing samples whose vertical distance is lower than 'bench'
- cylrad: which constrain the any pairs of points to be compared to belong to a cylinder (center on the calculation direction). This trick avoids comparing samples too far away (in terms of their projection in a plane perpendicular to the calculation direction) as their distance increases.
These new arguments (as the others) are now vectors (one value per direction). If defined as atomic, this same value is simply duplicated for each direction. So, in case of a 3-D data set and if the user wishes to calculate 2 directions in the XoY plane (say along oX and oY to make things simper) and one along the oZ direction, with a lag of 1m along X, 2m along Y and 3m along Z, he must use a syntax such as:

vario.calc(db,dirvect=diag(3),lag=c(1,2,3))

In addition, most of the time, the user wishes to modify the angular tolerance and the bench parameter per direction, the syntax becomes:

vario.calc(db,dirvect=diag(3),lag=c(1,2,3),bench=(3,3,NA),cylrad=(NA,NA,5))

There the horizontal calculations will be performed with a 'bench' criterion set to 3m but the bench criterion will not be used for the vertical calculation. Conversely, the 'cylrad' argument will only be used for the vertical calculations and set to 5m.

More recently, the variogram calculation has been re-written in a "concatenation" mode. Then the previous command can be performed using the following simpler concatenation technique:

vario = vario.calc(db,dirvect=c(0,90),lag=c(1,2),bench=3)
vario = vario.calc(db,ndim=3,dirvect=matrix(c(0,0,1),ncol=1),cylrad=5,vario.add=vario)

The trick used here is to concatenate the second calculations below the results of the first one, in order to produce the variogram calculated in 3 directions. Moreover, the direction specification ('dirvect') uses the syntax explained in the method 'get.directions' where angles, when specified as a vector, correspond to angles defined in the horizontal plane; when defined as a matrix, they directly give the direction coefficients.

Hope this long post will answer all your questions.
Didier Renard
 
Posts: 337
Joined: Thu Sep 20, 2012 4:22 pm


Return to Variography

Who is online

Users browsing this forum: No registered users and 5 guests

cron