NJGS Logo 3D Wellfield Graphic

User's Guide for 3DWellField.avx

An ArcView 3.x extension for 3D generation and visualization of well-field well-construction parts, inclined planes, packer-test results, borehole fractures, and geophysical logs based on borehole and rock-core records.

Loading the Extension * FTab and VTab Data Tables * 3DWellField.ave Script * Disclaimer * Example Shapefile Output

Gregory C. Herman, N.J. Geological Survey, Trenton, NJ 08625; gherman@dep.nj.gov

Introduction

DGS01-1 includes the ArcView 3.x extension 3DWellField.avx.  This extension is used to generate and visualize three-dimensional (3D) shapefiles of  well-field well-construction parts, inclined planes, packer-test  results, borehole fractures, and geophysical logs based on borehole and rock-core records.  The extension is dependent on the ESRI ArcView 3D Analyst extension.  Data required for shapefile generation can be compiled outside of ArcView, then joined with a two-dimensional (2D) coverage of well locations inside ArcView in order to generate and visualize the well-field components. The extension generates 3D multi-part shapefiles of well parts for cased, open, screened, and packer-tested intervals, 3D plane shapefiles of  inclined stratigraphic contacts, water-bearing zones, and borehole fractures, and 3D polyline shapefiles of geophysical borehole logs. The extension also provides a tool for calculating the depth(s) of intersection for an inclined plane of known location and orientation for each well in the well field.  Instructions for loading the extension, organizing the input data, and executing the extension functions are detailed below along with sample output.

Loading the Extension

The 3DWellField.avx extension must be copied to the ArcView extension directory (for example c:\esri\av_gis30\arcview\ext32\) prior to its use.  After creating a new project or opening an existing project, activate the 3DWellField extension from the project window by checking and activating the "3D Well-Field Visualization" option.

Image showing active 3D Analyst and 3D Well-Field extensions

FTab and VTab Data Tables

Well Parts and Water Elevation Data *  Water-bearing Zones and Lithology Data * Packer-Test Data * Geophysical Logs Data

3DWellField.avx reads tabular data from the feature theme table (FTab) of  a 2D point coverage of well locations.  This coverage requires a Well-id field and geographical coordinates in a numeric field with decimal precision. The addxy.ave avenue script can be downloaded from http://gis.esri.com/arcscripts/scripts.cfm and added to the project in order to automatically add the X_coord and Y_coord fields.

There are many ways of adding data for the well-field components to a project.  Data for well-construction specifications,  lithology, and /or driller's records can be compiled on separate spreadsheets, or as comma-delimited ASCII text.  These data are added to the project as Virtual Tables (VTabs), then joined with the 2D well coverage using a common well-id field.  It is important to note that the map units for a project must be set within the View properties submenu before running the extension, and that all values in each table should reflect map-unit values unless otherwise indicated below.  For example, if  map units are set to feet, then the borehole diameter for a 6 in. well should be 0.5 ft in the VTab.. The only exception to this general requirement is for the geophysical log routine. This is discussed in more detail in the Geophysical Logs section below.

The following example database file, exported from a MS-Excel spreadsheet, illustrates the file format  for well parts and water levels.

WELL_ID,GRNDELEV,CSNGTOP,CSNGDIAM,OPENTOP,OPENBOT,OPENDIAM,H20ELEV1,H20ELEV2
MW-1S,263.20,263.75,0.50,263.20,248.20,0.50,259.33,256.47
MW-2S,263.70,263.34,0.50,263.70,248.70,0.50,259.83,256.92
MW-3S,261.80,261.42,0.50,261.80,251.80,0.50,255.69,254.52
MW-4S,262.20,261.61,0.50,262.20,247.20,0.50,255.17,251.97

*WELL_ID - Well Identification Number
GRNDELEV - Ground Elevation
CSNGTOP - Elevation of  Top of  Casing
CSNGDIAM - Diameter of Casing
OPENTOP - Elevation of Top of Screen or Open Hole
OPENBOT - Elevation of Bottom of Screen or Open Hole
OPENDIAM - Diameter of Screen or Open Hole
H20ELEV1 - Elevation of Water Table, Date No. 1
H20ELEV2 - Elevation of Water Table, Date No. 2


Another example database file below illustrates the database format for water-bearing zones (including depth and yield) and lithologic-contact information (lithology and elevation of bottom contact):

