Energistics Unit of Measure Draft Version 3.0a The associated spreadsheet is a draft specification that represents a unification of the “POSC Unit dictionary, V2.2”, the “RP66 Unit Model”, the “POSC Quantity Class”, the “WITSML Measure Class” and the “OpenSpirit Unit” specifications. All of these have roots in the Epicentre Data Model whose unit of measure information was based on the SPE’s "The SI Metric System of Units and SPE METRIC STANDARD". The information requirements of PPDM and the SEG will be an additional consideration in the final results. Yet another consideration is to update the conversion information to account for the increased accuracy available in modern 64 bit computers. The International System of Units, universally abbreviated SI (from the French Le Système International d’Unités), will represent the underlying basis for all of the results. This initial draft only addresses the SI subset. Other units will be addressed in later drafts. Scope The goal is to support a wide variety of use cases for the upstream oil and gas Industry. As such, this is not intended to be an all-inclusive definition of units for all domains. Unit Symbols A constrained variation of the RP66 unit model is being used for creating the unit symbols. A unit symbol essentially represents a multiplier to be applied to the associated value. Any two symbols which are composed of the same underlying concepts but result in the same multiplier do not represent additional semantics. While the SI specifications define the elemental components and patterns to be used for units of measure, a single combination for an underlying concept is not specified. This is also a characteristic of the RP66 specification. In contrast, this specification will define a single symbol for each supported concept. All other combinations will be considered to be aliases. This does not mean that an implementation could not choose to support all combinations; however, a recommended practice would be to use the aliases as a mechanism for mapping external information to a core set of unit symbols. Constraints A key assumption is that the unit symbol is not attempting to capture detailed knowledge about how the value was measured. For example, the concept of a “volume measured at standard conditions of temperature and pressure” will not be part of this specification. Nor will concepts such as “atmospheric pressure” or “gauge pressure”. Instead, these concepts must be part of the semantics of the specific property or quantity that the value represents. A minor exception to this is that some symbols may capture knowledge of the type of ratio involved in the measurement. These ratio units are utilized within the context of specialized Quantity Classes. However, this ratio of symbols should not be construed to represent the specific units that were used in the original measurements. For example, “m/m” would not necessarily mean that the original measurements were both in meters because they might have both been in centimeters (i.e., “cm/cm” would be an alias for “m/m”). Quantity Class The Quantity Classes are used to organize unit symbols into a group where each symbol in the group is an alternative multiplier for an underlying kind of quantity. Most Quantity Classes represent a unique underlying dimensional concept (e.g., length, length per time, mass per length, etc) but dimensionless ratios of quantities represent a particular problem. For example, a value that represents a ratio of volumes cannot be semantically compared to a value that represents a ratio of masses or a ratio of lengths. For this reason, the Quantity Classes strongly distinguish between these different dimensionless concepts and some unit symbols have been created to represent those classes (e.g., “m/m” represents the class of “length per length”). The Quantity Class is essentially a superclass of the “kind of quantity” as defined by “International vocabulary of metrology — Basic and general concepts and associated terms (VIM)” (JCGM 200:2008). While some classes may have the same name as commonly recognized kinds, many have more abstract names such as “volume per volume”. The primary purpose of a Quantity Class is to be used as a constraint on the unit symbols allowed to be used with a value that represents a particular class. For example, a property which has been categorized as a “volume” must not use a symbol that represents a metre. Each unit symbol assigned to a class defines an alternative unit symbol that can be substituted after a proper conversion of the value. Note that more than one Quantity Class may have the same dimension. For example, the concepts of “moment of force” and “energy” are not regarded as being of the same kind, although they have the same dimension. Membership A Membership worksheet defines which units represent a particular class. If a real world quantity represents a particular quantity class then the only allowed units of measure for that quantity would be the unit symbols in the membership list for that class. For example, if an XML element of “diameter” had a type that represents the quantity class of “length” then the unit symbol “m” could be used for that element but not “m3” because “m3” is not a member of the “length” class. An alias of a symbol would also be representative of the class for which the symbol is a member. Dimensional Class The dimensional class of a quantity class or a unit symbol is used to characterize the underlying concepts. The following nomenclature is used: A = angle (SI base unit = radian) B = luminous intensity (SI base unit = candela) C = electrical current (SI base unit = ampere) K = thermodynamic temperature (SI base unit = kelvin) L = length (SI base unit = metre) M = mass (SI base unit = kilogram) N = amount of substance (SI base unit = mole) S = solid angle (SI base unit = steradian) T = time (SI base unit = second) A number will indicate a power (e.g., “L2” would indicate “length squared”) and a solidus (/) will indicate division. Note that an angle is considered to be a dimensionless ratio of length while a solid angle is considered to be a dimensionless ratio of area. In addition, the syntax “ratio(X)” is used to indicate a dimensionless ratio of another dimensional class. For example “ratio(L3)” would indicate a ratio of volumes. The inclusion of the ratio information in the dimensional analysis provides extra semantics which help to explain the semantic differences in the supported concepts. Note that the unit symbols may contain dimensionless components that are not represented in the dimensional analysis. For example, the bel (B) has not been included in the dimensional analysis for “attenuation per length” but is listed in its base for conversion. Conversion Base The base for conversion is a unit symbol that is accepted for use in SI but it is not necessarily an “SI base unit”. Every symbol that may be used by a class will have the same base for conversion. The process of converting the value associated with a source symbol to a value associated with a target symbol would logically convert the source value to the base symbol and then convert that base value to the target symbol. Each unit symbol will have conversion information for converting a value to the base symbol. The conversion information conforms to the formula y=(A+Bx)/(C+Dx) where y represents the base value and x represents the symbol value. Note that if C=1 and D=0, then the formula reduces to y=A+Bx (i.e., an offset and a factor). If the conversion information is exact then it will be flagged with IS-EXACT=true. For ratios, A and D will commonly be zero such that the formula reduces to y=(B/C)x and sometimes B and C will each be exact even though the calculated result is not. Exact means that the specified number of digits in the conversion data is not truncated. Representative Unit The representative unit generally matches the base for conversion except where multiple classes have the same underlying dimensional analysis. In this case, the representative unit may provide additional information about the underlying concept of the class. For example, “area per volume” has the same dimensional analysis as “per length” but it specifies a representative unit of “m2/m3” instead of “1/m”. Canonical Unit The canonical unit reduces the underlying concept of a class to an expression that uses a combination of the underlying SI base units. This expression will not contain SI special units such as hertz (Hz) or newton (N). All units associated with a class will be represented by the same canonical unit. A canonical unit may or may not be a supported unit. Mapping Mapping worksheets provide a cross-reference from different dictionaries to the new specification. For the class names, the mapping represents how POSC QuantityType, POSC QuantityClass and OpenSpirit BaseMeasurement declarations were mapped to the new specification. This represents more of a “specialization of” relationship than an alias relationship. A concept is the “same as” the new class in the sense that the new class would be used where the old concept was originally used. For unit symbols, the mapping represents an alias with the same semantics. A mapping to the POSC and OpenSpirit specifications is provided in addition to a mapping to some SI Aliases and a mapping to the new integer code specification. Integer Codes A separate specification will assign unique integer to some of the information. The primary requirement for this is the “Society of Exploration Geophysicists” new “SEGD Rev3.0” format that utilizes a two byte code for unit information in a special Measurement Block. Once assigned, these codes will never be used for a different semantic meaning. A code may be deprecated or a different name may be assigned to it but a code will never be removed. Because of this, their use is constrained to the Quantity Classes and to a subset of the SI unit symbols. For the first version, the supported symbol subset will be those symbols that represent the “base for conversion” associated with each class. Usage A common usage of this information will be to constrain quantities in a data model to represent one particular quantity class. This will allow mechanisms to insure that any unit of information specified for a quantity value is appropriate for that quantity. For example, WITSML defines a specific type named lengthMeasure which has a required uom attribute that enumerates all of the allowed units for a “length” quantity class. In a relational model, triggers might be used to insure that the proper unit of measure is specified for the unit associated with a column that was declared as a “length”. For more generalized models such as a well log, knowledge of the quantity class might be a required piece of metadata for understanding the underlying nature of a curve even if the specific meaning is not understood. Another alternative for an implementation would be to convert all quantities of the same class to one specific unit (e.g., the base) for storage. The mapping information can be used for automating the import of external data.
© Copyright 2026 Paperzz