|
POSC Specifications Version 2.2 |
Getting Started Awk main loop |
Below is the entire portion of the main loop. Note that pinstanceh is used often, since the BEGIN portion used LOOKUP to get tokens for most instances. This speeds up the loading, since EntityLoader has to do a "select" once on the instance, and can then use the handle over and over.
{
if (substr($1,1,4)=="Well") next #skip the header line of the table
wellnm = "Stratton #" $1
elev = $4
xcoord = $5
ycoord = $6
# Create the well
pentity("well","well")
pstring("identifier",wellnm)
pinstanceh("ref_existence_kind","actual")
pinstanceh("ref_naming_system","loc_field")
printf("\n")
# Locate it within the Stratton field (first method)
pentity("well_surface_feature_role","")
pinstanceh("well","well")
pinstanceh("earth_surface_feature","stratton_field")
pinstanceh("ref_well_surface_feature_role","is_within")
printf("\n")
# Create the wellbore
pentity("wellbore","wbore")
pstring("identifier",wellnm)
pinstanceh("ref_existence_kind","actual")
pinstanceh("ref_naming_system","loc_field")
pinstanceh("well","well")
printf("\n")
# Create the well surface point
pentity("well_surface_point","wsp")
pstring("identifier",wellnm)
pinstanceh("well","well")
printf("\n")
# give its local coord sys location
pentity("pty_location_2d","")
pinstanceh("well_surface_point","wsp")
plocation2("data_value","xysystem","",xcoord,"ft",ycoord,"ft")
printf("\n")
# Form the kelly bushing information (wellbore point)
id = "kelly bushing for " wellnm
kb = pwellbore_ref_pt("wbore",id,"kelly bushing","kb")
# Give kb elevation
pentity("pty_location_1d","")
pinstanceh("wellbore_point",kb)
plocation1("data_value","sealevel","",elev,"ft")
printf("\n")
# Form the measured depth coordinate system
id = wellnm " MD system"
cstoken = pmd_coord_sys("kb",id,"","ilab","mdsys","mdepth","")
# For each of the horizons, store the pick and its depth.
for (i=1; i<=10; i++) {
# If a point is valid,
if ($(4+i*3)!="99999") {
# Form the general wellbore point
ident = topof[i] " in " wellnm
pentity("general_wellbore_point","marker")
pstring("identifier",ident)
pinstanceh("wellbore","wbore")
pinstanceh("ref_wellbore_point","pick")
pinstancev("geologic_feature","lithostratigraphic_marker","identifier",topof[i])
printf("\n")
# Give its measured depth
pentity("pty_location_1d","")
pinstanceh("wellbore_point","marker")
plocation1("data_value",cstoken,"",$(4+3*i),"ft")
printf("\n")
# Give its sea level elevation
pentity("pty_location_1d","")
pinstanceh("wellbore_point","marker")
plocation1("data_value","sealevel","",$(5+3*i),"ft")
printf("\n")
# Give its two way travel time
pentity("pty_location_1d","")
pinstanceh("wellbore_point","marker")
plocation1("data_value","timesystem","",$(6+3*i),"ms")
printf("\n")
}
}
}
Below is the EntityLoader command file that was created from this awk file. The
data is given for well #1 only (which only had data for six of the horizons). The
advantage of this approach is that the same awk file works for all 21 wells. If there
were 7000 wells, it would work for all of them also.
ENTITY well well
ATTRIBUTE identifier DAE_C_STRING
VALUE Stratton #1
ATTRIBUTE ref_existence_kind DAE_C_INSTANCE
VALUE HANDLE actual
ATTRIBUTE ref_naming_system DAE_C_INSTANCE
VALUE HANDLE loc_field
ENTITY well_surface_feature_role
ATTRIBUTE well DAE_C_INSTANCE
VALUE HANDLE well
ATTRIBUTE earth_surface_feature DAE_C_INSTANCE
VALUE HANDLE stratton_field
ATTRIBUTE ref_well_surface_feature_role DAE_C_INSTANCE
VALUE HANDLE is_within
ENTITY wellbore wbore
ATTRIBUTE identifier DAE_C_STRING
VALUE Stratton #1
ATTRIBUTE ref_existence_kind DAE_C_INSTANCE
VALUE HANDLE actual
ATTRIBUTE ref_naming_system DAE_C_INSTANCE
VALUE HANDLE loc_field
ATTRIBUTE well DAE_C_INSTANCE
VALUE HANDLE well
ENTITY well_surface_point wsp
ATTRIBUTE identifier DAE_C_STRING
VALUE Stratton #1
ATTRIBUTE well DAE_C_INSTANCE
VALUE HANDLE well
ENTITY pty_location_2d
ATTRIBUTE well_surface_point DAE_C_INSTANCE
VALUE HANDLE wsp
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE xysystem
NULL
2 3245 ft 5115 ft
ENTITY kelly_bushing_reference refsub
ATTRIBUTE identifier DAE_C_STRING
VALUE kelly bushing for Stratton #1
ATTRIBUTE ref_existence_kind DAE_C_INSTANCE
VALUE ref_existence_kind name actual
ATTRIBUTE wellbore DAE_C_INSTANCE
VALUE HANDLE wbore
ENTITY general_wellbore_point kb
ATTRIBUTE identifier DAE_C_STRING
VALUE kelly bushing for Stratton #1
ATTRIBUTE wellbore DAE_C_INSTANCE
VALUE HANDLE wbore
ATTRIBUTE ref_wellbore_point DAE_C_INSTANCE
VALUE ref_wellbore_point name kelly bushing
ATTRIBUTE wellbore_component_facility DAE_C_INSTANCE
VALUE HANDLE refsub
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE kb
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE sealevel
NULL
1 111 ft
ENTITY measured_depth_system_axis mdaxis
ATTRIBUTE source DAE_C_INSTANCE
VALUE HANDLE ilab
ATTRIBUTE vertical_datum DAE_C_INSTANCE
VALUE HANDLE kb
ATTRIBUTE ref_quantity_property DAE_C_INSTANCE
VALUE HANDLE mdepth
ENTITY local_spatial_coordinate_system mdStra
ATTRIBUTE identifier DAE_C_STRING
VALUE Stratton #1 MD system
ATTRIBUTE ref_coordinate_system_constraint DAE_C_INSTANCE
VALUE HANDLE mdsys
ATTRIBUTE source DAE_C_INSTANCE
VALUE HANDLE ilab
ATTRIBUTE coordinate_system_axis DAE_AGG_LIST DAE_C_INSTANCE
VALUE HANDLE mdaxis
ENTITY general_wellbore_point marker
ATTRIBUTE identifier DAE_C_STRING
VALUE B46 in Stratton #1
ATTRIBUTE wellbore DAE_C_INSTANCE
VALUE HANDLE wbore
ATTRIBUTE ref_wellbore_point DAE_C_INSTANCE
VALUE HANDLE pick
ATTRIBUTE geologic_feature DAE_C_INSTANCE
VALUE lithostratigraphic_marker identifier B46
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE mdStra
NULL
1 4790 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE sealevel
NULL
1 4679 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE timesystem
NULL
1 1262 ms
ENTITY general_wellbore_point marker
ATTRIBUTE identifier DAE_C_STRING
VALUE C38 in Stratton #1
ATTRIBUTE wellbore DAE_C_INSTANCE
VALUE HANDLE wbore
ATTRIBUTE ref_wellbore_point DAE_C_INSTANCE
VALUE HANDLE pick
ATTRIBUTE geologic_feature DAE_C_INSTANCE
VALUE lithostratigraphic_marker identifier C38
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE mdStra
NULL
1 5150 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE sealevel
NULL
1 5039 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE timesystem
NULL
1 1333 ms
ENTITY general_wellbore_point marker
ATTRIBUTE identifier DAE_C_STRING
VALUE D11 in Stratton #1
ATTRIBUTE wellbore DAE_C_INSTANCE
VALUE HANDLE wbore
ATTRIBUTE ref_wellbore_point DAE_C_INSTANCE
VALUE HANDLE pick
ATTRIBUTE geologic_feature DAE_C_INSTANCE
VALUE lithostratigraphic_marker identifier D11
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE mdStra
NULL
1 5445 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE sealevel
NULL
1 5334 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE timesystem
NULL
1 1391 ms
ENTITY general_wellbore_point marker
ATTRIBUTE identifier DAE_C_STRING
VALUE D18 in Stratton #1
ATTRIBUTE wellbore DAE_C_INSTANCE
VALUE HANDLE wbore
ATTRIBUTE ref_wellbore_point DAE_C_INSTANCE
VALUE HANDLE pick
ATTRIBUTE geologic_feature DAE_C_INSTANCE
VALUE lithostratigraphic_marker identifier D18
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE mdStra
NULL
1 5570 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE sealevel
NULL
1 5459 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE timesystem
NULL
1 1416 ms
ENTITY general_wellbore_point marker
ATTRIBUTE identifier DAE_C_STRING
VALUE E41 in Stratton #1
ATTRIBUTE wellbore DAE_C_INSTANCE
VALUE HANDLE wbore
ATTRIBUTE ref_wellbore_point DAE_C_INSTANCE
VALUE HANDLE pick
ATTRIBUTE geologic_feature DAE_C_INSTANCE
VALUE lithostratigraphic_marker identifier E41
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE mdStra
NULL
1 6260 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE sealevel
NULL
1 6149 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE timesystem
NULL
1 1553 ms
ENTITY general_wellbore_point marker
ATTRIBUTE identifier DAE_C_STRING
VALUE E49 in Stratton #1
ATTRIBUTE wellbore DAE_C_INSTANCE
VALUE HANDLE wbore
ATTRIBUTE ref_wellbore_point DAE_C_INSTANCE
VALUE HANDLE pick
ATTRIBUTE geologic_feature DAE_C_INSTANCE
VALUE lithostratigraphic_marker identifier E49
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE mdStra
NULL
1 6322 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE sealevel
NULL
1 6211 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE timesystem
NULL
1 1565 ms
ENTITY general_wellbore_point marker
ATTRIBUTE identifier DAE_C_STRING
VALUE F11 in Stratton #1
ATTRIBUTE wellbore DAE_C_INSTANCE
VALUE HANDLE wbore
ATTRIBUTE ref_wellbore_point DAE_C_INSTANCE
VALUE HANDLE pick
ATTRIBUTE geologic_feature DAE_C_INSTANCE
VALUE lithostratigraphic_marker identifier F11
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE mdStra
NULL
1 6420 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE sealevel
NULL
1 6309 ft
ENTITY pty_location_1d
ATTRIBUTE wellbore_point DAE_C_INSTANCE
VALUE HANDLE marker
ATTRIBUTE data_value DAE_C_LOC_QTY_REAL
VALUE HANDLE timesystem
NULL
1 1585 ms
[Return to Printing the EntityLoader Files]
[Return to the Getting Started Introduction]
Last Modified 3 Nov 1997
©
Copyright 1997 POSC. All rights reserved.