This material represents an addendum to the WITSML v1.3.1 specification. The material is considered stable and usable today. This is not to imply that changes will not occur in the future. As usage becomes more widespread, it is anticipated that extensions and modifications will be identified and implemented in future versions.
Further information requests and technical feedback may be addressed to Gary Masters or Alan Doniger at the POSC offices in Houston.
Whereas the original focus of the WITSML Standards was within the Drilling area, this material covers the post-Drilling areas of Completions (Well Mechanical) and Production (mainly reporting aspects).
The Production reporting object is being used in the Norwegian OLF Partner Daily Reporting project which was piot tested in the fall of 2005.
The PRODML™ project, initiated in 2005 by BP, Chevron, and Shell, is using this material as a reference source. Relevant feedback has been provided and more is anticipated as that project progresses.
Other projects are invited to consider using this material and are asked to contact the POSC contacts above for assistance and support.
This material has been updated based on feedback from WITSML v1.3.1, PRODML and OLF. The changes from the previous draft versions can be viewed in the detailed change log.
This document contains the following sections:
Several schemas for new WITSML objects have been included in this combined specification because they are all relatable to production. Each object can stand alone but they should be evaluated as a group to insure that they provide a good fit with one another. The WITSML well and wellbore objects are included for the required context. All schema files and this documentation can be downloaded here (600 KB zip).
See the PowerPoint file for an overview of the Product Flow Model. This model defines how product could flow. The Product Volume Report is required in order to define how it actually flowed.
The Product Volume Report is a new object that can be used to define, for example, the daily volme of oil production at a wellhead. It can also define other characteristics (pressure, temperature, flow rate, concentrations, etc) associated with that wellhead. It utilizes a general hierarchy of:
The Flow may be associated with a Port in the Product Flow Model in order to support detailed analysis of a flow network. The report can be a simple one for something like one well or it can be a complex one for something like an offshore field with multiple platforms. A report must represent a particular period but can include data from other periods. For example, a daily report might include cumulative 'year-to-date' and 'month-to-date' data. This schema is projected as a replacement for the volume reporting part of the older POSC ProductionML schema.
The Production Operations Report is a new object that can capture the activities related to production operations for a stated period (day, month, arbitrary, ...). It utilizes a general hierarchy of:
The report can represent one overall facility (e.g., a platform or field) but can include information from many related facilities.
The new Well Test object captures the results of a well test. This object is derrived from the well test part of the older POSC ProductionML schema. It utilizes a general hierarchy of:
Each Well Test Report can represent one and only one of: a Fluid Level Test, a Production Test or an Injection Test
The Well Completion object is a very simple structure that points to the collection of perforations and open holes that represent one competion. It also points to the Completion String that carries the fluid to the surface. This schema is derrived from the WellCompletion part of the older POSC WellSchematicML schema.
The Completion String object captures the configuration of equipment that conveys fluid from downhole to the surface. In a manner similar to the WITSML wbGeometry object, each string may be composed of many components. This schema is derrived from the TubingString part of the older POSC WellSchematicML schema.
The Wellbore Interval object defines miscellaneous intervals where interesting things occur. For example, perforated, fractured and acidized.
The Wellsite Information Transfer Standard Markup Language (WITSML) is a standard for sending well site information in an XML document format between business partners. XML schemas are used to define the content of an XML document. The WITSML standard consists of two specifications which will be versioned independently: Data Schema and Application Program Interface (API). This document provides an overview of the Data Schema. The WITSML data schema consists of a set of independent but relatable data object schemas. A data object schema defines a set of data that can be transmitted within a single XML document and represents a cohesive subset (e.g.; well, wellbore, rig, etc.) of an overall logical schema related to a single domain (well). Data object schemas contain attributes, elements, and included component sub-schemas.
Component schemas are XML schemas, but these schemas do not represent complete data objects. A component schema may be included by more than one data object schema. All component schemas are prefixed with (cs_). Each component schema file generally defines one type that has the same name as the file name.
An attribute group file (attgrp_uid.xsd) is used to define a unique identifier (uid) attribute for all recurring container elements. A container element is an element that contains other elements. The uid attribute is optional but is required within the context of a WITSML server. This is the equivalent of a RDBMS system generated primary key.
Low level simplistic types are defined in the following files. Each file defines many types. Each component schema file must directly or indirectly include file typ_dataTypes.xsd. If a component schema includes another component schema then it will be indirectly including typ_dataTypes.xsd.
File typ_catalog.xsd file contains enumerations that are considered to be relatively static and should not require frequent changes. However for some data the list of recognized values may change relatively frequently. For this type of data the values are enumerated in file enumValues.xml.
The unit of measure conversion information is defined in file witsmlUnitDict.xml. Abbreviations used within the WITSML schemas are documented here.
In addition, an overall composite schema has been defined which allows data from all of the data object schemas to be included in one document. However, this schema is not intended for use with the API.
Since all XML documents can only have one root level element and there are situations where it is necessary to send multiple occurrences of a data object in a single XML document (e.g.; multiple wellbores in a well), a pluralized version of the data object name was established as the schema root element. That is, the object name followed by an "S" (e.g.; wells, wellbores, etc.). In some cases, this leads to incorrect pluralization (e.g., trajectorys), but is required to order to meet the requirements of the WITSML API which generates root tag names based on the data object name. One component schema is included in all plural data object schemas:
The unique identifiers (uid) for data objects are always defined as attributes at the singular data object name level.
A WITSML type can be one of four kinds; a definition only with possibly a restricted size specified, a definition with enumerated values that are permitted, a reference to a component schema and a reference to a element group schema. While not really a type, the element group schemas allow the same elements to be used in multiple different contexts. In order, to help identify which type is being referenced, the following naming convention is used.
Type definition only - starts with lowercase, each new word begins with uppercase
<xsd:element name="mdKickoff"
type="measuredDepthCoord"
minOccurs="0"/>
Type definition with enumerated values – starts with uppercase and each new word
begins with uppercase
<xsd:element name="shape" type="WellboreShape" minOccurs="0"/>
Reference to a component schema can be identified by the a "cs_" prefix. <xsd:element name="customData" type="cs_customData" minOccurs="0" maxOccurs="1"/>
Reference to an element group schema can be identified by the a "grp_" prefix. <xsd:group ref="grp_well" minOccurs="0" maxOccurs="1'/>
WITSML has adopted the following definitions:
The definition of wellbore is intended to allow it to represent one and only one sidetrack or initial borehole. This assumes that only one sidetrack can have a particular bottomhole point. The wellbore may partially or completely overlap other sidetracks but it would not represent them.
For data bases that only contain wells, the name of the well generally contains knowledge of a specific sidetrack that is represented by that well. Information which is common to all sidetracks must be copied to each sidetrack well. Information from other sidetracks may also be redundantly copied to the sidetrack well. That is, the sidetrack well generally represents information from bottomhole to surface. In the WITSML view, the common data maps to a well and the sidetrack information maps to a wellbore. Data from other sidetracks may or may not be redundantly copied to a wellbore. Information about a borehole maps to a wellbore when that information is located using measured depths from the surface.
This release includes the following data object schemas, component schemas and element group schemas. File names beginning with "typ_" represent new types that will eventually be added to the corresponding WITSML typ_catalog.xsd, typ_dataTypes.xsd, typ_measureType.xsd, typ_quantityClass.xsd or typ_baseType.xsd file. New types that are needed in more than one object will include the term "New" in the file name. Types that are specific to one object will have a term in the name that reflects that object.
Schemas | Links to Documents | |||
---|---|---|---|---|
XSD Schema |
||||
WITSML_Composite.xsd (this file utilizes "grp_" files that can be referenced below) |
XSD |
Schemas | Links to Documents | |||
---|---|---|---|---|
XSD Schema |
||||
obj_completionString.xsd | XSD | |||
grp_completionString.xsd | XSD | |||
cs_completionComponent.xsd | XSD | |||
typ_dataTypes_compStr.xsd.xsd | XSD | |||
cs_deviceProperty.xsd | XSD | |||
cs_event.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_rodString.xsd | XSD | |||
cs_rodSegment.xsd | XSD | |||
typ_catalog_compStr.xsd.xsd | XSD | |||
cs_event.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_rodPump.xsd | XSD | |||
cs_event.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_statusRecord.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_event.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_statusRecord.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_event.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_commonData.xsd | XSD | |||
cs_customData.xsd | XSD |
Schemas | Links to Documents | |||
---|---|---|---|---|
XSD Schema |
||||
obj_productFlowModel.xsd | XSD | |||
grp_productFlowModel.xsd | XSD | |||
cs_productFlowExternalReference.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_productFlowNetwork.xsd | XSD | |||
cs_productFlowlExternalPort.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
typ_catalog_New.xsd.xsd | XSD | |||
cs_productFlowUnit.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_productFlowPort.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_connectedNode.xsd | XSD | |||
cs_productFlowPortConstraint.xsd | XSD | |||
cs_productFlowExpectedPair.xsd | XSD | |||
typ_catalog_New.xsd.xsd | XSD | |||
cs_commonData.xsd | XSD | |||
cs_customData.xsd | XSD |
Schemas | Links to Documents | |||
---|---|---|---|---|
XSD Schema |
||||
obj_productionOperation.xsd | XSD | |||
grp_productionOperation.xsd | XSD | |||
cs_businessAssociate.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_personName.xsd | XSD | |||
cs_generalAddress.xsd | XSD | |||
typ_catalog_New.xsd.xsd | XSD | |||
cs_geographicContext.xsd | XSD | |||
cs_offshoreLocation.xsd | XSD | |||
cs_northSeaOffshore.xsd | XSD | |||
cs_installationReport.xsd | XSD | |||
cs_operationalHSE.xsd | XSD | |||
cs_safety.xsd | XSD | |||
typ_dataTypes_prodOper.xsd.xsd | XSD | |||
cs_datedComment.xsd | XSD | |||
cs_weather.xsd | XSD | |||
cs_productionActivity.xsd | XSD | |||
cs_lostProduction.xsd | XSD | |||
typ_dataTypes_prodOper.xsd.xsd | XSD | |||
cs_thirdPartyProcessing.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_waterCleaningQuality.xsd | XSD | |||
cs_datedComment.xsd | XSD | |||
cs_shutdown.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_datedComment.xsd | XSD | |||
cs_alarm.xsd | XSD | |||
cs_marineOperation.xsd | XSD | |||
cs_datedComment.xsd | XSD | |||
cs_cargoShipOperation.xsd | XSD | |||
cs_datedComment.xsd | XSD | |||
cs_operationalComment.xsd | XSD | |||
typ_catalog_prodOper.xsd.xsd | XSD | |||
cs_commonData.xsd | XSD | |||
cs_customData.xsd | XSD |
Schemas | Links to Documents | |||
---|---|---|---|---|
XSD Schema |
||||
obj_productVolume.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
grp_productVolume.xsd | XSD | |||
typ_catalog_New.xsd.xsd | XSD | |||
cs_businessAssociate.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_personName.xsd | XSD | |||
cs_generalAddress.xsd | XSD | |||
typ_catalog_New.xsd.xsd | XSD | |||
cs_geographicContext.xsd | XSD | |||
cs_offshoreLocation.xsd | XSD | |||
cs_northSeaOffshore.xsd | XSD | |||
cs_productVolumeFacility.xsd | XSD | |||
cs_datedComment.xsd | XSD | |||
cs_productVolumeFlow.xsd | XSD | |||
typ_catalog_prodVol.xsd.xsd | XSD | |||
cs_productVolumeRelatedFacility.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
typ_catalog_New.xsd.xsd | XSD | |||
cs_productVolumelPortDifference.xsd | XSD | |||
cs_productVolumeProduct.xsd | XSD | |||
typ_dataTypes_prodVol.xsd.xsd | XSD | |||
cs_refProductFlow.xsd | XSD | |||
cs_productVolumeComponentContent.xsd | XSD | |||
typ_catalog_New.xsd.xsd | XSD | |||
cs_productVolumePeriod.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
typ_catalog_New.xsd.xsd | XSD | |||
typ_catalog_prodVol.xsd.xsd | XSD | |||
typ_dataTypes_prodVol.xsd.xsd | XSD | |||
cs_datedComment.xsd | XSD | |||
cs_datedComment.xsd | XSD | |||
cs_commonData.xsd | XSD | |||
cs_customData.xsd | XSD |
Schemas | Links to Documents | |||
---|---|---|---|---|
XSD Schema |
||||
obj_well.xsd | XSD | |||
grp_well.xsd | XSD | |||
cs_wellDatum.xsd | XSD | |||
cs_refWellWellbore.xsd | XSD | |||
cs_refWellWellboreRig.xsd | XSD | |||
cs_location.xsd | XSD | |||
cs_referencePoint.xsd | XSD | |||
cs_location.xsd | XSD | |||
cs_wellCRS.xsd | XSD | |||
cs_projectionx.xsd | XSD | |||
cs_geodeticModel.xsd | XSD | |||
cs_localCRS.xsd | XSD | |||
cs_commonData.xsd | XSD | |||
cs_customData.xsd | XSD |
Schemas | Links to Documents | |||
---|---|---|---|---|
XSD Schema |
||||
obj_wellbore.xsd | XSD | |||
grp_wellbore.xsd | XSD | |||
cs_commonData.xsd | XSD | |||
cs_customData.xsd | XSD |
Schemas | Links to Documents | |||
---|---|---|---|---|
XSD Schema |
||||
obj_wellboreInterval.xsd | XSD | |||
grp_wellboreInterval.xsd | XSD | |||
typ_catalog_interval.xsd.xsd | XSD | |||
cs_perforation.xsd | XSD | |||
typ_catalog_interval.xsd.xsd | XSD | |||
cs_fracStage.xsd | XSD | |||
cs_fracAdditive.xsd | XSD | |||
cs_statusRecord.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_event.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_commonData.xsd | XSD | |||
cs_customData.xsd | XSD |
Schemas | Links to Documents | |||
---|---|---|---|---|
XSD Schema |
||||
obj_wellCompletion.xsd | XSD | |||
grp_wellCompletion.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
typ_measureType_wellComp.xsd.xsd | XSD | |||
cs_statusRecord.xsd | XSD | |||
typ_dataTypes_New.xsd.xsd | XSD | |||
cs_refWellboreCompletionString.xsd | XSD | |||
cs_refWellboreWellboreInterval.xsd | XSD | |||
cs_commonData.xsd | XSD | |||
cs_customData.xsd | XSD |
Schemas | Links to Documents | |||
---|---|---|---|---|
XSD Schema |
||||
obj_wellTest.xsd | XSD | |||
grp_wellTest.xsd | XSD | |||
typ_catalog_New.xsd.xsd | XSD | |||
cs_fluidLevelTest.xsd | XSD | |||
cs_productionTestData.xsd | XSD | |||
cs_wellTestInterval.xsd | XSD | |||
cs_wellheadData.xsd | XSD | |||
cs_bottomholeData.xsd | XSD | |||
cs_separatorData.xsd | XSD | |||
cs_cumulative.xsd | XSD | |||
cs_productionTestResults.xsd | XSD | |||
cs_testVolume.xsd | XSD | |||
cs_fluidRate.xsd | XSD | |||
cs_injectionTestData.xsd | XSD | |||
typ_catalog_wellTest.xsd.xsd | XSD | |||
cs_wellTestInterval.xsd | XSD | |||
cs_cumulative.xsd | XSD | |||
cs_injectionTestResults.xsd | XSD | |||
cs_testVolume.xsd | XSD | |||
cs_fluidRate.xsd | XSD | |||
cs_commonData.xsd | XSD | |||
cs_customData.xsd | XSD |
Copyright(c) 2006 Petrotechnical Open Standards Consortium, Inc. (POSC) All rights reserved. POSC® and the POSC logo® are registered trademarks and WITSML™ and the WITSML logo™ are trademarks of POSC