WITSML Data Schema Overview

Regulatory Reporting

Version 1.0 Release Candidate

This document contains the following sections:

Preface

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.

Introduction

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.

Data object schema design:

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.

Naming convention in schemas:

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.

Wells and Wellbores

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.

Batch Schema

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.

XML Documents, and Stylesheets


US Regulatory Examples

  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


WITSML Schemas


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.

batch_regReporting data object

  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


wellNotice data object

  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