POSC Specifications
Version 2.2
Getting Started
Awk main loop

Main loop of the awk file for Well Information

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.