This document contains the following sections:
This material was developed through cooperation between Energistics, the Ground Water Protection Council (GWPC) and the US Bureau of Land Management (BLM). The work was partly funded by a grant from the US Department of Energy (DOE). Its purpose was to create a batch data exchange standard to facilitate the reduction of the cost of information exchange between the petroleum and mining industries and regulatory agencies over the Internet. The resulting specifications are compatible with the relational tables from the GWPC's Risk Based Data Management System (RBDMS). The GWPC is engaged in a broader initiative related to e-Commerce which is beginning a staged implementation of these specifications in several US states.
US regulators have broadly diverse requirements that were already reflected in RBDMS and care has been taken to remain generic and suitable for international use. Input from other regulators is solicited in order to further broaden the base of these specifications.
Further information requests and technical feedback may be addressed to Gary Masters or Alan Doniger at the Energistics offices in Houston.
This overview is non-normative and is not part of the standard. This material has been modified to be consistent with the current published WITSML Drilling Standards (v1.3.1.1). The Energistics Special Interest Group (SIG) that addresses these specifications is the eRegulatory SIG. Requests for additions or changes should refer to this SIG.
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. Newly added types are in file variants with "_NEW" as part of the name.
The unit of measure conversion information is defined in file witsmlUnitDict.xml. Abbreviations used within the WITSML schemas are documented here.
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.
The base wellPermit object is designed to be compatible with and usable in a WITSML server. However, in order to support batch submittals of many kinds of permits from the same operator, a special wrapper schema has been developed which can contain data from many objects and which normalizes the operator information up to a higher level than the wellPermit object. This wrapper is intended for use as a batch submital to a regulatory agency rather than for use in a WITSML server. It will be extended as new kinds of permits are deveolped and example stubs have been incorporated to demonstrate the intended behavior for those extensions.
| Example | Links to Documents | |||
|---|---|---|---|---|
| XML Document |
XML via Stylesheet |
Stylesheet Source |
||
| Alaska Permit to Drill | XML | XML/XSL | XSL | |
| Alaska Application for Sundry Approvals | XML | XML/XSL | XSL | |
| Alaska Report of Sundry Well Operations | XML | XML/XSL | XSL | |
| Alabama Application for Change of Operator | XML | XML/XSL | XSL | |
| Alabama Application for Permit to Drill, Deepen, Convert, or Amend | XML | XML/XSL | XSL | |
| Alabama Application to Reenter | XML | XML/XSL | XSL | |
| Alabama Application for Permit to Drill, Deepen, Convert, or Amend | XML | XML/XSL | XSL | |
| Kentucky Affidavit to Time and Manner of Plugging and Filling Well | XML | XML/XSL | XSL | |
| Kentucky Application for Permit to Drill | XML | XML/XSL | XSL | |
A single file variation of the normative schema files are contained in file batch_regReporting.xsd. All unused types have been eliminated from this file.
| Schemas | Links to Documents | |||
|---|---|---|---|---|
| XSD Schema |
||||
| batch_regReporting.xsd | XSD | |||
| cs_documentInfo.xsd | XSD | |||
| cs_wellNoticeAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| Schemas | Links to Documents | |||
|---|---|---|---|---|
| XSD Schema |
||||
| obj_wellNotice.xsd | XSD | |||
| grp_wellNotice.xsd | XSD | |||
| cs_wellNoticePermitAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| cs_wellNoticeWellIdentification.xsd | XSD | |||
| cs_wellAlias.xsd | XSD | |||
| cs_wellNoticeAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| cs_wellNoticeLease.xsd | XSD | |||
| cs_wellNoticeLeaseAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| cs_wellNoticeOtherInterest.xsd | XSD | |||
| cs_wellNoticeLeaseAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| cs_wellNoticeIdentChange.xsd | XSD | |||
| cs_wellNoticeWellLocation.xsd | XSD | |||
| cs_wellNoticeSpatialSeparation.xsd | XSD | |||
| cs_wellNoticeLocation.xsd | XSD | |||
| cs_location.xsd | XSD | |||
| cs_publicLandSurveySystem.xsd | XSD | |||
| cs_mapUSGS.xsd | XSD | |||
| cs_locationCarter.xsd | XSD | |||
| cs_wellNoticeAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| cs_wellNoticeBond.xsd | XSD | |||
| cs_wellNoticeBondAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| cs_wellNoticeBondEvent.xsd | XSD | |||
| cs_wellborePath.xsd | XSD | |||
| cs_wellborePathStation.xsd | XSD | |||
| cs_location.xsd | XSD | |||
| cs_wellNoticeDrillingPlan.xsd | XSD | |||
| cs_wellNoticeMud.xsd | XSD | |||
| cs_wellNoticeConstruction.xsd | XSD | |||
| cs_wellNoticeLocation.xsd | XSD | |||
| cs_location.xsd | XSD | |||
| cs_publicLandSurveySystem.xsd | XSD | |||
| cs_mapUSGS.xsd | XSD | |||
| cs_locationCarter.xsd | XSD | |||
| cs_wellNoticeZone.xsd | XSD | |||
| cs_wellNoticeZoneInterval.xsd | XSD | |||
| cs_wellNoticeUnit.xsd | XSD | |||
| cs_wellNoticePointLocation.xsd | XSD | |||
| cs_wellNoticeLocation.xsd | XSD | |||
| cs_location.xsd | XSD | |||
| cs_publicLandSurveySystem.xsd | XSD | |||
| cs_mapUSGS.xsd | XSD | |||
| cs_locationCarter.xsd | XSD | |||
| cs_wellNoticeGeophysicalLog.xsd | XSD | |||
| cs_wellNoticeComponent.xsd | XSD | |||
| cs_wellNoticeTubularString.xsd | XSD | |||
| cs_diameterFractionMeasure.xsd | XSD | |||
| cs_wellNoticeCement.xsd | XSD | |||
| cs_wellNoticeCementAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| cs_wellNoticeCementClass.xsd | XSD | |||
| cs_wellNoticeCompletion.xsd | XSD | |||
| cs_wellNoticePerforation.xsd | XSD | |||
| cs_diameterFractionMeasure.xsd | XSD | |||
| cs_wellNoticePerfInterval.xsd | XSD | |||
| cs_wellNoticeTreatment.xsd | XSD | |||
| cs_wellNoticeTreatmentAdditive.xsd | XSD | |||
| cs_wellNoticeTreatmentVolume.xsd | XSD | |||
| cs_wellNoticeTreatmentAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| cs_wellNoticeAbandonment.xsd | XSD | |||
| cs_wellNoticeAbandonCasing.xsd | XSD | |||
| cs_diameterFractionMeasure.xsd | XSD | |||
| cs_wellNoticeAbandonCement.xsd | XSD | |||
| cs_wellNoticeCementClass.xsd | XSD | |||
| cs_wellNoticeBlowOutPreventer.xsd | XSD | |||
| cs_wellNoticeConstructionAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| cs_wellNoticeConstructionEvent.xsd | XSD | |||
| cs_wellNoticeWellTest.xsd | XSD | |||
| cs_wellNoticeTestInterval.xsd | XSD | |||
| cs_diameterFractionMeasure.xsd | XSD | |||
| cs_wellNoticeCompliance.xsd | XSD | |||
| cs_wellNoticeAssociate.xsd | XSD | |||
| grp_wellNoticeAssociate.xsd | XSD | |||
| cs_personNameStruct.xsd | XSD | |||
| cs_identifierStruct.xsd | XSD | |||
| cs_generalAddress.xsd | XSD | |||
| cs_phoneNumberStruct.xsd | XSD | |||
| cs_emailQualifierStruct.xsd | XSD | |||
| cs_contactPreferenceEnum.xsd | XSD | |||
| cs_wellNoticeTwinWell.xsd | XSD | |||
| cs_wellNoticeAttachment.xsd | XSD | |||
| cs_wellDatum.xsd | XSD | |||
| cs_refWellWellbore.xsd | XSD | |||
| cs_refWellWellboreRig.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 | |||
Copyright(c) 2003-2006 Energistics. All rights reserved. POSC® and the POSC logo® are registered trademarks and WITSML™ and the WITSML logo™ are trademarks of Energistics