*WELL_ID,FLZNDPTH1,FLZNYLD1,FLZNDPTHn,FLZNYLDn,LITHTYPE1,LITHBOT1,LITHTYPEn,LITHBOTn
MW-1S,60.20,5,120.80,5.00,silt&clay,260.42,redshale,253.92,gryshale,249.42,redshale,204.92,gryshale,202.92,redshale
MW-2S,70.00,1.50,140.09,2.00,silt&clay,254.88,diabase,251.88,gryshale,234.88,redshale,,,,
MW-3S,101.89,3.00,131.06,5.00,silt&clay,255.60,redshale,222.60,gryshale,197.60,redshale,,,,
MW-4S,89.00,1.00,178.77,4.00,silt&clay,244.30,redshale,196.30,gryshale,194.30,redshale,188.30,gryshale,180.30,redshale

*WELL_ID - Well Identification Number
FLZNDPTH1- Elevation of Flow Zone No. 1
FLZNYLD1 - Yield of Flow Zone No. 1 (user-specified units, for example, gallons-per-minute)
FLZNDPTHn - Elevation of Flow Zone No. n
FLZNYLDn - Yield of Flow Zone No. n
LITHTYPE1 - Elevation of Top of Stratigraphic Interval No. 1
LITHBOT1 - Elevation of  Bottom of Stratigraphic Interval No. 1
LITHTYPEn - Elevation of Top of Stratigraphic Interval No. n
LITHBOTn - Elevation of  Bottom of Stratigraphic Interval No. n


Please note that any number of flow zones and lithology variables can be included. The field names above use the 'n' designation as the last in a series of sequential records.  Also please note that blank field entries require delimiters, and the value -9999.99 is used d for NULL values.

The data fields used for generating packer-test shapefiles are shown below.  Please note the use of the 'n' denotation for a series of fields as in the preceding example.

*WELL_ID,GRNDELEV,OPENDIAM,PACKTOP1,PACKBOT1,GPM1,SMPL1_1,SMPL1_n,PACKTOPn,PACKBOTn,GPMn,SMPLn_1,SMPLn_n
MW-2d,261.50,0.33,166.50,146.50,-9999.00,-9999.00,-9999.00,141.50,121.50,0.25,930.00,75.60
MW-3d,258.60,0.33,118.60,98.60,-9999.00,-9999.00,-9999.00,94.60,74.60,-9999.00,799.00,64.00,
MW-4d,261.00,0.33,124.00,104.00,0.25,1500.00,72.70,104.00,84.00,0.50,1090.00,92.60
MW-6dd,260.20,0.33,166.20,146.20,-9999.00,3500.00,46.80,146.20,126.20,0.50,1750.00,61.20

*WELL_ID - Well Identification Number
GRNDELEV - Ground Elevation
OPENDIAM - Diameter of Screen or Open Hole
PACKTOP1 - Elevation of Top of Packer-Zone No. 1
PACKBOT1 - Elevation of Bottom of Packer-Zone No. 1
GPM1 -  Yield of Packer-Zone No. 1
SMPL1_1 - Concentration of Analyte Sample No. 1 from Packer-Zone No. 1 (user-specified units, for example, parts-per-million)
SMPL1_n - Concentration of Analyte Sample No. n from Packer-Zone No. 1 (user-specified units, for example, parts-per-million)
PACKTOPn - Elevation of Top of Packer-Zone No. n
PACKBOTn - Elevation of Bottom of Packer-Zone No. n
GPMn -  Yield of Packer-Zone No. n
SMPLn_1 - Concentration of Analyte Sample No. 1 from Packer-Zone No. n (user-specified units, for example, parts-per-million)
SMPLn_n - Concentration of Analyte Sample No. n from Packer-Zone No. n (user-specified units, for example, parts-per-million)

Geophysical log shapefiles are generated using the following data format.  All fields except for DEPTH can be any string variable up to eight-characters length. This example includes caliper, self-potential (SP), gamma, and five different resistivity logs(R-R64).

DEPTH,CALIPER,SP,GAMMA,R,R8,R16,R32,R64
312.4,-9999.99,-9999.99,-9999.99,298.351,356.888,487.353,496.448,280.039
312.3,-9999.99,-9999.99,-9999.99,294.222,359.848,495.13,503.608,281.554
312.2,-9999.99,-9999.99,109.915,289.662,362.598,504.13,510.858,284.434
312.1,-9999.99,-9999.99,109.579,285.102,365.152,512.536,518.192,287.558
312,5.622,-9999.99,109.071,280.328,367.706,520.499,525.526,290.865
311.9,5.629,-9999.99,108.723,275.928,370.192,528.462,532.572,294.172

