4.2.3 ChannelMetadata Message

Topic Version1Published10/16/2017
For StandardETPW20 v1

The producer replies to ChannelDescribe message with the following ChannelMetatdata message; below, see the tables that show mappings for channel and index metadata and the domain object XML. NOTE: As shown in the example, a channel must be unique within the context of a server, so the channel URI requires a UUID. The channel index refers to the type of index for the channel (either time, depth or both) so the channel index URI does not require a UUID.


// [91e2682e-5f0a-44bc-86fb-2ba708e78f7f] Message received at 2017-08-12 10:47:59.2218{

"protocol":1,

"messageType":2,

"correlationId":9,

"messageId":25,

"messageFlags":3}{  

"channels":     {      

"channelUri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/Channel(06dd54c2-1e9d-442c-80da-7b15768f31ce)",      

"channelId": 0,      

"indexes": [        {          

"indexType": "Depth",          

"uom": "m",          

"depthDatum": null,          

"direction": "Increasing",          

"mnemonic": "MD",          

"description": "MD",          

"uri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/ChannelIndex(MD)",          

"customData": {},          

"scale": 3,          

"timeDatum": null        },        {          

"indexType": "Time",          

"uom": "s",          

"depthDatum": null,          

"direction": "Increasing",          

"mnemonic": "TIME",          

"description": "TIME",          

"uri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/ChannelIndex(TIME)",          

"customData": {},          

"scale": 3,          

"timeDatum": null        }      ],      

"channelName": "ROP",      

"dataType": "double",      

"uom": "m/h",      

"startIndex": 900,      

"endIndex": 8800,      

"description": "ROP",      

"status": "Active",      

"contentType": "application/x-witsml+xml;version=2.0;type=Channel",      

"source": "MWD",      

"measureClass": "Velocity",      

"uuid": "06dd54c2-1e9d-442c-80da-7b15768f31ce",      

"customData": {},      

"domainObject": {        

"resource": {          

"uri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/Channel(06dd54c2-1e9d-442c-80da-7b15768f31ce)",          

"contentType": "application/x-witsml+xml;version=2.0;type=Channel",          

"name": "ROP",          

"channelSubscribable": true,          

"customData": {},          

"resourceType": "DataObject",          

"hasChildren": 0,          

"uuid": "06dd54c2-1e9d-442c-80da-7b15768f31ce",          

"lastChanged": 0,          

"objectNotifiable": true        },        

"contentEncoding": "gzip",        

"data": [ binary data truncated for readability ]      }    },    {      

"channelUri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/Channel(ef87b732-a9c6-44ba-bc72-9f40386fecea)",      

"channelId": 1,      

"indexes": [        {          

"indexType": "Depth",          

"uom": "m",          

"depthDatum": null,          

"direction": "Increasing",          

"mnemonic": "MD",          

"description": "MD",          

"uri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/ChannelIndex(MD)",          

"customData": {},          

"scale": 3,          

"timeDatum": null        },        {          

"indexType": "Time",          

"uom": "s",          

"depthDatum": null,          

"direction": "Increasing",          

"mnemonic": "TIME",          

"description": "TIME",          

"uri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/ChannelIndex(TIME)",          

"customData": {},          

"scale": 3,          

"timeDatum": null        }      ],      

"channelName": "HKLD",      

"dataType": "double",      

"uom": "klbf",      

"startIndex": 900,      

"endIndex": 8800,      

"description": "HKLD",      

"status": "Active",      

"contentType": "application/x-witsml+xml;version=2.0;type=Channel",      

"source": "MWD",      

"measureClass": "Force",      

"uuid": "ef87b732-a9c6-44ba-bc72-9f40386fecea",      

"customData": {},      

"domainObject": {        

"resource": {          

"uri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/Channel(ef87b732-a9c6-44ba-bc72-9f40386fecea)",          

"contentType": "application/x-witsml+xml;version=2.0;type=Channel",          

"name": "HKLD",          

"channelSubscribable": true,          

"customData": {},          

"resourceType": "DataObject",          

"hasChildren": 0,          

"uuid": "ef87b732-a9c6-44ba-bc72-9f40386fecea",          

"lastChanged": 0,          

"objectNotifiable": true        },        

"contentEncoding": "gzip",        

"data": [ binary data truncated for readability ]      }    },    {      

"channelUri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/Channel(ff9615df-1fb5-45fe-9157-1a7f4ef4e9ae)",      

"channelId": 2,      

"indexes": [        {          

"indexType": "Depth",          

"uom": "m",          

"depthDatum": null,          

"direction": "Increasing",          

"mnemonic": "MD",          

"description": "MD",          

"uri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/ChannelIndex(MD)",          

"customData": {},          

"scale": 3,          

"timeDatum": null        },        {          

"indexType": "Time",          

"uom": "s",          

"depthDatum": null,          

"direction": "Increasing",          

"mnemonic": "TIME",          

"description": "TIME",          

"uri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/ChannelIndex(TIME)",          

"customData": {},          

"scale": 3,          

"timeDatum": null        }      ],      

"channelName": "GR",      

"dataType": "double",      

"uom": "gAPI",      

"startIndex": 900,      

"endIndex": 8800,      

"description": "GR",      

"status": "Active",      

"contentType": "application/x-witsml+xml;version=2.0;type=Channel",      

"source": "MWD",      

"measureClass": "Gamma_Ray",      

"uuid": "ff9615df-1fb5-45fe-9157-1a7f4ef4e9ae",      

"customData": {},      

"domainObject": {        

"resource": {          

"uri": "eml://witsml20/ChannelSet(21b0c388-5a5d-4153-9759-b112e3042339)/Channel(ff9615df-1fb5-45fe-9157-1a7f4ef4e9ae)",          

"contentType": "application/x-witsml+xml;version=2.0;type=Channel",          

"name": "GR",          

"channelSubscribable": true,          

"customData": {},          

"resourceType": "DataObject",          

"hasChildren": 0,          

"uuid": "ff9615df-1fb5-45fe-9157-1a7f4ef4e9ae",          

"lastChanged": 0,          

"objectNotifiable": true        },        

"contentEncoding": "gzip",        

"data": [ binary data truncated for readability ]      }    }  ]}

