Downhole String Set

Topic Version1Published11/11/2016
For StandardWITSML v2.0

This section of the schema is used to describe all strings in the completion, including casing, tubing, and rod strings.

A completion may have multiple sets of strings which may be nested each inside another, or run in parallel as in dual string completions; all strings are contained in a parent wellbore. Each string is composed of equipment, and may also contain accessories and/or assemblies.



Downhole String

A collection of strings is allowed. Strings:

  • Are considered to be contained in parent wellbores.
  • Each has a type (casing, tubing, or rod).
  • Contain a set of string equipment and can contain string accessories and assemblies (described below in this table).
  • Have install and removal dates.

String Equipment

Each string is created by mechanically coupling individual pieces of equipment, for example, tubing, gravel pack screens, etc. The string equipment element is used to define the set of equipment that makes up a particular string.

Each item of equipment in the string equipment set includes this information:

  • Type defines the type of equipment from an enumerated list.
  • Depth defines the MD where the item of equipment is located in the string.
  • Connection next refers to the piece of equipment in the string to which the current equipment is connected.
  • Run history identifies if the equipment has been previously used.

To avoid duplication of data, common equipment properties (such as diameter, model, materials, and drift) are stored in the equipment set. Each item of string equipment contains a reference (equipment ref UID) to the corresponding kind of component in the equipment set. Hence, string equipment covers “usage properties” and equipment set covers “common properties”. For more information, see Equipment Set , Equipment Set .


A string can contain one or more accessories, which refers to equipment or objects that are related to or part of the string but do NOT mechanically couple the string together, for example, a gas lift mandrel.

“Fills” in the spaces between the strings are also accessories. For example: cement, or gravel or “accidental” objects, such as sand fill or dropped fish.

Accessory components use the same data object as string equipment. They use data elements in the data object to define where the accessory is relative to the string and string equipment with which they are associated:

  • A Boolean “outside string” flag to indicate if the accessory is outside its parent string.
  • Two reference elements, “inside component” and “outside component”, point to the component either inside the accessory or outside it, to which it is attached.

To describe a cemented casing string:

  • String type = casing

    • String equipment = casing pipe, casing shoe, etc.
    • ID = 1


  • Accessory = cement
  • Outside string = true
  • Outside component = [using refContainer, ID = 1]


The concept of an assembly is used to refer to a collection of equipment as one "thing".

It is expected that an assembly will be used where the level of detail required varies depending on users’ needs and/or the software applications’ capability to process and store those details. Its use is implementation-specific.

For example, one piece of software (or user) may only care that there is an assembly representing “an ESP”. In contrast, another piece of software or user may want to know about the detailed components of the ESP. In this case, the data that could be passed so the ESP components are all contained in the assembly called “ESP” and the first user would not need further information, while the second can look at the assembly element and get a list and structure of the components inside.

Within an assembly element, the sub-components available (in string equipment) are the same as available in the string equipment element itself. Assembly can be used recursively.