Joining well attributes VTab data to the well-field FTab

The well-field FTab (Feature-Theme-attribute table) must have X_coord and Y_coord field entries to ensure program success. These fields must be numeric and exist within the FTab prior to running the script. The primary FTab field used for joining well attributes is the Well Identification (Well_id).  Borehole records can be joined to the 2D well-field FTab in order to plot 3D records of planar and linear data. The Well_id should be a character (string) field.  The NJGS uses the following settings:

Name: Well_id, Alias: Well_id, Type: FIELD_CHAR, Width: 10, Precision: 0, Status: FIELD_STATUS_OLD, Pixel Width: 65, Editable: false.

Image showing wells preselected before starting extension

Captured-screen image showing selected wells in the View and well-field FTab (highlighted in yellow), and the number of selected records displayed in the header to the left. Note that he Tables document GUI is active in the Project window and the well-field  FTab is the active document. A set of well points are preselected using the select tool in the View or by using the query tool on the FTab before starting the 3DWellField Extension.

Most extension options require the well-field shapefile and source VTabs to be added to the project before starting the script. However, the geophysical log routine queries for the location of the data table during execution of the embedded script.

3DWellField.ave Script

Well Parts * Well-Field Grid * Flow Zones * Packer Tests * Stratigraphy * Borehole Intercepts of Inclined Planes * Borehole Fractures/Lineations *  Geophysical Logs

Selecting Program Options
The user starts the embedded script for making 3D Well-Field shapefiles by clicking on the Wellfield3D Start-up Icon icon located on the View Toolbar.  Remember that before running the script, both the FTab containing the well records and the Table document must be active (highlighted) in the project window as illustrated below. After clicking on the icon, the following Message Box introduces the extension and asks the user if he wishes to proceed:

Captured-screen image of the start prompt

Captured-screen image showing the project window (center left) with the active FTab set to Attributes of Shaffwells.shp.  

Once started, the user is presented with a Message Box showing a choice of eight program options. Each option is discussed below.

 Message Box Choice 1
3DWellField Extension Options

Well Parts

Once the Well Parts routine is started, the FTab is active and the user is prompted to enter a numeric value used for exaggerating the diameter of the well parts.  This factor is simply multiplied with the borehole diameter read from the FTab for visual representation. Both the cased and open/screened intervals are generated using Multipatch PolygonZ planes centered about the borehole in an octagonal arrangement (see below).

  Well Parts Prompt 1
Well Parts Prompt No. 1 Screen Capture Image of the Multipatch Polygon Z shapfile  

The user is then prompted for a shapefile name, for use in creating the 3D shapefile for the well parts.  A user-specified default directory path can be set with an active project window by accessing the File, Set Working Directory submenu. The script generates the 3D shapefile and adds it to the View document.  Each new 3D shapefile needs to be manually added to an existing or new 3D Scene using the Add theme command.

Well-Field Grid

Well-Field Grid computes a 3D PolylineZ grid surrounding the selected wells in the FTab.  The dimensions of the Grid are expanded to an extra cell value beyond the limits of the wells. Only the grid cell value is required.

 Well-Field Grid Prompt 1
Well-Field Grid Prompt No. 1

A drive path specification and filename prompt will then follow. Once entered, the script will compile the geometry and place a new shapefile into the View legend.  Each new 3D shapefile needs to be manually added to an existing or new 3D Scene using the Add theme command.

Flow Zones

Flow zones are generated using the dip-azimuth bearing and inclination of a polygonZ shape. Only those wells having flow-zone attributes can be selected prior to running this script option. The following two user-input prompts are required to specify the plane orientation:

  Flow Zones Prompt 1
Flow Zones Prompt 1
 Flow Zones Prompt 2
 Flow Zones Prompt 2

A drive path specification and filename prompt will then follow. Once entered, the script will compile the geometry and place a new shapefile into the View legend.  Each new 3D shapefile needs to be manually added to an existing or new 3D Scene using the Add theme command.

Packer Tests

Packer Tests information is constructed using PolygonZ multipatch shapes like the well parts routine.  Any data available for specified intervals can be used in this option.  For example interval data for the RQD (rock-quality designation) can be entered into a VTab and displayed using the packer-test input fields as surrogate fields.

Packer Tests Prompt 1
Packer Tests Prompt 1

