3.3 Mapping WITSML LogCurveInfo to the ETP Channel Metadata Record
Topic Version | 1 | Published | 10/16/2017 | |
For Standard | ETPW14 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:
Time Log:
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:
Time Log:
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 |