Channel Metadata Record:

Metadata Property

Channel Property

Example

channelUri

Channel URI

eml://witsml20/Channel(4a403536-ebf2-490f-a2c2-ae3a38713aa6)

channelId

Unique channel identifier, per session

0

channelName

Channel.Citation.Mnemonic

GR

dataType

Channel.DataType

double

uom

Channel.Uom

gAPI

startIndex

Channel.StartIndex.Depth

0.0

endIndex

Channel.EndIndex.Depth

0.0

description

Channel.Citation.Description or Channel.Citation.Title

GR1AX

status

Channel.GrowingStatus

active

contentType

Channel Content Type

application/x-witsml+xml;version=2.0;type=Channel

source

Channel.Citation.Source

ACME Drilling Company

measureClass

Channel.ChannelClass.Title

Gamma_Ray

uuid

Channel.Uuid

4a403536-ebf2-490f-a2c2-ae3a38713aa6

indexes

See Index Metadata Record below

[ ]

domainObject

DataObject with Resource and Data. While this property is optional in ETP, for WITSML v2.0 you must send the domain object. The Channel Metadata message does not have elements for all necessary WITSML elements (for example, AxisDefinitions); therefore, you must always send the domain object.

{ }

customData

n/a

{ }

Index Metadata Record:

Metadata Property

ChannelIndex Property

Example

indexType

Channel.Index.IndexType

ChannelIndexTypes.Depth

uom

Channel.Index.Uom

ft

depthDatum

Channel.Index.DatumReference

KB

direction

Channel.Index.Direction

IndexDirections.Increasing

mnemonic

Channel.Index.Mnemonic

MD

description

Channel.Index.Mnemonic

measured depth

scale

n/a

3

uri

n/a

eml://witsml20/Channel(4a403536-ebf2-490f-a2c2-ae3a38713aa6)/MD

Domain Object XML:


<Channel schemaVersion="2.0" uuid="4a403536-ebf2-490f-a2c2-ae3a38713aa6" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.energistics.org/energyml/data/witsmlv2">
<Citation xmlns="http://www.energistics.org/energyml/data/commonv2">
<Title>GR1AX - 170115-141020-039</Title>
<Originator>DataGenerator</Originator>
<Creation>2017-01-15T20:10:20.039Z</Creation>
<Format>PDS.Witsml, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=null</Format>
</Citation>
<Mnemonic>GR</Mnemonic>
<DataType>double</DataType>
<Uom>gAPI</Uom>
<GrowingStatus>active</GrowingStatus>
<Source>MWD</Source>
<TimeDepth>depth</TimeDepth>
<ChannelClass>
<ContentType xmlns="http://www.energistics.org/energyml/data/commonv2">application/x-eml+xml;version=2.1;type=PropertyKind</ContentType>
<Title xmlns="http://www.energistics.org/energyml/data/commonv2">Gamma_Ray</Title>
<Uuid xmlns="http://www.energistics.org/energyml/data/commonv2">b0512912-439f-447d-a780-158cc2e46406</Uuid>
</ChannelClass>
<StartIndex xsi:type="DepthIndexValue">
<Depth>0.9</Depth>
</StartIndex>
<EndIndex xsi:type="DepthIndexValue">
<Depth>8.8</Depth>
</EndIndex>
<LoggingMethod>MWD</LoggingMethod>
<Index>
<IndexType>measured depth</IndexType>
<Uom>m</Uom>
<Direction>increasing</Direction>
<Mnemonic>MD</Mnemonic>
<DatumReference>MSL</DatumReference>
</Index>
<Index>
<IndexType>date time</IndexType>
<Uom>s</Uom>
<Direction>increasing</Direction>
<Mnemonic>TIME</Mnemonic>
<DatumReference>MSL</DatumReference>
</Index>
</Channel>