A drive path specification and filename prompt will then follow. Once entered, the script will compile the geometry and place a new shapefile into the View legend.  Each new 3D shapefile needs to be manually added to an existing or new 3D Scene using the Add theme command.

Stratigraphy

Multiple parallel stratigraphic intervals are generated using using the dip-azimuth bearing and inclination of polygonZ shape(s). Only those wells having stratigraphic attributes can be selected prior to running this script option. The following set of 4 user prompts input the plane orientation and aspect:

User-input prompts (4) for the Stratigraphy routine

A drive path specification and filename prompt will then follow. Once entered, the script will compile the geometry and place a new shapefile into the View legend.  Each new 3D shapefile needs to be manually added to an existing or new 3D Scene using the Add theme command.

Borehole Intercepts of Inclined Plane

This option will allow the user to input the geographic coordinates of a 3D point , then project a plane from the point after specifying the plane orientation.  I will then and calculate the intercept points for that plane with all selected boreholes in the well field and save the intercept elevations in the new shapefile FTab. Please note that calculations for borehole intercept values will work only when the selected records have fields that are filled with real values; that is, records having NULL or NILL field values will cause abnormal program termination. If there are records with empty fields, simply remove them from the active set of records and try running the routine again. 

The following six user prompts shows examples of the required input data:

User-input prompts (6) for the borehole-intercept routine

A drive path specification and filename prompt will then follow. Once entered, the script will compile the geometry and place a new shapefile into the View legend.  Each new 3D shapefile needs to be manually added to an existing or new 3D Scene using the Add theme command.

Borehole Fractures/Lineations

The Borehole Fractures/Lineations option generates PolygonZ or PolylineZ shapes for structural planes or lineations logged from boreholes or cores.  Data records are added to the project as a VTab prior to running the 3DWellField extension.  The VTab can use either a dBase or delimited-text format but must include fields and records for the well identification (Well_id), geographic coordinates (X_coord, Y_coord, Elevation (Elev)), and the structural bearing (Brg) and inclination (Inc). The fields and records can be assembled in any order and for multiple wells/boreholes/cores at once, provided that the six required fields are included.  Following is an example data record from a space-delimited ASCII-text file using the right-hand rule for specifying structural bearing (planar strike).

Well_id Elev Brg Inc X_coord Y_coord
SB1 146.29 340.80 31.70 417634.03125 555770.25000
SB1 140.79 270.70 18.00 417634.03125 555770.25000
SB1 139.29 271.10 36.60 417634.03125 555770.25000
SB1 137.79 91.10 64.50 417634.03125 555770.25000
SB1 124.79 85.30 65.80 417634.03125 555770.25000
SB1 109.29 271.10 20.30 417634.03125 555770.25000
SB1 105.79 85.30 80.20 417634.03125 555770.25000
SB1 101.79 85.30 68.90 417634.03125 555770.25000
SB1 101.29 282.70 23.40 417634.03125 555770.25000

After specifying the Borehole Fracture/Lineations Program Options (see Message Box Choice 1 above), the user is presented with up to four program prompts that set the type, size, and aspect of the structure(s) to be generated:

User-input prompts (4) for the Borehole Fractures/Lineations Prompts

A drive path specification and filename prompt will then follow. Once entered, the script will compile the geometry and place a new shapefile into the View legend.  Each new 3D shapefile needs to be manually added to an existing or new 3D Scene using the Add theme command.

Geophysical Logs

The Geophysical Logs option generates PolylineZ shapes for a geophysical trace selected from a tabular database file added to the project as a VTab. The following three project conditions must be met before running the script in order to ensure successful execution:

1) the well-field shapefile must be the active theme,
2) the well for which the trace is to be generated must be selected as the active record in the well-field theme, and
3) the well-field FTab must be the active table document in the project window before running the script.

The DEPTH field for the geophysical record(s) must reference the depth below ground elevation, as the script recursively subtracts the depth values from the GRNDELEV field value for the selected record.  The units for the geophysical traces are excluded from the VTab, and should be noted separately  for bookkeeping.  The script is designed to read VTab data ordered in descending depth.  The program will work when the VTab records are arranged in ascending order, but the first record in the shapefile will be a PolylineZ connecting the top and bottom field values.  This shapefile artifact can be manually selected and deleted when editing the resulting shapefile FTab.

The  first script prompts asks for a drive path specification and filename for the new geophysical-log shapefile. Once entered, a second prompt asks for the name of the data table to be added to the project as a new VTab:

