3.3 Mapping WITSML LogCurveInfo to the ETP Channel Metadata Record

Topic Version1Published10/16/2017
For StandardETPW14 v1

For the structure of ChannelMetadataRecord, see the ETP Specification.

The table below maps the WITSML elements to the ETP attributes and calls out element examples from this example XML:


<?xml version="1.0" encoding="UTF-8"?>
<logs xmlns="http://www.witsml.org/schemas/1series" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.4.1.1">
<log uidWell="101e8e3a-5811-4b2e-b404-0367b360e4b6" uidWellbore="dd3406d4-0d8d-4530-9b3a-337a03515a2c" uid="832TE2C54">
<objectGrowing>true</objectGrowing>
<serviceCompany>Baker Hughes</serviceCompany>
<indexType>measured depth</indexType>
<direction>increasing</direction>
<indexCurve>Depth</indexCurve>
<logCurveInfo uid="4389">
<mnemonic>Depth</mnemonic>
<unit>m</unit>
<mnemAlias>Depth</mnemAlias>
<minIndex uom="m">10</minIndex>
<maxIndex uom="m">110</maxIndex>
<curveDescription>The mnemonic of the index curve</curveDescription>
<typeLogData>double</typeLogData>
</logCurveInfo>
<logCurveInfo uid="78964">
<mnemonic>WOB</mnemonic>
<classWitsml>wobAv</classWitsml>
<unit>N</unit>
<minIndex uom="m">10</minIndex>
<maxIndex uom="m">110</maxIndex>
<curveDescription>Weight On Bit</curveDescription>
<typeLogData>double</typeLogData>
</logCurveInfo>
</log>
</logs>

ETP Attribute ChannelMetadataRecord Property

Mapping to WITSML Elements

Example (from above XML)

channelUri

Construct a URI using the Energistics Identifier Specification.

For WITSML v1.4.1.1, provide a fully qualified path to the logCurveInfo.

eml://witsml14/well(101e8e3a-5811-4b2e-b404-0367b360e4b6)wellbore(dd3406d4-0d8d-4530-9b3a-337a03515a2c)/log(832TE2C54)/logCurveInfo(WOB)

channelId

Provided by the channel data producer.

22

Indexes

For WITSML v1.4.1.1, only a single index is used.

See Section 3.4 Mapping WITSML LogCurveInfo to the ETP Index Metadata Record

channelName

The mnemonic tag in a logCurveInfo node.

WOB

dataType

The typeLogData tag in a logCurveInfo node.

double

uom

The unit tag in logCurveInfo.

N

startIndex

Depth Log:

  • For increasing logs, use the minIndex tag in logCurveInfo.
  • For decreasing logs, use maxIndex.

Time Log:

  • For increasing logs, use the minDateTimeIndex tag in logCurveInfo.
  • For decreasing logs, use maxDateTimeIndex.

NOTE: A simple streamer might return Null for startIndex because a sensor does not hold a history.

Depth 10000

With a scale of 3, this value is 10.0 (see the definition of scale in IndexMetadataRecord in the ETP Specification).

Time: 1448810886000000would be 2015-11-29T15:28:06Z

endIndex

Depth Log:

  • For increasing logs, use the maxIndex tag in logCurveInfo.
  • For decreasing logs, use minIndex.

Time Log:

  • For increasing logs, use the maxDateTimeIndex tag in logCurveInfo.
  • For decreasing logs, use minDateTimeIndex.

NOTE: A simple streamer might return Null for endIndex because sensor does not hold a history

Depth 110000

With a scale of 3 (as in this example) the value is 110.0 (see the definition of scale in IndexMetadataRecord in the ETP Specification).

Time: 1448810886000000would be 2015-11-29T15:28:06Z

description

The curveDescription in the logCurveInfo.

Weight On Bit

status

Mapped from objectGrowing (= true) in the log object.

Active

contentType

The string is:

application/x-witsml+xml;version=1.4.1.1;type=logCurveInfo

application/x-witsml+xml;version=1.4.1.1;type=logCurveInfo

source

The tag serviceCompany from the log object.

Baker Hughes

measureClass

Not possible to map from a standard WITSML v1.4.1.1 log object.

Empty string, i.e., “”

uuid

Server implementation specific. This field is not possible to map from a standard WITSML v1.4.1.1 log object.

null

NOTE: If your v1.4.1.1 store is producing a proper UUID, then you would populate this field.

customData

If the typeLogData is datetime, then this field must be used. Then the datatype in the ChannelMetadataRecord must be long, and this field has a name-value pair, which is logicalType accompanied by timestamp-micros. For more information see the ETP Specification (ChannelMetadataRecord). Time must be normalized to UTC per the ETP Specification (IndexMetadataRecord) and the Avro Specification.

null

domainObject

If the logCurveInfo has an axisDefinition node, then the domainObject must be included.

Optionally, if it has no axisDefinition node, this can hold the logCurveInfo type for this channel.

Currently logCurveInfo does not have a stand-alone v1.4.1.1 schema, so this domain object cannot be schema validated. See the example schema in Section 3.3.1 DomainObject .

null