Well Completion Diagram Conundrum

gINT gurus,

I'm looking for advice to decide how to most efficiently store well completion data in a database, with the option of creating a smart stand-alone well completion diagram in addition to the well completion typical in a lithology Log Report Design.  I've done this with a Graphic Text Doc in addition to my Log Report with well completion graphic column entity, but I feel like I'm running into extra work in implementing the Graphic Text Doc with different well designs because of the use or absence of certain annular materials such as transition sand, transition seal, etc.

The simple solution to creating well completions is with graphic column entities in Log Reports because the entity only displays data present in the database (well table with typical depth key field); however, I found that I didn't like drawing well completions to scale in log reports because annular seals are typically so much broader than the filter pack sand that a to-scale drawing was not easily viewable.

PROBLEM 1: I was hoping to have a method for the stand-alone diagram similar to the graphic column entity in my Graphic Text Doc, in the sense that data could easily display only based on data that are in the database; however, what I've found is that I have to use Graphic and Text entities with multiple blocks and use expression functions to turn on/off and offset X and Y graphic and text entities such as transition sand, transition seal, annular seal.

My dilemma is, with each new project there are new combinations of well annulus designs so I'm having to go back to my Graphic Text Doc and revise my expression functions to take the changes into consideration.

In addition, I've stored all my data in a depth-keyed Well table that are typical for Log Graphic Column entities, so I had to create a required "Record Type" field in this table to tell gINT how to find the filter pack record, transition sand record, etc. that are all in the same table field of the Well table.  In general this method doesn't seem ideal for data management or for data viewing in the database table. PROBLEM 2: I would prefer having a well completion table with separate fields for each annular material, but I'm worried that I can't do that and have a depth key field to link the data to a Graphic Column entity of a Log Report.

Thanks for any insight.
Matt