Geophysical Logs Prompt 2
Prompt 2, Add geophysical log data records

A third prompt then asks for a depth value used for selecting records from the Log VTab:  

Geophysical Logs Prompt 3
Prompt 3, Select a table field for generating a shapefile trace of a geophysical log

Entering the default value of  '0' results in selecting all VTab records when generating a shapefile. If a non-zero value is entered, for example '50',  the script selects only those records equal to and below the entered depth value (in map units).  This option provides a means to generate log traces for the borehole below a specific depth, for example below the cased parts of a well.

Geophysical Logs Prompt 4
Prompt 4, Choose a starting depth for shapefile generation

A statistical summary of the chosen field is next displayed for viewing:

Message Box Displays Field Statistics for the Selected Records
Prompt 2, Statistical summary for the selected VTab records

Prompt 5 provides a means to orient the geophysical trace along a specified map trend. Entering a trend of '0' degrees  produces a log trace having positive values projected along a North trend. Similarly, entering a trend of '90' degrees results in having the positive values of the log projected to the East, etc..

Geophysical Logs Prompt 5
Prompt 5, Specify the azimuthal bearing of the log trace

Prompt 6 provides an input value used for spatially registering the log trace on the center of the borehole.  The statistical mean is provided as the default value and can be used  first when plotting the record.  However, depending upon the range of the input data, different values can be input in order to achieve variable results. For example, entering a value less than the statistical mean will result in shifting the trace in the positive azmuthal direction relative to the center of the borehole.

Geophysical Logs Prompt 6
Prompt 6, The log trace centerline value.

Prompt No. 7 queries the user to enter a factor that is used for multiplying the record values. This option provides a means to vary the width of the log trace for all selected records of real value (records not having the NULL value of -9999.99).

Geophysical Logs Prompt 7
Prompt 7,

Once entered, the script will compile the geometry and generate a new shapefile into the active View. Please note that the program may require a few minutes to process the information before committing the shapes to a shapefile. The resulting shapefile FTab contains depth, elevation, and record values.  Each new 3D shapefile needs to be manually added to an existing or new 3D Scene using the Add theme command. Please note that the Log VTab remains as a project table document after processing the data and needs to be manually selected and deleted following each session.

Disclaimer

The 3DWellField extension was developed at the New Jersey Geological Survey; Division of Science, Research, & Technology; N.J. Department of Environmental Protection. It is distributed free of charge.  The user must assume all responsibilities for interpretations stemming from the use of this software. The extension was tested successfully on desktop PCs running Microsoft Windows 95 and 98 operating systems with ArcView v.3.0a or v.3.2 and ArcView 3D Analyst v.1.0.  The minimum hardware configuration included a 166MHz Pentium processor, 40 MB RAM,  and 1MB SVGA Video Memory.

Example Images of Output Shapefiles

Example 1
Example Graphic No. 1
Example 1 shows a well field at a pollution site with 28 monitoring wells.  The 3D grid was generated using 100 ft. cells. Note the North arrow located at the left corner of the upper grid.

Example 2
Example Graphic No. 2
Example 2 shows an oblique perspective looking North through the well field. Displayed components of the well field include:  a set of control lines (purple) at the surface corresponding to property boundaries and infrastructure, generalized topographic contours (blue lines), well parts (green open intervals and pink cased intervals), bed-parallel water-bearing zones (lt. blue, red, and orange planes oriented at dip azimuth 133 degrees, inclination 17 degrees, strike length 200 ft., and a strike-to-dip aspect of 2:1), three bed-parallel planes (gray) generated using the borehole-intercept script option, multicolored packer-test shapes covering parts of many wells (20-ft. sampled intervals), and finally, a set of geophysical log traces (lt. blue and yellow) plotted along the well in the center of the field of view.


Example 3
Example 3
Example 3 shows cased (pink) and open-hole (green) parts of three wells, together with electromagnetic conductance (red) and gamma (gray) geophysical logs, flow-zones reported by the well drillers (yellow planes), and stratigraphic contacts (red and gray planes)


Example 4
Example Graphic No. 4
Example 4 shows cased (pink) and open-hole (green) parts of four wells, together with fluid-temperature-differential logs (bluish-gray), and borehole fractures (orange) logged using an acoustic televiewer (data provided courtesy of Roger Morin, U.S. Geological Survey). A well-field grid (gray) is also shown.