![]() |
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.
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.
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.
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
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 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
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
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 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
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 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 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 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
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.
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:
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:
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.
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:
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.
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
A third prompt then asks for a depth value used for selecting records from the Log VTab:
Geophysical Logs Prompt 3
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
A statistical summary of the chosen field is next displayed for viewing:
Message Box Displays Field Statistics for the Selected
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 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 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
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.
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 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 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 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 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.