Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h2. Name

*agr* — Adjust grid to points and well data {alias:agr}

h2. Syntax
{panel:|borderStyle=solid|borderWidth=1|bgColor=#FFFFAA}

*agr* _hiname_ \[*dis* _fixed_radius_] \[*rad* _radius_factor_] \*max* _max_radius_ \[*sav*] \[*conic*] \[*tensor* \[*fac* _influencefactor_]] 

{panel}

h2. 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. 

h2. Arguments
_hiname_ 
{indent}
Ajust the grid to points in workspace _hiname_. 
{indent}

*dis* _fixed_radius_ 
{indent}
Use a fixed radius _fixed_radius_ distance around each point. 
{indent}

*rad* _radius_factor_ 
{indent}
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. 
{indent}

*max* _max_radius_ 
{indent}
Use a maximum influence distance of _max_radius_ around each point. 
{indent}

*sav* 
{indent}
Save the correction grid into workspace ^savagr. This grid can be used for inspection and documentation of the corrections. 
{indent}

*tensor* 
{indent}
Use b-spline tensor modeling (bell shaped) to model the differences. 
{indent}

*fac* _influencefactor_ 
{indent}
Apply an influence factor in tensor modeling. 
{indent}

h2. Examples

h3. Ex.1: Generate grid and cube

{noformat:|borderWidth=1|bgColor=#eeeeee}
        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
        }
{noformat}

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.

h3. 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.

{noformat:|borderWidth=1|bgColor=#eeeeee}
        # 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
{noformat}

!att:_img_ref^cmd_agr_viewports.png|border=1,width=500!
_The grid in the example above is displayed in a viewport presentation before and after updating with *agr*_

h2. See also

[grp], [zap - Zap (or snap) to data]