Name
agr — Adjust grid to points and well data
Syntax
agr hiname [dis fixed_radius] [rad radius_factor] *max* max_radius [sav] [conic] [tensor [fac influencefactor]]
Description
The agr command is used for adjusting a grid to the z-values of a point-dataset in workspace. A common agr operation is to adjust a map to the values found in a well. The grid must be the active dataset.
Arguments
hiname
Ajust the grid to points in workspace hiname.
dis fixed_radius
Use a fixed radius fixed_radius distance around each point.
rad radius_factor
Use an influence radius around each point that is: radius_factor * vertical_distance_from_surface_to_point . Default radius_factor is 5. The default is used if this argument is left out.
max max_radius
Use a maximum influence distance of max_radius around each point.
sav
Save the correction grid into workspace ^savagr. This grid can be used for inspection and documentation of the corrections.
tensor
Use b-spline tensor modeling (bell shaped) to model the differences.
fac influencefactor
Apply an influence factor in tensor modeling.
Examples
Ex.1: Generate grid and cube
set i 0 ; # initialize i # adjust grid 5 times while {$i lt 5} { agr ggg dis 5000 ; # adjust grid in workspace to points in workspace ggg using a fixed radius of 5000. incr i ; # add one to i }
To achieve good results with the agr command one should repeat the operations a few times to secure that the updating towards the different points stabilizes in such a way that an updating in one point do not harm the adjacent points.
Ex.2: Update grid to well data
Adjusting grids is handled in the command object found by grid > Grid Operations > Update grid to well data*. The example below is an excerpt from that code.
# example of using agr to update a grid # well data is located in workspace welldata # the grid to be updated is in active mhi updatedgrid ; # the grid is saved in updated grid set radius 5000 ; # radius of updating set iterations 10 ; # max iterations set iter 1 ; # initiate a loop variable set tell 0 ; # initiate a counter variable while {$iter == 1} { mlo updatedgrid ; # move low updatedgrid set rad [expr $radius * (1 - 0.06 * $tell)] agr welldata rad $rad ; # adjust grid using an influence radius mhi updatedgrid ; # move high updated grid mlo welldata ; # move down welldata zap dif updatedgrid ; # zap and get difference to grid # well data differences to the grid is in the scalar part set zmi [gvar zsmin] ; # get scalar zmin set zma [gvar zsmax] ; # get scalar zmax set val [expr $zmi + $zma] ; # add min and max if {$val lt 1 amp $val > -1} {set iter 0} ; # check difference and stop if OK mlo updatedgrid ; # move low updatedgrid incr tell ; # increment the tell variable if {$tell >= $iterations} { ; # test if counter is greater than max iterations break ; # break the loop } } # the result is now in updatedgrid
The grid in the example above is displayed in a viewport presentation before and after updating with agr
See also
grp, zap - Zap (or snap) to data