Parents
  • Not saying this is the "best" way but consider the following approach.

    The way I understand your Problem 1 is that you like the graphic output of a typical well installation set up in a log report.  However, if you have a very long riser and want the entire graphic to print on one page, the vertical scaling makes some of the thinner details scrunch together as in the following example.

    You want a similar graphic that shrinks the long riser section to better show thin details in the screened portion.  Essentially the vertical scale varies as a function of the layer thickness to better show the details.  If this is not what you are looking for, then ignore the rest of this post.

    This can be accomplished easily be accomplished by adding two fields to a simple well table that represent fictitious top and bottom depths for each layer. An example of such a table is provided below.  Note that in addition to the normal top and bottom depths that are used to drive a typical well installation log I have added two fields called COMP_TOP and COMP_BOTTOM for the well completion log.

    Depth Well_Bottom WELL_ID WELL_NOTES COMP_TOP COMP_BOTTOM
    -1 -0.9 NOHOLE CCAP Screw on lid 6 inch diameter 0 0.1
    -0.9 0 NOHOLE CASE 0.1 1
    0 0.3 CONC CASE 6 inch steel casing 1 1.3
    0.3 0.4 CONC RCAPC 2 inch PVC vented cap 1.3 1.4
    0.4 3.2 CONC RCAS 1.4 4.2
    3.2 5 CONC RISER 2 inch schedule 40 PVC riser 4.2 6
    5 57 CUTBEN RISER 6 11
    57 59 BENT RISER Peletized bentonite 11 13
    59 60 SAND RISER #1 well sand 13 14
    60 65 SAND SCREEN Machine sloted PVC screen 14 19
    65 65.1 SAND END Threaded PVC endcap 19 19.1
    65.1 67.8 SAND NOPIPE 19.1 21.8
    67.8 68.5 CUT NOPIPE Boring caved to 67.9 21.8 22.5

    Use a log report instead of a graphic text document for the well completion report, instead of using the depth and well_bottom fields for the well graphic entity and any other depth related entities such as depth/elevation labels or descriptive notes, use the COMP_TOP and COMP_BOTTOM fields.  (The regular depth field would still be used to generate the actual text of the label such as depth/elevation in the example).

    The trick is to populate the new added fields.  You can certainly do this manually to produce a well completion schematic that adequately displays all important layers at whatever scale you think is best but this would require you to think about how you want the schematic to print.  One way to semi-automate this process is as follows:

    Sort your well table by depth and select all the columns and rows except the two new fields.  Hit [Ctrl] C to copy the data and then paste it into cell A2 of an excel worksheet..  In the case above where 4 columns would be copied filling excel columns A-D, write a formula in empty cell E2 that is =F1. (copies the previous bottom depth to the top depth of this layer)  In cell F2 write the following formula =E2+MIN(5,B2-A2). and copy the formulas in column E and F down for all records.  This is a very simplistic scaling formula that essentially leaves the thickness of all layers less than 5 feet alone but reduces all layers greater than 5 feet thick to 5 feet.  The formula in Column F could be as complex as you wanted it to be incorporating criteria based on the the well_Id (ie exaggerating the thickness of the screened section) or other criteria.  Now selet the new computed values in the excel sheet (columns E and F) and hit [[Ctrl]C to copy them to the clipboard.  return to gINT and move to the first record in the COMP_TOP field and paste.  This places the new fictitious depths into the new fields.  Now if you plot the same well schematic using the fictitious top and bottom depths in the entities the result is as displayed below :

    Note the true depths are still reported in the text but they are plotted at  the fictitious depth.  since all layers greater than 5' thick have been arbitrarily reduced to 5', you can select a larger scale (less feet per page) to fit the entire graphic on one page so that the small details are better represented.

    I am sure that the same effect of using excel to populate the new fictitious depth fields can also be achieved by some simple programing using gINT rules but I am not familiar enough with gINT rules to describe how to do that.

    Note that the example above does not use a horizontal scale and does not show differing hole diameters graphically.  You could easily add graphic display of differing hole diameters by adding a diameter field to the above example table and then adding a solid white entity the masks the right and left side of the graphic based on the diameter as a percentage of the maximum and minimum hole diameter.

    I am not really sure what you are after for Problem 2 but the the information you want could be readily standardized in the well_notes field of the example table above (or a separate field in the same table) so that it can be extracted into a separate well completion table.

Reply
  • Not saying this is the "best" way but consider the following approach.

    The way I understand your Problem 1 is that you like the graphic output of a typical well installation set up in a log report.  However, if you have a very long riser and want the entire graphic to print on one page, the vertical scaling makes some of the thinner details scrunch together as in the following example.

    You want a similar graphic that shrinks the long riser section to better show thin details in the screened portion.  Essentially the vertical scale varies as a function of the layer thickness to better show the details.  If this is not what you are looking for, then ignore the rest of this post.

    This can be accomplished easily be accomplished by adding two fields to a simple well table that represent fictitious top and bottom depths for each layer. An example of such a table is provided below.  Note that in addition to the normal top and bottom depths that are used to drive a typical well installation log I have added two fields called COMP_TOP and COMP_BOTTOM for the well completion log.

    Depth Well_Bottom WELL_ID WELL_NOTES COMP_TOP COMP_BOTTOM
    -1 -0.9 NOHOLE CCAP Screw on lid 6 inch diameter 0 0.1
    -0.9 0 NOHOLE CASE 0.1 1
    0 0.3 CONC CASE 6 inch steel casing 1 1.3
    0.3 0.4 CONC RCAPC 2 inch PVC vented cap 1.3 1.4
    0.4 3.2 CONC RCAS 1.4 4.2
    3.2 5 CONC RISER 2 inch schedule 40 PVC riser 4.2 6
    5 57 CUTBEN RISER 6 11
    57 59 BENT RISER Peletized bentonite 11 13
    59 60 SAND RISER #1 well sand 13 14
    60 65 SAND SCREEN Machine sloted PVC screen 14 19
    65 65.1 SAND END Threaded PVC endcap 19 19.1
    65.1 67.8 SAND NOPIPE 19.1 21.8
    67.8 68.5 CUT NOPIPE Boring caved to 67.9 21.8 22.5

    Use a log report instead of a graphic text document for the well completion report, instead of using the depth and well_bottom fields for the well graphic entity and any other depth related entities such as depth/elevation labels or descriptive notes, use the COMP_TOP and COMP_BOTTOM fields.  (The regular depth field would still be used to generate the actual text of the label such as depth/elevation in the example).

    The trick is to populate the new added fields.  You can certainly do this manually to produce a well completion schematic that adequately displays all important layers at whatever scale you think is best but this would require you to think about how you want the schematic to print.  One way to semi-automate this process is as follows:

    Sort your well table by depth and select all the columns and rows except the two new fields.  Hit [Ctrl] C to copy the data and then paste it into cell A2 of an excel worksheet..  In the case above where 4 columns would be copied filling excel columns A-D, write a formula in empty cell E2 that is =F1. (copies the previous bottom depth to the top depth of this layer)  In cell F2 write the following formula =E2+MIN(5,B2-A2). and copy the formulas in column E and F down for all records.  This is a very simplistic scaling formula that essentially leaves the thickness of all layers less than 5 feet alone but reduces all layers greater than 5 feet thick to 5 feet.  The formula in Column F could be as complex as you wanted it to be incorporating criteria based on the the well_Id (ie exaggerating the thickness of the screened section) or other criteria.  Now selet the new computed values in the excel sheet (columns E and F) and hit [[Ctrl]C to copy them to the clipboard.  return to gINT and move to the first record in the COMP_TOP field and paste.  This places the new fictitious depths into the new fields.  Now if you plot the same well schematic using the fictitious top and bottom depths in the entities the result is as displayed below :

    Note the true depths are still reported in the text but they are plotted at  the fictitious depth.  since all layers greater than 5' thick have been arbitrarily reduced to 5', you can select a larger scale (less feet per page) to fit the entire graphic on one page so that the small details are better represented.

    I am sure that the same effect of using excel to populate the new fictitious depth fields can also be achieved by some simple programing using gINT rules but I am not familiar enough with gINT rules to describe how to do that.

    Note that the example above does not use a horizontal scale and does not show differing hole diameters graphically.  You could easily add graphic display of differing hole diameters by adding a diameter field to the above example table and then adding a solid white entity the masks the right and left side of the graphic based on the diameter as a percentage of the maximum and minimum hole diameter.

    I am not really sure what you are after for Problem 2 but the the information you want could be readily standardized in the well_notes field of the example table above (or a separate field in the same table) so that it can be extracted into a separate well completion table.

Children