Skip to content

RESQML v2.0.1 objects

The module resqml_objects.v201.generated contains mostly auto-generated xsdata-dataclasses from the RESQML v2.0.1 XSD Schema files found here: https://publications.opengroup.org/v231a. We have added some default parameters, some __post_init__-methods, and a few factory methods for setting up some common objects. Most of the documentation is from the published XSD Schema files and is similar to the documentation in the standards pdf.

resqml_objects.v201.generated

This file was generated by xsdata, v25.7, on 2025-10-20 12:28:32

Generator: DataclassGenerator See: https://xsdata.readthedocs.io/

APIGammaRayUom

Bases: Enum

ATTRIBUTE DESCRIPTION
G_API

API gamma ray unit

APIGravityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
D_API

API gravity unit

APINeutronUom

Bases: Enum

ATTRIBUTE DESCRIPTION
N_API

API neutron unit

AbsorbedDoseUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_GY

centigray

CRD

hundredth of rad

D_GY

decigray

DRD

tenth of rad

EGY

exagray

ERD

million million million rad

F_GY

femtogray

FRD

femtorad

GGY

gigagray

GRD

thousand million rad

GY

gray

K_GY

kilogray

KRD

thousand rad

M_GY

milligray

MGY_1

megagray

MRD

million rad

MRD_1

thousandth of rad

N_GY

nanogray

NRD

nanorad

P_GY

picogray

PRD

picorad

RD

rad

TGY

teragray

TRD

million million rad

U_GY

microgray

URD

millionth of rad

ActivityOfRadioactivityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BQ

becquerel

CI

curie

GBQ

gigabecquerel

MBQ

megabecquerel

M_CI

thousandth of curie

N_CI

nanocurie

P_CI

picocurie

TBQ

terabecquerel

U_CI

millionth of curie

AmountOfSubstancePerAmountOfSubstanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PERCENT_SIGN

percent

MOLAR

percent [molar basis]

EUC

euclid

MOL_MOL

mole per mole

N_EUC

nanoeuclid

PPK

part per thousand

PPM

part per million

AmountOfSubstancePerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
MOL_M2

gram-mole per square metre

AmountOfSubstancePerTimePerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
LBMOL_H_FT2

pound-mass-mole per hour square foot

LBMOL_S_FT2

pound-mass-mole per second square foot

MOL_S_M2

gram-mole per second square metre

AmountOfSubstancePerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KMOL_H

kilogram-mole per hour

KMOL_S

kilogram-mole per second

LBMOL_H

pound-mass-mole per hour

LBMOL_S

pound-mass-mole per second

MOL_S

gram-mole per second

AmountOfSubstancePerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KMOL_M3

kilogram-mole per cubic metre

LBMOL_FT3

pound-mass-mole per cubic foot

LBMOL_GAL_UK

pound-mass-mole per UK gallon

LBMOL_GAL_US

pound-mass-mole per US gallon

MOL_M3

gram-mole per cubic metre

AmountOfSubstanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KMOL

kilogram-mole

LBMOL

pound-mass-mole

MMOL

milligram-mole

MOL

gram-mole

UMOL

microgram-mole

AnglePerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_01_DEGA_FT

angular degree per hundred foot

VALUE_1_30_DEGA_FT

angular degree per thirty foot

VALUE_1_30_DEGA_M

angular degree per thirty metre

DEGA_FT

angular degree per foot

DEGA_M

angular degree per metre

RAD_FT

radian per foot

RAD_M

radian per metre

REV_FT

revolution per foot

REV_M

revolution per metre

AnglePerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
RAD_FT3

radian per cubic foot

RAD_M3

radian per cubic metre

AngularAccelerationUom

Bases: Enum

ATTRIBUTE DESCRIPTION
RAD_S2

radian per second squared

RPM_S

(revolution per minute) per second

AngularVelocityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
DEGA_H

angular degree per hour

DEGA_MIN

angular degree per minute

DEGA_S

angular degree per second

RAD_S

radian per second

REV_S

revolution per second

RPM

revolution per minute

AreaPerAmountOfSubstanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
M2_MOL

square metre per gram-mole

AreaPerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PERCENT_SIGN

percent

AREA

percent [area basis]

C_EUC

centieuclid

EUC

euclid

IN2_FT2

square inch per square foot

IN2_IN2

square inch per square inch

M2_M2

square metre per square metre

MM2_MM2

square millimetre per square millimetre

AreaPerMassUom

Bases: Enum

ATTRIBUTE DESCRIPTION
CM2_G

square centimetre per gram

FT2_LBM

square foot per pound-mass

M2_G

square metre per gram

M2_KG

square metre per kilogram

AreaPerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
CM2_S

square centimetre per second

FT2_H

square foot per hour

FT2_S

square foot per second

IN2_S

square inch per second

M2_D

square metre per day

M2_H

square metre per hour

M2_S

square metre per second

MM2_S

square millimetre per second

AreaPerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_M

per metre

B_CM3

barn per cubic centimetre

CU

capture unit

FT2_IN3

square foot per cubic inch

M2_CM3

square metre per cubic centimetre

M2_M3

square metre per cubic metre

AreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
ACRE

acre

B

barn

CM2

square centimetre

FT2

square foot

HA

hectare

IN2

square inch

KM2

square kilometre

M2

square metre

MI_US_2

square US survey mile

MI2

square mile

MM2

square millimetre

SECTION

section

UM2

square micrometre

YD2

square yard

AttenuationPerFrequencyIntervalUom

Bases: Enum

ATTRIBUTE DESCRIPTION
B_O

bel per octave

D_B_O

decibel per octave

AxisOrder2d

Bases: Enum

Defines the cordinate system axis order of the global CRS using the axis names (from EPSG database).

ATTRIBUTE DESCRIPTION
EASTING_NORTHING

The first axis is easting and the second axis is northing.

NORTHING_EASTING

The first axis is northing and the second asis is easting.

WESTING_SOUTHING

The first axis is westing and the second axis is southing.

SOUTHING_WESTING

The first axis is southing and the second axis is westing.

NORTHING_WESTING

the first axis is northing and the second axis is westing.

WESTING_NORTHING

the first axis is westing and the second axis is northing.

CapacitanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_F

centifarad

D_F

decifarad

EF

exafarad

F

farad

F_F

femtofarad

GF

gigafarad

K_F

kilofarad

M_F

millifarad

MF_1

megafarad

N_F

nanofarad

P_F

picofarad

TF

terafarad

U_F

microfarad

Citation dataclass

Citation(
    *,
    title: str,
    originator: str,
    creation: XmlDateTime | datetime = (lambda: from_datetime(now(utc)))(),
    format: str = "",
    editor: None | str = None,
    last_update: None | XmlDateTime | datetime = None,
    version_string: None | str = None,
    description: None | str = None,
    descriptive_keywords: None | str = None,
)

An ISO 19115 EIP-derived set of metadata attached to all specializations of AbstractObject to ensure the traceability of each individual independent (top level) element.

PARAMETER DESCRIPTION
title

One line description/name of the RESQML object. This is the equivalent in ISO 19115 of CI_Citation.title Legacy DCGroup - title

TYPE: str

originator

Name (or other human-readable identifier) of the person who initially originated the object or RESQML document in the source application. If that information is not available, the user who created the RESQML format file. The originator remains the same as the object is subsequently edited. This is the equivalent in ISO 19115 to the CI_Individual.name or the CI_Organization.name of the citedResponsibleParty whose role is "originator". Legacy DCGroup - author

TYPE: str

creation

Date and time the document was created in the source application or, if that information is not available, when it was saved to the RESQML format file. This is the equivalent of the ISO 19115 CI_Date where the CI_DateTypeCode = ”creation" The type is the Energistics timestamp datatype which is the W3C xs:dateTime with the optional timezone offset from UTC made mandatory. Format: YYYY-MM- DDThh:mm:ssZ[+/-]hh:mm Legacy DCGroup - created

TYPE: XmlDateTime | datetime DEFAULT: (lambda: from_datetime(now(utc)))()

format

Software or service that was used to originate the object and the file format created. Must be human and machine readable and unambiguously identify the software by including the company name, software name and software version. This is the equivalent in ISO 19115 to the distributionFormat.MD_Format. The ISO format for this is [vendor:applicationName]/fileExtension where the application name includes the version number of the application. SIG Implementation Notes 1. RESQML - Legacy DCGroup from v1.1 - publisher - fileExtension is not relevant and will be ignored if present. - vendor and applicationName are mandatory.

TYPE: str DEFAULT: ''

editor

Name (or other human-readable identifier) of the last person who updated the object. This is the equivalent in ISO 19115 to the CI_Individual.name or the CI_Organization.name of the citedResponsibleParty whose role is "editor". Legacy DCGroup - contributor

TYPE: None | str DEFAULT: None

last_update

Date and time the document was last modified in the source application or, if that information is not available, when it was last saved to the RESQML format file. This is the equivalent of the ISO 19115 CI_Date where the CI_DateTypeCode = ”lastUpdate" The type is the Energistics timestamp datatype which is the W3C xs:dateTime with the optional timezone offset from UTC made mandatory. Format: YYYY-MM-DDThh:mm:ssZ[+/-]hh:mm Legacy DCGroup - modified

TYPE: None | XmlDateTime | datetime DEFAULT: None

version_string

TYPE: None | str DEFAULT: None

description

User descriptive comments about the object. Intended for end-user use (human readable); not necessarily meant to be used by software. This is the equivalent of the ISO 19115 abstract.CharacterString Legacy DCGroup - description

TYPE: None | str DEFAULT: None

descriptive_keywords

Key words to describe the activity, for example, history match or volumetric calculations, relevant to this object. Intended to be used in a search function by software. This is the equivalent in ISO 19115 of descriptiveKeywords.MD_Keywords Legacy DCGroup - subject

TYPE: None | str DEFAULT: None

CustomData dataclass

CustomData(*, any_element: list[object] = list())

WITSML - Custom or User Defined Element and Attributes Component Schema. Specify custom element, attributes, and types in the custom data area.

PARAMETER DESCRIPTION
any_element

Any element or attribute in any namespace. It is strongly recommended that all custom data definitions be added to a unique namespace.

TYPE: list[object] DEFAULT: list()

DataObjectReference dataclass

DataObjectReference(
    *,
    content_type: str,
    title: str,
    uuid: str,
    uuid_authority: None | str = None,
    version_string: None | str = None,
)

It only applies for Energistics data object.

PARAMETER DESCRIPTION
content_type

The content type of the referenced element.

TYPE: str

title

TYPE: str

uuid

Reference to an object using its global UID.

TYPE: str

uuid_authority

The authority that issued and maintains the uuid of the referenced object. Used mainly in alias context.

TYPE: None | str DEFAULT: None

version_string

Indicates the version of the object which is referenced.

TYPE: None | str DEFAULT: None

get_content_type_string staticmethod
get_content_type_string(
    obj: AbstractResqmlDataObject | Type[AbstractResqmlDataObject],
) -> str

Static method constructing a RESQML v2.0.1 or EML v2.0 content type string based on the XML namespace of the provided object. The format of the content type string for RESQML v2.0.1 is:

application/x-resqml+xml;version=2.0.1;type={object-type}

and for EML v2.0:

application/x-eml+xml;version=2.0;type={object-type}

where object-type should correspond to the XSD type of the object. For example for a obj_Grid2dRepresentation-object this is exactly obj_Grid2dRepresentation.

See Energistics Identifier Specification 4.0 (it is downloaded alongside the RESQML v2.0.1 standard) section 4.1 for the documentation of this format.

PARAMETER DESCRIPTION
obj

An instance or type that is a subclass of AbstractResqmlDataObject.

TYPE: AbstractResqmlDataObject | Type[AbstractResqmlDataObject]

RETURNS DESCRIPTION
str

The content type string.

Source code in src/resqml_objects/v201/generated.py
@staticmethod
def get_content_type_string(
    obj: AbstractResqmlDataObject | Type[AbstractResqmlDataObject],
) -> str:
    """
    Static method constructing a RESQML v2.0.1 or EML v2.0 content type
    string based on the XML namespace of the provided object. The format of
    the content type string for RESQML v2.0.1 is:

        application/x-resqml+xml;version=2.0.1;type={object-type}

    and for EML v2.0:

        application/x-eml+xml;version=2.0;type={object-type}

    where `object-type` should correspond to the XSD type of the object.
    For example for a `obj_Grid2dRepresentation`-object this is exactly
    `obj_Grid2dRepresentation`.

    See Energistics Identifier Specification 4.0 (it is downloaded
    alongside the RESQML v2.0.1 standard) section 4.1 for the
    documentation of this format.

    Parameters
    ----------
    obj: AbstractResqmlDataObject | Type[AbstractResqmlDataObject]
        An instance or type that is a subclass of
        `AbstractResqmlDataObject`.

    Returns
    -------
    str
        The content type string.
    """

    # Get class object instead of the instance.
    if type(obj) is not type:
        obj = type(obj)

    namespace = getattr(obj.Meta, "namespace", None) or getattr(
        obj.Meta, "target_namespace"
    )

    if namespace == "http://www.energistics.org/energyml/data/resqmlv2":
        return (
            f"application/x-resqml+xml;version={resqml_schema_version};"
            f"type={obj.__name__}"
        )
    elif namespace == "http://www.energistics.org/energyml/data/commonv2":
        return (
            f"application/x-eml+xml;version={common_schema_version};"
            f"type={obj.__name__}"
        )

    raise NotImplementedError(
        f"Namespace {namespace} from object {obj} is not supported"
    )
from_object classmethod
from_object(
    obj: AbstractResqmlDataObject,
    uuid_authority: None | str = None,
    version_string: None | str = None,
) -> Self

Class method setting up a DataObjectReference from a RESQML-object instance (subclass of AbstractResqmlDataObject). This populates the mandatory fields from the citation field of the object.

PARAMETER DESCRIPTION
obj

A subclass of the AbstractResqmlDataObject which contains a citation-field.

TYPE: AbstractResqmlDataObject

uuid_authority

See documentation of DataObjectReference. Default is None.

TYPE: None | str DEFAULT: None

version_string

See documentation of DataObjectReference. Default is None.

TYPE: None | str DEFAULT: None

RETURNS DESCRIPTION
Self

An instance of DataObjectReference with reference information on obj.

Source code in src/resqml_objects/v201/generated.py
@classmethod
def from_object(
    cls,
    obj: AbstractResqmlDataObject,
    uuid_authority: None | str = None,
    version_string: None | str = None,
) -> Self:
    """
    Class method setting up a `DataObjectReference` from a RESQML-object
    instance (subclass of `AbstractResqmlDataObject`). This populates the
    mandatory fields from the `citation` field of the object.

    Parameters
    ----------
    obj: AbstractResqmlDataObject
        A subclass of the `AbstractResqmlDataObject` which contains a
        `citation`-field.
    uuid_authority: None | str
        See documentation of `DataObjectReference`. Default is `None`.
    version_string: None | str
         See documentation of `DataObjectReference`. Default is `None`.

    Returns
    -------
    Self
        An instance of `DataObjectReference` with reference information on
        `obj`.
    """
    content_type = DataObjectReference.get_content_type_string(obj)

    return cls(
        content_type=content_type,
        title=obj.citation.title,
        uuid=obj.uuid,
        uuid_authority=uuid_authority,
        version_string=version_string,
    )
get_etp_data_object_uri
get_etp_data_object_uri(dataspace_path_or_uri: str) -> str

Method that sets up a valid ETP data object uri from a DataObjectReference-instance. This is a helper function for easier querying towards an ETP server when downloading parts of a model at a time.

PARAMETER DESCRIPTION
dataspace_path_or_uri

Either a full dataspace uri on the form "eml:///" or "eml:///dataspace('foo/bar')", or just the dataspace path (or name) – which looking at the previous two examples – is "" (empty) or "foo/bar".

TYPE: str

RETURNS DESCRIPTION
An ETP data object uri that be used to look up an object on an ETP

server.

Source code in src/resqml_objects/v201/generated.py
def get_etp_data_object_uri(self, dataspace_path_or_uri: str) -> str:
    """
    Method that sets up a valid ETP data object uri from a
    `DataObjectReference`-instance. This is a helper function for easier
    querying towards an ETP server when downloading parts of a model at a
    time.

    Parameters
    ----------
    dataspace_path_or_uri: str
        Either a full dataspace uri on the form `"eml:///"` or
        `"eml:///dataspace('foo/bar')"`, or just the dataspace path (or
        name) – which looking at the previous two examples – is `""`
        (empty) or "foo/bar".

    Returns
    -------
        An ETP data object uri that be used to look up an object on an ETP
        server.
    """

    domain_version = ""

    if self.content_type.startswith("application/x-resqml+xml"):
        domain_version = "resqml20"
    elif self.content_type.startswith("application/x-eml+xml"):
        domain_version = "eml20"
    else:
        raise NotImplementedError(
            f"Qualified type for '{self.content_type}' is not implemented"
        )

    m = re.search(OBJ_TYPE_PATTERN, self.content_type)

    if m is None:
        raise ValueError("Content type string does not contain a valid object name")

    obj_type = m.group("obj_type")

    if dataspace_path_or_uri.startswith("eml:///"):
        dataspace_uri = dataspace_path_or_uri
    elif not dataspace_path_or_uri:
        # Only two forward slashes (!!!) as the combination with the
        # `data_object_part` adds an extra forward slash.
        dataspace_uri = "eml://"
    else:
        dataspace_uri = f"eml:///dataspace('{dataspace_path_or_uri}')"

    data_object_part = f"{domain_version}.{obj_type}({self.uuid})"

    return f"{dataspace_uri}/{data_object_part}"

DataTransferSpeedUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BIT_S

bit per second

BYTE_S

byte per second

DiffusionCoefficientUom

Bases: Enum

ATTRIBUTE DESCRIPTION
M2_S

square metre per second

DigitalStorageUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BIT

bit

BYTE

byte

KIBYTE

kibibyte

MIBYTE

mebibyte

DimensionlessUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PERCENT_SIGN

percent

C_EUC

centieuclid

D_EUC

decieuclid

EEUC

exaeuclid

EUC

euclid

F_EUC

femtoeuclid

GEUC

gigaeuclid

K_EUC

kiloeuclid

MEUC

megaeuclid

M_EUC_1

millieuclid

N_EUC

nanoeuclid

P_EUC

picoeuclid

PPK

part per thousand

PPM

part per million

TEUC

teraeuclid

U_EUC

microeuclid

DipoleMomentUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_M

coulomb metre

DoseEquivalentUom

Bases: Enum

ATTRIBUTE DESCRIPTION
MREM

thousandth of rem

M_SV

millisievert

REM

rem

SV

sievert

DynamicViscosityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_P

centipoise

D_P

decipoise

DYNE_S_CM2

dyne second per square centimetre

EP

exapoise

F_P

femtopoise

GP

gigapoise

KGF_S_M2

thousand gram-force second per square metre

K_P

kilopoise

LBF_S_FT2

pound-force second per square foot

LBF_S_IN2

pound-force second per square inch

M_P

millipoise

MP_1

megapoise

M_PA_S

millipascal second

N_S_M2

newton second per square metre

N_P

nanopoise

P

poise

PA_S

pascal second

P_P

picopoise

PSI_S

psi second

TP

terapoise

U_P

micropoise

ElectricChargePerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_CM2

coulomb per square centimetre

C_M2

coulomb per square metre

C_MM2

coulomb per square millimetre

M_C_M2

millicoulomb per square metre

ElectricChargePerMassUom

Bases: Enum

ATTRIBUTE DESCRIPTION
A_S_KG

ampere second per kilogram

C_G

coulomb per gram

C_KG

coulomb per kilogram

ElectricChargePerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
A_S_M3

ampere second per cubic metre

C_CM3

coulomb per cubic centimetre

C_M3

coulomb per cubic metre

C_MM3

coulomb per cubic millimetre

ElectricChargeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
A_H

ampere hour

A_S

ampere second

C

coulomb

C_C

centicoulomb

D_C

decicoulomb

EC

exacoulomb

F_C

femtocoulomb

GC

gigacoulomb

K_C

kilocoulomb

MC

megacoulomb

M_C_1

millicoulomb

N_C

nanocoulomb

P_C

picocoulomb

TC

teracoulomb

U_C

microcoulomb

ElectricConductanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_S

centisiemens

D_S

decisiemens

ES

exasiemens

F_S

femtosiemens

GS

gigasiemens

K_S

kilosiemens

M_S

millisiemens

MS_1

megasiemens

N_S

nanosiemens

P_S

picosiemens

S

siemens

TS

terasiemens

U_S

microsiemens

ElectricConductivityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
K_S_M

kilosiemens per metre

M_S_CM

millisiemens per centimetre

M_S_M

millisiemens per metre

S_M

siemens per metre

ElectricCurrentDensityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
A_CM2

ampere per square centimetre

A_FT2

ampere per square foot

A_M2

ampere per square metre

A_MM2

ampere per square millimetre

M_A_CM2

milliampere per square centimetre

M_A_FT2

milliampere per square foot

U_A_CM2

microampere per square centimetre

U_A_IN2

microampere per square inch

ElectricCurrentUom

Bases: Enum

ATTRIBUTE DESCRIPTION
A

ampere

C_A

centiampere

D_A

deciampere

EA

exaampere

F_A

femtoampere

GA

gigaampere

K_A

kiloampere

M_A

milliampere

MA_1

megaampere

N_A

nanoampere

P_A

picoampere

TA

teraampere

U_A

microampere

ElectricFieldStrengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
M_V_FT

millivolt per foot

M_V_M

millivolt per metre

U_V_FT

microvolt per foot

U_V_M

microvolt per metre

V_M

volt per metre

ElectricPotentialDifferenceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_V

centivolt

D_V

decivolt

F_V

femtovolt

GV

gigavolt

K_V

kilovolt

M_V

millivolt

MV_1

megavolt

N_V

nanovolt

P_V

picovolt

TV

teravolt

U_V

microvolt

V

volt

ElectricResistancePerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
OHM_M

ohm per metre

UOHM_FT

microhm per foot

UOHM_M

microhm per metre

ElectricResistanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
COHM

centiohm

DOHM

deciohm

EOHM

exaohm

FOHM

femtoohm

GOHM

gigaohm

KOHM

kilohm

MOHM

megohm

MOHM_1

milliohm

NOHM

nanoohm

OHM

ohm

POHM

picoohm

TOHM

teraohm

UOHM

microohm

ElectricalResistivityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KOHM_M

kiloohm metre

NOHM_MIL2_FT

nanoohm square mil per foot

NOHM_MM2_M

nanoohm square milimetre per metre

OHM_CM

ohm centimetre

OHM_M

ohm metre

OHM_M2_M

ohm square metre per metre

ElectromagneticMomentUom

Bases: Enum

ATTRIBUTE DESCRIPTION
A_M2

ampere square metre

EnergyLengthPerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
J_M_M2

joule metre per square metre

KCAL_TH_M_CM2

thousand calorie metre per square centimetre

EnergyLengthPerTimeAreaTemperatureUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_IN_H_FT2_DELTA_F

BTU per (hour square foot delta Fahrenheit per inch)

J_M_S_M2_DELTA_K

joule metre per second square metre delta kelvin

K_J_M_H_M2_DELTA_K

kilojoule metre per hour square metre delta kelvin

W_M_DELTA_K

watt per metre delta kelvin

EnergyPerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
ERG_CM2

erg per square centimetre

J_CM2

joule per square centimetre

J_M2

joule per square metre

KGF_M_CM2

thousand gram-force metre per square centimetre

LBF_FT_IN2

foot pound-force per square inch

M_J_CM2

millijoule per square centimetre

M_J_M2

millijoule per square metre

N_M

newton per metre

EnergyPerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
J_M

joule per metre

MJ_M

megajoule per metre

EnergyPerMassPerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
MREM_H

thousandth of irem per hour

M_SV_H

millisievert per hour

REM_H

rem per hour

SV_H

sievert per hour

SV_S

sievert per second

EnergyPerMassUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_LBM

BTU per pound-mass

CAL_TH_G

calorie per gram

CAL_TH_KG

calorie per kilogram

CAL_TH_LBM

calorie per pound-mass

ERG_G

erg per gram

ERG_KG

erg per kilogram

HP_H_LBM

horsepower hour per pound-mass

J_G

joule per gram

J_KG

joule per kilogram

KCAL_TH_G

thousand calorie per gram

KCAL_TH_KG

thousand calorie per kilogram

K_J_KG

kilojoule per kilogram

K_W_H_KG

kilowatt hour per kilogram

LBF_FT_LBM

foot pound-force per pound-mass

MJ_KG

megajoule per kilogram

MW_H_KG

megawatt hour per kilogram

EnergyPerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_BBL

BTU per barrel

BTU_IT_FT3

BTU per cubic foot

BTU_IT_GAL_UK

BTU per UK gallon

BTU_IT_GAL_US

BTU per US gallon

CAL_TH_CM3

calorie per cubic centimetre

CAL_TH_M_L

calorie per millilitre

CAL_TH_MM3

calorie per cubic millimetre

ERG_CM3

erg per cubic centimetre

ERG_M3

erg per cubic metre

HP_H_BBL

horsepower hour per barrel

J_DM3

joule per cubic decimetre

J_M3

joule per cubic metre

KCAL_TH_CM3

thousand calorie per cubic centimetre

KCAL_TH_M3

thousand calorie per cubic metre

K_J_DM3

kilojoule per cubic decimetre

K_J_M3

kilojoule per cubic metre

K_W_H_DM3

kilowatt hour per cubic decimetre

K_W_H_M3

kilowatt hour per cubic metre

LBF_FT_BBL

foot pound-force per barrel

LBF_FT_GAL_US

foot pound-force per US gallon

MJ_M3

megajoule per cubic metre

MW_H_M3

megawatt hour per cubic metre

TONF_US_MI_BBL

US ton-force mile per barrel

EnergyUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_E6_BTU_IT

million BTU

A_J

attojoule

BTU_IT

British thermal unit

BTU_TH

thermochemical British thermal unit

BTU_UK

United Kingdom British thermal unit

CAL_IT

calorie [International Table]

CAL_TH

calorie

CCAL_TH

hundredth of calorie

CE_V

centielectronvolt

C_J

centijoule

DCAL_TH

tenth of calorie

DE_V

decielectronvolt

D_J

decijoule

ECAL_TH

million million million calorie

EE_V

exaelectronvolt

EJ

exajoule

ERG

erg

E_V

electronvolt

FCAL_TH

femtocalorie

FE_V

femtoelectronvolt

F_J

femtojoule

GCAL_TH

thousand million calorie

GE_V

gigaelectronvolt

GJ

gigajoule

GW_H

gigawatt hour

HP_H

horsepower hour

HP_METRIC_H

metric-horsepower hour

J

joule

KCAL_TH

thousand calorie

KE_V

kiloelectronvolt

K_J

kilojoule

K_W_H

kilowatt hour

MCAL_TH

million calorie

MCAL_TH_1

thousandth of calorie

ME_V

millielectronvolt

ME_V_1

megaelectronvolt

MJ

megajoule

M_J_1

millijoule

MW_H

megawatt hour

NCAL_TH

nanocalorie

NE_V

nanoelectronvolt

N_J

nanojoule

PCAL_TH

picocalorie

PE_V

picoelectronvolt

P_J

picojoule

QUAD

quad

TCAL_TH

million million calorie

TE_V

teraelectronvolt

THERM_EC

European Community therm

THERM_UK

United Kingdom therm

THERM_US

United States therm

TJ

terajoule

TW_H

terrawatt hour

UCAL_TH

millionth of calorie

UE_V

microelectronvolt

U_J

microjoule

ForceAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
DYNE_CM2

dyne square centimetre

KGF_M2

thousand gram-force square metre

K_N_M2

kilonewton square metre

LBF_IN2

pound-force square inch

M_N_M2

millinewton square metre

N_M2

newton square metre

PDL_CM2

poundal square centimetre

TONF_UK_FT2

UK ton-force square foot

TONF_US_FT2

US ton-force square foot

ForceLengthPerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KGF_M_M

thousand gram-force metre per metre

LBF_FT_IN

foot pound-force per inch

LBF_IN_IN

pound-force inch per inch

N_M_M

newton metre per metre

TONF_US_MI_FT

US ton-force mile per foot

ForcePerForceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PERCENT_SIGN

percent

EUC

euclid

KGF_KGF

thousand gram-force per kilogram-force

LBF_LBF

pound-force per pound-force

N_N

newton per newton

ForcePerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_01_LBF_FT

pound-force per hundred foot

VALUE_1_30_LBF_M

pound-force per thirty metre

VALUE_1_30_N_M

newton per thirty metre

DYNE_CM

dyne per centimetre

KGF_CM

thousand gram-force per centimetre

K_N_M

kilonewton per metre

LBF_FT

pound-force per foot

LBF_IN

pound-force per inch

M_N_KM

millinewton per kilometre

M_N_M

millinewton per metre

N_M

newton per metre

PDL_CM

poundal per centimetre

TONF_UK_FT

UK ton-force per foot

TONF_US_FT

US ton-force per foot

ForcePerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_001_PSI_FT

psi per thousand foot

VALUE_0_01_PSI_FT

psi per hundred foot

ATM_FT

standard atmosphere per foot

ATM_HM

standard atmosphere per hundred metre

ATM_M

standard atmosphere per metre

BAR_KM

bar per kilometre

BAR_M

bar per metre

GPA_CM

gigapascal per centimetre

K_PA_HM

kilopascal per hectometre

K_PA_M

kilopascal per metre

LBF_FT3

pound-force per cubic foot

LBF_GAL_US

pound-force per US gallon

MPA_M

megapascal per metre

N_M3

newton per cubic metre

PA_M

pascal per metre

PSI_FT

psi per foot

PSI_M

psi per metre

ForceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_10_K_N

ten kilonewton

C_N

centinewton

DA_N

dekanewton

D_N

decinewton

DYNE

dyne

EN

exanewton

F_N

femtonewton

GF

gram-force

GN

giganewton

H_N

hectonewton

KDYNE

kilodyne

KGF

thousand gram-force

KLBF

thousand pound-force

K_N

kilonewton

LBF

pound-force

MGF

million gram-force

M_N

millinewton

MN_1

meganewton

N

newton

N_N

nanonewton

OZF

ounce-force

PDL

poundal

P_N

piconewton

TN

teranewton

TONF_UK

UK ton-force

TONF_US

US ton-force

U_N

micronewton

FrequencyIntervalUom

Bases: Enum

ATTRIBUTE DESCRIPTION
O

octave

FrequencyUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_HZ

centihertz

D_HZ

decihertz

EHZ

exahertz

F_HZ

femtohertz

GHZ

gigahertz

HZ

hertz

K_HZ

kilohertz

M_HZ

millihertz

MHZ_1

megahertz

N_HZ

nanohertz

P_HZ

picohertz

THZ

terahertz

U_HZ

microhertz

HeatCapacityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
J_DELTA_K

joule per delta kelvin

HeatFlowRateUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_E6_BTU_IT_H

million BTU per hour

BTU_IT_H

BTU per hour

BTU_IT_MIN

BTU per minute

BTU_IT_S

BTU per second

CAL_TH_H

calorie per hour

EJ_A

exajoule per julian-year

ERG_A

erg per julian-year

GW

gigawatt

J_S

joule per second

KCAL_TH_H

thousand calorie per hour

K_W

kilowatt

LBF_FT_MIN

foot pound-force per minute

LBF_FT_S

foot pound-force per second

MJ_A

megajoule per julian-year

MW

megawatt

M_W_1

milliwatt

N_W

nanowatt

QUAD_A

quad per julian-year

TJ_A

terajoule per julian-year

TW

terawatt

UCAL_TH_S

millionth of calorie per second

U_W

microwatt

W

watt

HeatTransferCoefficientUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_H_FT2_DELTA_F

BTU per hour square foot delta Fahrenheit

BTU_IT_H_FT2_DELTA_R

BTU per hour square foot delta Rankine

BTU_IT_H_M2_DELTA_C

BTU per hour square metre delta Celsius

BTU_IT_S_FT2_DELTA_F

(BTU per second) per square foot delta Fahrenheit

CAL_TH_H_CM2_DELTA_C

calorie per hour square centimetre delta Celsius

CAL_TH_S_CM2_DELTA_C

calorie per second square centimetre delta Celsius

J_S_M2_DELTA_C

joule per second square metre delta Celsius

KCAL_TH_H_M2_DELTA_C

thousand calorie per hour square metre delta Celsius

K_J_H_M2_DELTA_K

kilojoule per hour square metre delta kelvin

K_W_M2_DELTA_K

kilowatt per square metre delta kelvin

W_M2_DELTA_K

watt per square metre delta kelvin

IlluminanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
FOOTCANDLE

footcandle

KLX

kilolux

LM_M2

lumen per square metre

LX

lux

InductanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_H

centihenry

D_H

decihenry

EH

exahenry

F_H

femtohenry

GH

gigahenry

H

henry

K_H

kilohenry

MH

megahenry

M_H_1

millihenry

N_H

nanohenry

TH

terahenry

U_H

microhenry

IsothermalCompressibilityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
DM3_K_W_H

cubic decimetre per kilowatt hour

DM3_MJ

cubic decimetre per megajoule

M3_K_W_H

cubic metre per kilowatt hour

M3_J

cubic metre per joule

MM3_J

cubic millimetre per joule

PT_UK_HP_H

UK pint per horsepower hour

KinematicViscosityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
CM2_S

square centimetre per second

C_ST

centistokes

FT2_H

square foot per hour

FT2_S

square foot per second

IN2_S

square inch per second

M2_H

square metre per hour

M2_S

square metre per second

MM2_S

square millimetre per second

PA_S_M3_KG

pascal second square metre per kilogram

ST

stokes

LengthPerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PERCENT_SIGN

percent

VALUE_0_01_FT_FT

foot per hundred foot

VALUE_1_30_M_M

metre per thirty metre

EUC

euclid

FT_FT

foot per foot

FT_IN

foot per inch

FT_M

foot per metre

FT_MI

foot per mile

KM_CM

kilometre per centimetre

M_CM

metre per centimetre

M_KM

metre per kilometre

M_M

metre per metre

MI_IN

mile per inch

LengthPerMassUom

Bases: Enum

ATTRIBUTE DESCRIPTION
FT_LBM

foot per pound-mass

M_KG

metre per kilogram

LengthPerPressureUom

Bases: Enum

ATTRIBUTE DESCRIPTION
FT_PSI

foot per psi

M_K_PA

metre per kilopascal

M_PA

metre per Pascal

LengthPerTemperatureUom

Bases: Enum

ATTRIBUTE DESCRIPTION
FT_DELTA_F

foot per delta Fahrenheit

M_DELTA_K

metre per delta kelvin

LengthPerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1000_FT_H

thousand foot per hour

VALUE_1000_FT_S

thousand foot per second

CM_A

centimetre per julian-year

CM_S

centimetre per second

DM_S

decimetre per second

FT_D

foot per day

FT_H

foot per hour

FT_MIN

foot per minute

FT_MS

foot per millisecond

FT_S

foot per second

FT_US

foot per microsecond

IN_A

inch per julian-year

IN_MIN

inch per minute

IN_S

inch per second

KM_H

kilometre per hour

KM_S

kilometre per second

KNOT

knot

M_D

metre per day

M_H

metre per hour

M_MIN

metre per minute

M_MS

metre per millisecond

M_S

metre per second

MI_H

mile per hour

MIL_A

mil per julian-year

MM_A

millimetre per julian-year

MM_S_1

millimetre per second

NM_S

nanometre per second

UM_S

micrometre per second

LengthPerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
FT_BBL

foot per barrel

FT_FT3

foot per cubic foot

FT_GAL_US

foot per US gallon

KM_DM3

kilometre per cubic decimetre

KM_L

kilometre per litre

M_M3

metre per cubic metre

MI_GAL_UK

mile per UK gallon

MI_GAL_US

mile per US gallon

LengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_1_FT

tenth of foot

VALUE_0_1_FT_US

tenth of US survey foot

VALUE_0_1_IN

tenth of inch

VALUE_0_1_YD

tenth of yard

VALUE_1_16_IN

sixteenth of inch

VALUE_1_2_FT

half of Foot

VALUE_1_32_IN

thirty-second of inch

VALUE_1_64_IN

sixty-fourth of inch

VALUE_10_FT

ten foot

VALUE_10_IN

ten inch

VALUE_10_KM

10 kilometre

VALUE_100_FT

hundred foot

VALUE_100_KM

100 kilometre

VALUE_1000_FT

thousand foot

VALUE_30_FT

thirty foot

VALUE_30_M

thirty metres

ANGSTROM

angstrom

CHAIN

chain

CHAIN_BN_A

British chain [Benoit 1895 A]

CHAIN_BN_B

British chain [Benoit 1895 B]

CHAIN_CLA

Clarke chain

CHAIN_IND37

Indian Chain [1937]

CHAIN_SE

British chain [Sears 1922]

CHAIN_SE_T

British chain [Sears 1922 truncated]

CHAIN_US

US survey chain

CM

centimetre

DAM

dekametre

DM

decimetre

EM

exametre

FATHOM

international fathom

FM

femtometre

FT

foot

FT_BN_A

British foot [Benoit 1895 A]

FT_BN_B

British foot [Benoit 1895 B]

FT_BR36

British foot [1936]

FT_BR65

British foot [1865]

FT_CLA

Clarke foot

FT_GC

Gold Coast foot

FT_IND

indian foot

FT_IND37

indian foot [1937]

FT_IND62

indian foot ]1962]

FT_IND75

indian foot [1975]

FT_SE

British foot [Sears 1922]

FT_SE_T

British foot [Sears 1922 truncated]

FT_US

US survey foot

FUR_US

furlong US survey

GM

gigametre

HM

hectometre

IN

inch

IN_US

US survey inch

KM

kilometre

LINK

link

LINK_BN_A

British link [Benoit 1895 A]

LINK_BN_B

British link [Benoit 1895 B]

LINK_CLA

Clarke link

LINK_SE

British link [Sears 1922]

LINK_SE_T

British link [Sears 1922 truncated]

LINK_US

US survey link

M

metre

M_GER

German legal metre

MI

mile

MI_NAUT

international nautical mile

MI_NAUT_UK

United Kingdom nautical mile

MI_US

US survey mile

MIL

mil

MM

megametre

MM_1

millimetre

NM

nanometre

PM

picometre

ROD_US

rod US Survey

TM

terametre

UM

micrometre

YD

yard

YD_BN_A

British yard [Benoit 1895 A]

YD_BN_B

British yard [Benoit 1895 B]

YD_CLA

Clarke yard

YD_IND

Indian yard

YD_IND37

Indian yard [1937]

YD_IND62

Indian yard [1962]

YD_IND75

Indian yard [1975]

YD_SE

British yard [Sears 1922]

YD_SE_T

British yard [Sears 1922 truncated]

YD_US

US survey yard

LightExposureUom

Bases: Enum

ATTRIBUTE DESCRIPTION
FOOTCANDLE_S

footcandle second

LX_S

lux second

LinearAccelerationUom

Bases: Enum

ATTRIBUTE DESCRIPTION
CM_S2

centimetre per square second

FT_S2

foot per second squared

GAL

galileo

GN

gravity

IN_S2

inch per second squared

M_S2

metre per second squared

M_GAL

milligalileo

MGN

thousandth of gravity

LinearThermalExpansionUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_DELTA_K

per delta kelvin

IN_IN_DELTA_F

inch per inch delta Fahrenheit

M_M_DELTA_K

metre per metre delta kelvin

MM_MM_DELTA_K

millimetre per millimetre delta kelvin

LogarithmicPowerRatioPerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
B_M

bel per metre

D_B_FT

decibel per foot

D_B_KM

decibel per kilometre

D_B_M

decibel per metre

LogarithmicPowerRatioUom

Bases: Enum

ATTRIBUTE DESCRIPTION
B

bel

D_B

decibel

LuminanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
CD_M2

candela per square metre

LuminousEfficacyUom

Bases: Enum

ATTRIBUTE DESCRIPTION
LM_W

lumen per watt

LuminousFluxUom

Bases: Enum

ATTRIBUTE DESCRIPTION
LM

lumen

LuminousIntensityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
CD

candela

KCD

kilocandela

MagneticDipoleMomentUom

Bases: Enum

ATTRIBUTE DESCRIPTION
WB_M

weber metre

MagneticFieldStrengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
A_M

ampere per metre

A_MM

ampere per millimetre

OE

oersted

MagneticFluxDensityPerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
GAUSS_CM

gauss per centimetre

M_T_DM

millitesla per decimetre

T_M

tesla per metre

MagneticFluxDensityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
CGAUSS

centigauss

C_T

centitesla

DGAUSS

decigauss

D_T

decitesla

EGAUSS

exagauss

ET

exatesla

FGAUSS

femtogauss

F_T

femtotesla

GAUSS

gauss

GGAUSS

gigagauss

GT

gigatesla

KGAUSS

kilogauss

K_T

kilotesla

MGAUSS

milligauss

MGAUSS_1

megagauss

M_T

millitesla

NGAUSS

nanogauss

N_T

nanotesla

PGAUSS

picogauss

P_T

picotesla

T

tesla

TGAUSS

teragauss

TT

teratesla

UGAUSS

microgauss

U_T

microtesla

MagneticFluxUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_WB

centiweber

D_WB

deciweber

EWB

exaweber

F_WB

femtoweber

GWB

gigaweber

K_WB

kiloweber

MWB

megaweber

M_WB_1

milliweber

N_WB

nanoweber

P_WB

picoweber

TWB

teraweber

U_WB

microweber

WB

weber

MagneticPermeabilityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
H_M

henry per metre

U_H_M

microhenry per metre

MagneticVectorPotentialUom

Bases: Enum

ATTRIBUTE DESCRIPTION
WB_M

weber per metre

WB_MM

weber per millimetre

MassLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KG_M

kilogram metre

LBM_FT

pound-mass foot

MassPerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_01_LBM_FT2

pound-mass per hundred square foot

KG_M2

kilogram per square metre

LBM_FT2

pound-mass per square foot

MG_M2

megagram per square metre

TON_US_FT2

US ton-mass per square foot

MassPerEnergyUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KG_K_W_H

kilogram per kilowatt hour

KG_J

kilogram per joule

KG_MJ

kilogram per megajoule

LBM_HP_H

pound-mass per horsepower hour

MG_J

milligram per joule

MassPerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KG_M_CM2

kilogram metre per square centimetre

KG_M

kilogram per metre

KLBM_IN

thousand pound-mass per inch

LBM_FT

pound-mass per foot

MG_IN

megagram per inch

MassPerMassUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PERCENT_SIGN

percent

MASS

percent [mass basis]

EUC

euclid

G_KG

gram per kilogram

G_T

gram per tonne

KG_KG

kilogram per kilogram

KG_SACK_94LBM

kilogram per 94-pound-sack

KG_T

kilogram per tonne

MG_G

milligram per gram

MG_KG

milligram per kilogram

NG_G

nanogram per gram

NG_MG

nanogram per milligram

PPK

part per thousand

PPM

part per million

PPM_MASS

part per million [mass basis]

UG_G

microgram per gram

UG_MG

microgram per milligram

MassPerTimePerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
G_FT_CM3_S

gram foot per cubic centimetre second

G_M_CM3_S

gram metre per cubic centimetre second

KG_M2_S

kilogram per square metre second

K_PA_S_M

kilopascal second per metre

LBM_FT2_H

pound-mass per square foot hour

LBM_FT2_S

pound-mass per square foot second

MPA_S_M

megapascal second per metre

MassPerTimePerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KG_M_S

kilogram per metre second

LBM_FT_H

pound-mass per hour foot

LBM_FT_S

pound-mass per second foot

PA_S

pascal second

MassPerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_E6_LBM_A

million pound-mass per julian-year

G_S

gram per second

KG_D

kilogram per day

KG_H

kilogram per hour

KG_MIN

kilogram per min

KG_S

kilogram per second

LBM_D

pound-mass per day

LBM_H

pound-mass per hour

LBM_MIN

pound-mass per minute

LBM_S

pound-mass per second

MG_A

megagram per julian-year

MG_D

megagram per day

MG_H

megagram per hour

MG_MIN

megagram per minute

T_A

tonne per julian-year

T_D

tonne per day

T_H

tonne per hour

T_MIN

tonne per minute

TON_UK_A

UK ton-mass per julian-year

TON_UK_D

UK ton-mass per day

TON_UK_H

UK ton-mass per hour

TON_UK_MIN

UK ton-mass per minute

TON_US_A

US ton-mass per julian-year

TON_US_D

US ton-mass per day

TON_US_H

US ton-mass per hour

TON_US_MIN

US ton-mass per minute

MassPerVolumePerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
G_CM4

gram per centimetre to the fourth power

KG_DM4

kilogram per decimetre to the fourth power

KG_M4

kilogram per metre to the fourth power

LBM_GAL_UK_FT

pound-mass per UK gallon foot

LBM_GAL_US_FT

pound-mass per US gallon foot

LBM_FT4

pound-mass per foot to the fourth power

PA_S2_M3

pascal second squared per cubic metre

MassPerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_001_LBM_BBL

pound-mass per thousand barrel

VALUE_0_001_LBM_GAL_UK

pound-mass per thousand UK gallon

VALUE_0_001_LBM_GAL_US

pound-mass per thousand US gallon

VALUE_0_01_GRAIN_FT3

grain per hundred cubic foot

VALUE_0_1_LBM_BBL

pound-mass per ten barrel

VALUE_10_MG_M3

ten thousand kilogram per cubic metre

G_CM3

gram per cubic centimetre

G_DM3

gram per cubic decimetre

G_GAL_UK

gram per UK gallon

G_GAL_US

gram per US gallon

G_L

gram per litre

G_M3

gram per cubic metre

GRAIN_FT3

grain per cubic foot

GRAIN_GAL_US

grain per US gallon

KG_DM3

kilogram per cubic decimetre

KG_L

kilogram per litre

KG_M3

kilogram per cubic metre

LBM_BBL

pound-mass per barrel

LBM_FT3

pound-mass per cubic foot

LBM_GAL_UK

pound-mass per UK gallon

LBM_GAL_US

pound-mass per US gallon

LBM_IN3

pound-mass per cubic inch

MG_DM3

milligram per cubic decimetre

MG_GAL_US

milligram per US gallon

MG_L

milligram per litre

MG_M3

milligram per cubic metre

MG_M3_1

megagram per cubic metre

T_M3

tonne per cubic metre

UG_CM3

microgram per cubic centimetre

MassUom

Bases: Enum

ATTRIBUTE DESCRIPTION
AG

attogram

CG

centigram

CT

carat

CWT_UK

UK hundredweight

CWT_US

US hundredweight

EG

exagram

FG

femtogram

G

gram

GG

gigagram

GRAIN

grain

HG

hectogram

KG

kilogram

KLBM

thousand pound-mass

LBM

pound-mass

MG

milligram

MG_1

megagram

NG

nanogram

OZM

ounce-mass

OZM_TROY

troy ounce-mass

PG

picogram

SACK_94LBM

94 pound-mass sack

T

tonne

TG

teragram

TON_UK

UK ton-mass

TON_US

US ton-mass

UG

microgram

MobilityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
D_PA_S

darcy per pascal second

D_C_P

darcy per centipoise

M_D_FT2_LBF_S

millidarcy square foot per pound-force second

M_D_IN2_LBF_S

millidarcy square inch per pound-force second

M_D_PA_S

millidarcy per pascal second

M_D_C_P

millidarcy per centipoise

TD_API_PA_S

teradarcy-API per pascal second

MolarEnergyUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_LBMOL

BTU per pound-mass-mole

J_MOL

joule per gram-mole

KCAL_TH_MOL

thousand calorie per gram-mole

K_J_KMOL

kilojoule per kilogram-mole

MJ_KMOL

megajoule per kilogram-mole

MolarHeatCapacityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_LBMOL_DELTA_F

BTU per pound-mass-mole delta Fahrenheit

CAL_TH_MOL_DELTA_C

calorie per gram-mole delta Celsius

J_MOL_DELTA_K

joule per gram-mole delta kelvin

K_J_KMOL_DELTA_K

kilojoule per kilogram-mole delta kelvin

MolarVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
DM3_KMOL

cubic decimetre per kilogram-mole

FT3_LBMOL

cubic foot per pound-mass-mole

L_KMOL

litre per kilogram-mole

L_MOL

litre per gram-mole

M3_KMOL

cubic metre per kilogram-mole

M3_MOL

cubic metre per gram-mole

MolecularWeightUom

Bases: Enum

ATTRIBUTE DESCRIPTION
G_MOL

gram per mole

KG_MOL

kilogram per mole

LBM_LBMOL

pound-mass per pound-mole

MomentOfForceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1000_LBF_FT

thousand foot pound-force

DA_N_M

dekanewton metre

D_N_M

decinewton metre

J

joule

KGF_M

thousand gram-force metre

K_N_M

kilonewton metre

LBF_FT

foot pound-force

LBF_IN

inch pound-force

LBM_FT2_S2

pound-mass square foot per second squared

N_M

newton metre

PDL_FT

foot poundal

TONF_US_FT

US ton-force foot

TONF_US_MI

US ton-force mile

MomentOfInertiaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KG_M2

kilogram square metre

LBM_FT2

pound-mass square foot

MomentumUom

Bases: Enum

ATTRIBUTE DESCRIPTION
KG_M_S

kilogram metre per second

LBM_FT_S

foot pound-mass per second

NormalizedPowerUom

Bases: Enum

ATTRIBUTE DESCRIPTION
B_W

bel watt

D_B_MW

decibel megawatt

D_B_M_W_1

decibel milliwatt

D_B_W

decibel watt

PermeabilityLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
D_FT

darcy foot

D_M

darcy metre

M_D_FT

millidarcy foot

M_D_M

millidarcy metre

TD_API_M

teradarcy-API metre

PermeabilityRockUom

Bases: Enum

ATTRIBUTE DESCRIPTION
D

darcy

D_API

darcy-API

M_D

millidarcy

TD_API

teradarcy-API

PermittivityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
F_M

farad per metre

U_F_M

microfarad per metre

PlaneAngleUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_001_SECA

angular millisecond

CCGR

centesimal-second

CGR

centesimal-minute

DEGA

angular degree

GON

gon

KRAD

kiloradian

MILA

angular mil

MINA

angular minute

MRAD

megaradian

MRAD_1

milliradian

RAD

radian

REV

revolution

SECA

angular second

URAD

microradian

PotentialDifferencePerPowerDropUom

Bases: Enum

ATTRIBUTE DESCRIPTION
V_B

volt per bel

V_D_B

volt per decibel

PowerPerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_H_FT2

(BTU per hour) per square foot

BTU_IT_S_FT2

BTU per second square foot

CAL_TH_H_CM2

calorie per hour square centimetre

HP_IN2

horsepower per square inch

HP_HYD_IN2

hydraulic-horsepower per square inch

K_W_CM2

kilowatt per square centimetre

K_W_M2

kilowatt per square metre

M_W_M2

milliwatt per square metre

UCAL_TH_S_CM2

millionth of calorie per second square centimetre

W_CM2

watt per square centimetre

W_M2

watt per square metre

W_MM2

watt per square millimetre

PowerPerPowerUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PERCENT_SIGN

percent

BTU_IT_HP_H

BTU per horsepower hour

EUC

euclid

W_K_W

watt per kilowatt

W_W

watt per watt

PowerPerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_H_FT3

BTU per hour cubic foot

BTU_IT_S_FT3

(BTU per second) per cubic foot

CAL_TH_H_CM3

calorie per hour cubic centimetre

CAL_TH_S_CM3

calorie per second cubic centimetre

HP_FT3

horsepower per cubic foot

K_W_M3

kilowatt per cubic metre

U_W_M3

microwatt per cubic metre

W_M3

watt per cubic metre

PowerUom

Bases: Enum

ATTRIBUTE DESCRIPTION
C_W

centiwatt

D_W

deciwatt

EW

exawatt

F_W

femtowatt

GW

gigawatt

HP

horsepower

HP_ELEC

electric-horsepower

HP_HYD

hydraulic-horsepower

HP_METRIC

metric-horsepower

K_W

kilowatt

MW

megawatt

M_W_1

milliwatt

N_W

nanowatt

P_W

picowatt

TON_REFRIG

ton-refrigeration

TW

terawatt

U_W

microwatt

W

watt

PressurePerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
ATM_H

standard atmosphere per hour

BAR_H

bar per hour

K_PA_H

kilopascal per hour

K_PA_MIN

kilopascal per min

MPA_H

megapascal per hour

PA_H

pascal per hour

PA_S

pascal per second

PSI_H

psi per hour

PSI_MIN

psi per minute

PressurePerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PA_M3

pascal per cubic metre

PSI2_D_C_P_FT3

psi squared day per centipoise cubic foot

PressureSquaredPerForceTimePerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_001_K_PA2_C_P

kilopascal squared per thousand centipoise

BAR2_C_P

bar squared per centipoise

K_PA2_C_P

kilopascal squared per centipoise

PA2_PA_S

pascal squared per pascal second

PSI2_C_P

psi squared per centipoise

PressureSquaredUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BAR2

bar squared

GPA2

gigapascal squared

K_PA2

kilopascal squared

KPSI2

(thousand psi) squared

PA2

pascal squared

PSI2

psi squared

PressureTimePerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PA_S_M3

pascal second per cubic metre

PSI_D_BBL

psi day per barrel

PressureUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_01_LBF_FT2

pound-force per hundred square foot

AT

technical atmosphere

ATM

standard atmosphere

BAR

bar

CM_H2_O_4DEG_C

centimetre of water at 4 degree Celsius

C_PA

centipascal

D_PA

decipascal

DYNE_CM2

dyne per square centimetre

EPA

exapascal

F_PA

femtopascal

GPA

gigapascal

HBAR

hundred bar

IN_H2_O_39DEG_F

inch of water at 39.2 degree Fahrenheit

IN_H2_O_60DEG_F

inch of water at 60 degree Fahrenheit

IN_HG_32DEG_F

inch of mercury at 32 degree Fahrenheit

IN_HG_60DEG_F

inch of mercury at 60 degree Fahrenheit

KGF_CM2

thousand gram-force per square centimetre

KGF_M2

thousand gram-force per square metre

KGF_MM2

thousand gram-force per square millimetre

K_N_M2

kilonewton per square metre

K_PA

kilopascal

KPSI

thousand psi

LBF_FT2

pound-force per square foot

MBAR

thousandth of bar

MM_HG_0DEG_C

millimetres of Mercury at 0 deg C

M_PA

millipascal

MPA_1

megapascal

MPSI

million psi

N_M2

newton per square metre

N_MM2

newton per square millimetre

N_PA

nanopascal

PA

pascal

P_PA

picopascal

PSI

pound-force per square inch

TONF_UK_FT2

UK ton-force per square foot

TONF_US_FT2

US ton-force per square foot

TONF_US_IN2

US ton-force per square inch

TORR

torr

TPA

terapascal

UBAR

millionth of bar

UM_HG_0DEG_C

micrometre of mercury at 0 degree Celsius

U_PA

micropascal

UPSI

millionth of psi

QuantityOfLightUom

Bases: Enum

ATTRIBUTE DESCRIPTION
LM_S

lumen second

RadianceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
W_M2_SR

watt per square metre steradian

RadiantIntensityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
W_SR

watt per steradian

ReciprocalAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_FT2

per square foot

VALUE_1_KM2

per square kilometre

VALUE_1_M2

per square metre

VALUE_1_MI2

per square mile

ReciprocalElectricPotentialDifferenceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_U_V

per microvolt

VALUE_1_V

per volt

ReciprocalForceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_LBF

per pound-force

VALUE_1_N

per Newton

ReciprocalLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_ANGSTROM

per angstrom

VALUE_1_CM

per centimetre

VALUE_1_FT

per foot

VALUE_1_IN

per inch

VALUE_1_M

per metre

VALUE_1_MI

per mile

VALUE_1_MM

per millimetre

VALUE_1_NM

per nanometre

VALUE_1_YD

per yard

VALUE_1_E_9_1_FT

per thousand million foot

ReciprocalMassTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_KG_S

per (kilogram per second)

BQ_KG

becquerel per kilogram

P_CI_G

picocurie per gram

ReciprocalMassUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_G

per gram

VALUE_1_KG

per kilogram

VALUE_1_LBM

per pound

ReciprocalPressureUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_BAR

per bar

VALUE_1_K_PA

per kilopascal

VALUE_1_PA

per pascal

VALUE_1_P_PA

per picopascal

VALUE_1_PSI

per psi

VALUE_1_UPSI

per millionth of psi

ReciprocalTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_A

per julian-year

VALUE_1_D

per day

VALUE_1_H

per hour

VALUE_1_MIN

per minute

VALUE_1_MS

per millisecond

VALUE_1_S

per second

VALUE_1_US

per microsecond

VALUE_1_WK

per week

ReciprocalVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_BBL

per barrel

VALUE_1_FT3

per cubic foot

VALUE_1_GAL_UK

per UK gallon

VALUE_1_GAL_US

per US gallon

VALUE_1_L

per litre

VALUE_1_M3

per cubic metre

ReluctanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_H

per henry

SecondMomentOfAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
CM4

centimetre to the fourth power

IN4

inch to the fourth power

M4

metre to the fourth power

SignalingEventPerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BD

baud

SolidAngleUom

Bases: Enum

ATTRIBUTE DESCRIPTION
SR

steradian

SpecificHeatCapacityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_LBM_DELTA_F

BTU per pound-mass delta Fahrenheit

BTU_IT_LBM_DELTA_R

BTU per pound-mass delta Rankine

CAL_TH_G_DELTA_K

calorie per gram delta kelvin

J_G_DELTA_K

joule per gram delta kelvin

J_KG_DELTA_K

joule per kilogram delta kelvin

KCAL_TH_KG_DELTA_C

thousand calorie per kilogram delta Celsius

K_J_KG_DELTA_K

kilojoule per kilogram delta kelvin

K_W_H_KG_DELTA_C

kilowatt hour per kilogram delta Celsius

TemperatureIntervalPerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_01_DELTA_F_FT

delta Fahrenheit per hundred foot

DELTA_C_FT

delta Celsius per foot

DELTA_C_HM

delta Celsius per hectometre

DELTA_C_KM

delta Celsius per kilometre

DELTA_C_M

delta Celsius per metre

DELTA_F_FT

delta Fahrenheit per foot

DELTA_F_M

delta Fahrenheit per metre

DELTA_K_KM

delta kelvin per kilometre

DELTA_K_M

delta kelvin per metre

TemperatureIntervalPerPressureUom

Bases: Enum

ATTRIBUTE DESCRIPTION
DELTA_C_K_PA

delta Celsius per kilopascal

DELTA_F_PSI

delta Fahrenheit per psi

DELTA_K_PA

delta kelvin per Pascal

TemperatureIntervalPerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
DELTA_C_H

delta Celsius per hour

DELTA_C_MIN

delta Celsius per minute

DELTA_C_S

delta Celsius per second

DELTA_F_H

delta Fahrenheit per hour

DELTA_F_MIN

delta Fahrenheit per minute

DELTA_F_S

delta Fahrenheit per second

DELTA_K_S

delta kelvin per second

TemperatureIntervalUom

Bases: Enum

ATTRIBUTE DESCRIPTION
DELTA_C

delta Celsius

DELTA_F

delta Fahrenheit

DELTA_K

delta kelvin

DELTA_R

delta Rankine

ThermalConductanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
W_DELTA_K

watt per delta kelvin

ThermalConductivityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_H_FT_DELTA_F

BTU per hour foot delta Fahrenheit

CAL_TH_H_CM_DELTA_C

calorie per hour centimetre delta Celsius

CAL_TH_S_CM_DELTA_C

calorie per second centimetre delta Celsius

KCAL_TH_H_M_DELTA_C

thousand calorie per hour metre delta Celsius

W_M_DELTA_K

watt per metre delta kelvin

ThermalDiffusivityUom

Bases: Enum

ATTRIBUTE DESCRIPTION
CM2_S

square centimetre per second

FT2_H

square foot per hour

FT2_S

square foot per second

IN2_S

square inch per second

M2_H

square metre per hour

M2_S

square metre per second

MM2_S

square millimetre per second

ThermalInsulanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
DELTA_C_M2_H_KCAL_TH

delta Celsius square metre hour per thousand calory

DELTA_F_FT2_H_BTU_IT

delta Fahrenheit square foot hour per BTU

DELTA_K_M2_K_W

delta kelvin square metre per kilowatt

DELTA_K_M2_W

delta kelvin square metre per watt

ThermalResistanceUom

Bases: Enum

ATTRIBUTE DESCRIPTION
DELTA_K_W

delta kelvin per watt

ThermodynamicTemperatureUom

Bases: Enum

ATTRIBUTE DESCRIPTION
DEG_C

degree Celsius

DEG_F

degree Fahrenheit

DEG_R

degree Rankine

K

degree kelvin

TimePerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_001_H_FT

hour per thousand foot

H_KM

hour per kilometre

MIN_FT

minute per foot

MIN_M

minute per metre

MS_CM

millisecond per centimetre

MS_FT

millisecond per foot

MS_IN

millisecond per inch

MS_M

millisecond per metre

NS_FT

nanosecond per foot

NS_M

nanosecond per metre

S_CM

second per centimetre

S_FT

second per foot

S_IN

second per inch

S_M

second per metre

US_FT

microsecond per foot

US_IN

microsecond per inch

US_M

microsecond per metre

TimePerMassUom

Bases: Enum

ATTRIBUTE DESCRIPTION
S_KG

second per kilogram

TimePerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PERCENT_SIGN

percent

EUC

euclid

MS_S

millisecond per second

S_S

second per second

TimePerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_001_D_FT3

day per thousand cubic foot

D_BBL

day per barrel

D_FT3

day per cubic foot

D_M3

day per cubic metre

H_FT3

hour per cubic foot

H_M3

hour per cubic metre

S_FT3

second per cubic foot

S_L

second per litre

S_M3

second per cubic metre

S_QT_UK

second per UK quart

S_QT_US

second per US quart

TimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_2_MS

half of millisecond

VALUE_100_KA_T

hundred thousand tropical-year

A

julian-year

A_T

tropical-year

CA

hundredth of julian-year

CS

centisecond

D

day

DS

decisecond

EA_T

million million million tropical-year

FA

femtojulian-year

GA_T

thousand million tropical-year

H

hour

HS

hectosecond

KA_T

thousand tropical-year

MA_T

million tropical-year

MIN

minute

MS

millisecond

NA

nanojulian-year

NS

nanosecond

PS

picosecond

S

second

TA_T

million million tropical-year

US

microsecond

WK

week

VerticalDirection

Bases: Enum

ATTRIBUTE DESCRIPTION
UP

Values are positive when moving away from the center of the Earth.

DOWN

Values are positive when moving toward the center of the Earth.

VolumeFlowRatePerVolumeFlowRateUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PERCENT_SIGN

percent

BBL_D_BBL_D

(barrel per day) per (barrel per day)

M3_D_M3_D

(cubic metre per day) per (cubic metre per day)

M3_S_M3_S

(cubic metre per second) per (cubic metre per second)

VALUE_1_E6_FT3_D_BBL_D

(million cubic foot per day) per (barrel per day)

EUC

euclid

VolumePerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_E6_BBL_ACRE

million barrel per acre

BBL_ACRE

barrel per acre

FT3_FT2

cubic foot per square foot

M3_M2

cubic metre per square metre

VolumePerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_01_DM3_KM

cubic decimetre per hundred kilometre

VALUE_0_01_L_KM

litre per hundred kilometre

BBL_FT

barrel per foot

BBL_IN

barrel per inch

BBL_MI

barrel per mile

DM3_M

cubic decimetre per metre

FT3_FT

cubic foot per foot

GAL_UK_MI

UK gallon per mile

GAL_US_FT

US gallon per foot

GAL_US_MI

US gallon per mile

IN3_FT

cubic inch per foot

L_M

litre per metre

M3_KM

cubic metre per kilometre

M3_M

cubic metre per metre

VolumePerMassUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_0_01_L_KG

litre per hundred kilogram

BBL_TON_UK

barrel per UK ton-mass

BBL_TON_US

barrel per US ton-mass

CM3_G

cubic centimetre per gram

DM3_KG

cubic decimetre per kilogram

DM3_T

cubic decimetre per ton

FT3_KG

cubic foot per kilogram

FT3_LBM

cubic foot per pound-mass

FT3_SACK_94LBM

cubic foot per 94-pound-sack

GAL_UK_LBM

UK gallon per pound-mass

GAL_US_LBM

US gallon per pound-mass

GAL_US_SACK_94LBM

US gallon per 94-pound-sack

GAL_US_TON_UK

US gallon per UK ton-mass

GAL_US_TON_US

US gallon per US ton-mass

L_KG

litre per kilogram

L_T

litre per tonne

L_TON_UK

litre per UK ton-mass

M3_G

cubic metre per gram

M3_KG

cubic metre per kilogram

M3_T

cubic metre per tonne

M3_TON_UK

cubic metre per UK ton-mass

M3_TON_US

cubic metre per US ton-mass

VolumePerPressureUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BBL_PSI

barrel per psi

M3_K_PA

cubic metre per kilopascal

M3_PA

cubic metre per Pascal

VolumePerRotationUom

Bases: Enum

ATTRIBUTE DESCRIPTION
FT3_RAD

cubic foot per radian

M3_RAD

cubic metre per radian

M3_REV

cubic metre per revolution

VolumePerTimeLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1000_BBL_FT_D

thousand barrel foot per day

VALUE_1000_M4_D

thousand (cubic metre per day) metre

M4_S

metre to the fourth power per second

VolumePerTimePerAreaUom

Bases: Enum

ATTRIBUTE DESCRIPTION
FT3_MIN_FT2

cubic foot per minute square foot

FT3_S_FT2

cubic foot per second square foot

GAL_UK_H_FT2

UK gallon per hour square foot

GAL_UK_H_IN2

UK gallon per hour square inch

GAL_UK_MIN_FT2

UK gallon per minute square foot

GAL_US_H_FT2

US gallon per hour square foot

GAL_US_H_IN2

US gallon per hour square inch

GAL_US_MIN_FT2

US gallon per minute square foot

M3_S_M2

cubic metre per second square metre

VolumePerTimePerLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1000_FT3_D_FT

(thousand cubic foot per day) per foot

VALUE_1000_M3_D_M

(thousand cubic metre per day) per metre

VALUE_1000_M3_H_M

(thousand cubic metre per hour) per metre

BBL_D_FT

barrel per day foot

FT3_D_FT

(cubic foot per day) per foot

GAL_UK_H_FT

UK gallon per hour foot

GAL_UK_H_IN

UK gallon per hour inch

GAL_UK_MIN_FT

UK gallon per minute foot

GAL_US_H_FT

US gallon per hour foot

GAL_US_H_IN

US gallon per hour inch

GAL_US_MIN_FT

US gallon per minute foot

M3_D_M

(cubic metre per day) per metre

M3_H_M

(cubic metre per hour) per metre

M3_S_FT

(cubic metre per second) per foot

M3_S_M

cubic metre per second metre

VolumePerTimePerPressureLengthUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BBL_FT_PSI_D

barrel per day foot psi

FT3_FT_PSI_D

cubic foot per day foot psi

M2_K_PA_D

square metre per kilopascal day

M2_PA_S

square metre per pascal second

VolumePerTimePerPressureUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1000_FT3_PSI_D

(thousand cubic foot per day) per psi

BBL_K_PA_D

(barrel per day) per kilopascal

BBL_PSI_D

(barrel per day) per psi

L_BAR_MIN

(litre per minute) per bar

M3_BAR_D

(cubic metre per day) per bar

M3_BAR_H

(cubic metre per hour) per bar

M3_BAR_MIN

(cubic metre per minute) per bar

M3_K_PA_D

(cubic metre per day) per kilopascal

M3_K_PA_H

(cubic metre per hour) per kilopascal

M3_PA_S

cubic metre per pascal second

M3_PSI_D

(cubic metre per day) per psi

VolumePerTimePerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BBL_D2

(barrel per day) per day

BBL_H2

(barrel per hour) per hour

DM3_S2

(cubic decimetre per second) per second

FT3_D2

(cubic foot per day) per day

FT3_H2

(cubic foot per hour) per hour

FT3_MIN2

(cubic foot per minute) per minute

FT3_S2

(cubic foot per second) per second

GAL_UK_H2

(UK gallon per hour) per hour

GAL_UK_MIN2

(UK gallon per minute) per minute

GAL_US_H2

(US gallon per hour) per hour

GAL_US_MIN2

(US gallon per minute) per minute

L_S2

(litre per second) per second

M3_D2

(cubic metre per day) per day

M3_S2

cubic metre per second squared

VolumePerTimePerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BBL_D_ACRE_FT

barrel per day acre foot

M3_S_M3

cubic metre per time cubic metre

VolumePerTimeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_30_CM3_MIN

cubic centimetre per thirty minute

VALUE_1000_BBL_D

thousand barrel per day

VALUE_1000_FT3_D

thousand cubic foot per day

VALUE_1000_M3_D

thousand cubic metre per day

VALUE_1000_M3_H

thousand cubic metre per hour

VALUE_1_E6_BBL_D

million barrel per day

VALUE_1_E6_FT3_D

million cubic foot per day

VALUE_1_E6_M3_D

million cubic metre per day

BBL_D

barrel per day

BBL_H

barrel per hour

BBL_MIN

barrel per minute

CM3_H

cubic centimetre per hour

CM3_MIN

cubic centimetre per minute

CM3_S

cubic centimetre per second

DM3_S

cubic decimetre per second

FT3_D

cubic foot per day

FT3_H

cubic foot per hour

FT3_MIN

cubic foot per minute

FT3_S

cubic foot per second

GAL_UK_D

UK gallon per day

GAL_UK_H

UK gallon per hour

GAL_UK_MIN

UK gallon per minute

GAL_US_D

US gallon per day

GAL_US_H

US gallon per hour

GAL_US_MIN

US gallon per minute

L_H

litre per hour

L_MIN

litre per minute

L_S

litre per second

M3_D

cubic metre per day

M3_H

cubic metre per hour

M3_MIN

cubic metre per minute

M3_S

cubic metre per second

VolumePerVolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
PERCENT_SIGN

percent

VOL

percent [volume basis]

VALUE_0_001_BBL_FT3

barrel per thousand cubic foot

VALUE_0_001_BBL_M3

barrel per thousand cubic metre

VALUE_0_001_GAL_UK_BBL

UK gallon per thousand barrel

VALUE_0_001_GAL_UK_GAL_UK

UK gallon per thousand UK gallon

VALUE_0_001_GAL_US_BBL

US gallon per thousand barrel

VALUE_0_001_GAL_US_FT3

US gallon per thousand cubic foot

VALUE_0_001_GAL_US_GAL_US

US gallon per thousand US gallon

VALUE_0_001_PT_UK_BBL

UK pint per thousand barrel

VALUE_0_01_BBL_BBL

barrel per hundred barrel

VALUE_0_1_GAL_US_BBL

US gallon per ten barrel

VALUE_0_1_L_BBL

litre per ten barrel

VALUE_0_1_PT_US_BBL

US pint per ten barrel

VALUE_1000_FT3_BBL

thousand cubic foot per barrel

VALUE_1000_M3_M3

thousand cubic metre per cubic metre

VALUE_1_E_6_ACRE_FT_BBL

acre foot per million barrel

VALUE_1_E_6_BBL_FT3

barrel per million cubic foot

VALUE_1_E_6_BBL_M3

barrel per million cubic metre

VALUE_1_E6_BBL_ACRE_FT

million barrel per acre foot

VALUE_1_E6_FT3_ACRE_FT

million cubic foot per acre foot

VALUE_1_E6_FT3_BBL

million cubic foot per barrel

BBL_ACRE_FT

barrel per acre foot

BBL_BBL

barrel per barrel

BBL_FT3

barrel per cubic foot

BBL_M3

barrel per cubic metre

C_EUC

centieuclid

CM3_CM3

cubic centimetre per cubic centimetre

CM3_L

cubic centimetre per litre

CM3_M3

cubic centimetre per cubic metre

DM3_M3

cubic decimetre per cubic metre

EUC

euclid

FT3_BBL

cubic foot per barrel

FT3_FT3

cubic foot per cubic foot

GAL_UK_FT3

UK gallon per cubic foot

GAL_US_BBL

US gallon per barrel

GAL_US_FT3

US gallon per cubic foot

L_M3

litre per cubic metre

M3_HA_M

cubic metre per hectare metre

M3_BBL

cubic metre per barrel

M3_M3

cubic metre per cubic metre

M_L_GAL_UK

millilitre per UK gallon

M_L_GAL_US

millilitre per US gallon

M_L_M_L

millilitre per millilitre

PPK

part per thousand

PPM

part per million

PPM_VOL

part per million [volume basis]

VolumeUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1000_BBL

thousand barrel

VALUE_1000_FT3

thousand cubic foot

VALUE_1000_GAL_UK

thousand UK gallon

VALUE_1000_GAL_US

thousand US gallon

VALUE_1000_M3

thousand cubic metre

VALUE_1_E_6_GAL_US

millionth of US gallon

VALUE_1_E12_FT3

million million cubic foot

VALUE_1_E6_BBL

million barrel

VALUE_1_E6_FT3

million cubic foot

VALUE_1_E6_M3

million cubic metre

VALUE_1_E9_BBL

thousand million barrel

VALUE_1_E9_FT3

thousand million cubic foot

ACRE_FT

acre foot

BBL

barrel

CM3

cubic centimetre

DM3

cubic decimetre

FLOZ_UK

UK fluid-ounce

FLOZ_US

US fluid-ounce

FT3

cubic foot

GAL_UK

UK gallon

GAL_US

US gallon

HA_M

hectare metre

H_L

hectolitre

IN3

cubic inch

KM3

cubic kilometre

L

litre

M3

cubic metre

MI3

cubic mile

M_L

millilitre

MM3

cubic millimetre

PT_UK

UK pint

PT_US

US pint

QT_UK

UK quart

QT_US

US quart

UM2_M

square micrometre metre

YD3

cubic yard

VolumetricHeatTransferCoefficientUom

Bases: Enum

ATTRIBUTE DESCRIPTION
BTU_IT_H_FT3_DELTA_F

BTU per hour cubic foot delta Fahrenheit

BTU_IT_S_FT3_DELTA_F

(BTU per second) per cubic foot delta Fahrenheit

K_W_M3_DELTA_K

killowatt per cubic metre delta kelvin

W_M3_DELTA_K

watt per cubic metre delta kelvin

VolumetricThermalExpansionUom

Bases: Enum

ATTRIBUTE DESCRIPTION
VALUE_1_DELTA_C

per delta Celsius

VALUE_1_DELTA_F

per delta Fahrenheit

VALUE_1_DELTA_K

per delta kelvin

VALUE_1_DELTA_R

per delta Rankine

VALUE_1_E_6_M3_M3_DELTA_C

(cubic metre per million cubic metre) per delta Celsius

VALUE_1_E_6_M3_M3_DELTA_F

(cubic metre per million cubic metre) per delta Fahrenheit

M3_M3_DELTA_K

cubic metre per cubic metre delta kelvin

PPM_VOL_DELTA_C

(part per million [volume basis]) per delta Celsius

PPM_VOL_DELTA_F

(part per million [volume basis)] per delta Fahrenheit

AbstractContactRepresentationPart dataclass

AbstractContactRepresentationPart(*, index: int)

Parent class of the sealed and nonsealed contact elements.

PARAMETER DESCRIPTION
index

The index of the contact. Indicates identity of the contact in the surface framework context. It is used for contact identities and to find the interpretation of this particular contact.

TYPE: int

AbstractParameterKey dataclass

AbstractParameterKey()

Abstract class describing a key used to identify a parameter value.

When multiple values are provided for a given parameter, provides a way to identify the parameter through its association with an object, a time index...

AbstractParametricLineArray dataclass

AbstractParametricLineArray()

Defines an array of parametric lines.

The array size is obtained from context. In the current schema, this may be as simple as a 1D array (#Lines=count) or a 2D array #Lines = NIL x NJL for an IJK grid representation.

AbstractPoint3dArray dataclass

AbstractPoint3dArray()

The abstract class of 3D points implemented in a single fashion for the schema.

Abstraction allows a variety of instantiations for efficiency or to implicitly provide additional geometric information about a data- object. For example, parametric points can be used to implicitly define a wellbore trajectory using an underlying parametric line, by the specification of the control points along the parametric line. The dimensionality of the array of 3D points is based on context within an instance.

AbstractValueArray dataclass

AbstractValueArray()

Generic representation of an array of numeric, Boolean, and string values.

Each derived element provides specialized implementation for specific content types or for optimization of the representation.

BoundaryRelation

Bases: Enum

The enumerated attributes of a horizon.

ATTRIBUTE DESCRIPTION
CONFORMABLE

If used uniquely, then it means the horizon is conformable above and below. If used with unconformity, then it means partial unconformity.

UNCONFORMABLE_BELOW_AND_ABOVE

UNCONFORMABLE_ABOVE

If used with conformable, then it means partial unconformity.

UNCONFORMABLE_BELOW

If used with conformable, then it means partial unconformity.

CellShape

Bases: Enum

Used to indicate that all cells are of a uniform topology, i.e., have the same number of nodes per cell.

This information is supplied by the RESQML writer to indicate the complexity of the grid geometry, as an aide to the RESQML reader. If a specific cell shape is not appropriate, then use polyhedral. BUSINESS RULE: Should be consistent with the actual geometry of the grid.

ATTRIBUTE DESCRIPTION
TETRAHEDRAL

All grid cells are constrained to have only 4 nodes/cell with 4 faces/cell, 3 nodes/face, 4 nodes/cell for all cells (degeneracy allowed).

PYRAMIDAL

All grid cells are constrained to have only 5 nodes/cell with 5 faces/cell, with 1 quadrilateral face and 4 triangular faces.

PRISM

All grid cells are constrained to have 6 nodes/cell with 5 faces/cell, with 3 quadrilateral faces and 2 non-adjacent triangular faces, as in a column layer grid with triangular columns.

HEXAHEDRAL

All grid cells are constrained to have 8 nodes/cell with 6 faces/cell, 4 nodes/face, 8 nodes/cell for all cells (degeneracy allowed). Equivalent to IJK grid cells.

POLYHEDRAL

If the cell geometry is not of a more specific kind, use polyhedral.

ColumnShape

Bases: Enum

Used to indicate that all columns are of a uniform topology, i.e., have the same number of faces per column.

This information is supplied by the RESQML writer to indicate the complexity of the grid geometry, as an aide to the RESQML reader. If a specific column shape is not appropriate, then use polygonal. BUSINESS RULE: Should be consistent with the actual geometry of the grid.

ATTRIBUTE DESCRIPTION
TRIANGULAR

All grid columns have 3 sides.

QUADRILATERAL

All grid columns have 4 sides. Includes tartan and corner point grids.

POLYGONAL

At least one grid column is a polygon, N>4.

ContactRelationship

Bases: Enum

The enumerations that specify the role of the contacts in a contact interpretation as described in the attributes below.

ATTRIBUTE DESCRIPTION
FRONTIER_FEATURE_TO_FRONTIER_FEATURE

A contact between two frontier features to close a volume of interest.

GENETIC_BOUNDARY_TO_FRONTIER_FEATURE

A linear contact between a genetic boundary interpretation and a frontier feature (horizon/frontier contact).

GENETIC_BOUNDARY_TO_GENETIC_BOUNDARY

A linear contact between two genetic boundary interpretations (horizon/horizon contact).

GENETIC_BOUNDARY_TO_TECTONIC_BOUNDARY

A linear contact between a genetic boundary interpretation and a tectonic boundary interpretation (horizon/fault contact).

STRATIGRAPHIC_UNIT_TO_FRONTIER_FEATURE

A surface contact between a stratigraphic unit interpretation and a frontier feature (contact closing a volume on a frontier feature that is a technical feature).

STRATIGRAPHIC_UNIT_TO_STRATIGRAPHIC_UNIT

A surface contact between two stratigraphic unit interpretations (unit/unit contact).

TECTONIC_BOUNDARY_TO_FRONTIER_FEATURE

A linear contact between a tectonic boundary interpretation and a frontier feature (fault/frontier contact).

TECTONIC_BOUNDARY_TO_GENETIC_BOUNDARY

A linear contact between a tectonic boundary interpretation and a genetic boundary interpretation (fault/horizon contact).

TECTONIC_BOUNDARY_TO_TECTONIC_BOUNDARY

A linear contact between two tectonic boundary interpretations (fault/fault contact).

ContactSide

Bases: Enum

Enumeration that specifies the location of the contacts, chosen from the attributes listed below.

For example, if you specify contact between a horizon and a fault, you can specify if the contact is on the foot wall side or the hanging wall side of the fault, and if the fault is splitting both sides of a horizon or the older side only. From Wikipedia: http://en.wikipedia.org/wiki/Foot_wall CC-BY-SA-3.0-MIGRATED; GFDL-WITH-DISCLAIMERS Released under the GNU Free Documentation License.

ATTRIBUTE DESCRIPTION
FOOTWALL

The footwall side of the fault. See picture.

HANGING_WALL

The hanging wall side of the fault. See picture.

NORTH

For a vertical fault, specification of the north side.

SOUTH

For a vertical fault, specification of the south side.

EAST

For a vertical fault, specification of the east side.

WEST

For a vertical fault, specification of the west side.

YOUNGER

Indicates that a fault splits a genetic boundary on its younger side.

OLDER

Indicates that a fault splits a genetic boundary on its older side.

BOTH

Indicates that a fault splits both sides of a genetic feature.

ContactVerb

Bases: Enum

Enumerations for the verbs that can be used to define the impact on the construction of the model of the geological event that created the binary contact.

ATTRIBUTE DESCRIPTION
SPLITS

Specifies that the fault has opened a pair of fault lips in a horizon.

INTERRUPTS

Operation on which an “unconformable” genetic boundary interpretation interrupts another genetic boundary interpretation or a stratigraphic unit interpretation.

CONTAINS

Precise use of this attribute to be determined during testing.

CONFORMS

Defines surface contact between two stratigraphic units.

ERODES

Defines surface contact between two stratigraphic units.

STOPS_AT

Defines if a tectonic boundary interpretation stops at another tectonic boundary interpretation. Also used for genetic unit to frontier feature, fault to frontier feature, and sedimentary unit to frontier feature.

CROSSES

Defines if a tectonic boundary interpretation crosses another tectonic boundary interpretation.

INCLUDES

Precise use of this attribute will be determined during testing.

DepositionMode

Bases: Enum

The enumerated attributes of a horizon.

Domain

Bases: Enum

Enumeration for the feature interpretation to specify if the measurement is in the seismic time or depth domain or if it is derived from a laboratory measurement.

ATTRIBUTE DESCRIPTION
DEPTH

Position defined by measurements in the depth domain.

TIME

Position based on geophysical measurements in two-way time (TWT).

MIXED

DoubleLookup dataclass

DoubleLookup(*, key: float, value: float)

(key,value) pairs for a lookup table.

PARAMETER DESCRIPTION
key

Input to a table lookup.

TYPE: float

value

Output from a table lookup.

TYPE: float

Facet

Bases: Enum

Enumerations of the type of qualifier that applies to a property type to provide additional context about the nature of the property.

For example, may include conditions, direction, qualifiers, or statistics. Facets are used in RESQML to provide qualifiers to existing property types, which minimizes the need to create specialized property types.

ATTRIBUTE DESCRIPTION
CONDITIONS

Indicates condition of how the property was acquired, e.g., distinguishing surface condition of a fluid compared to reservoir conditions.

DIRECTION

Indicates that the property is directional. Common values are X, Y, or Z for vectors; I, J, or K for properties on a grid; or tensorial coordinates, e.g., XX or IJ. For example, vertical permeability vs. horizontal permeability.

NETGROSS

Indicates that the property is of kind net or gross, i.e., indicates that the spatial support of a property is averaged only over the net rock or all of the rock. rock or all of the rock.

QUALIFIER

Used to capture any other context not covered by the other facet types listed here.

STATISTICS

Indicates values such as minimum, maximum, average, etc.

WHAT

Indicates the element that is measured, for example, the concentration of a mineral.

FluidContact

Bases: Enum

Enumerated values used to indicate a specific type of fluid boundary feature.

See attributes below.

ATTRIBUTE DESCRIPTION
FREE_WATER_CONTACT

A surface defined by vanishing capillary pressure between the water and hydrocarbon phases.

GAS_OIL_CONTACT

A surface defined by vanishing capillary pressure between the gas and oil hydrocarbon phases.

GAS_WATER_CONTACT

A surface defined by vanishing capillary pressure between the water and gas hydrocarbon phases.

SEAL

Identifies a break in the hydrostatic column.

WATER_OIL_CONTACT

A surface defined by vanishing capillary pressure between the water and oil hydrocarbon phases.

FluidMarker

Bases: Enum

The various fluid a well marker can indicate.

GeneticBoundaryKind

Bases: Enum

Enumerations used to indicate a specific type of genetic boundary feature.

See attributes below. Note that a genetic boundary has a younger side and an older side.

ATTRIBUTE DESCRIPTION
GEOBODY_BOUNDARY

An interface between a geobody and other geologic objects.

HORIZON

An interface associated with a stratigraphic unit, which could be the top or bottom of the unit.

Geobody3dShape

Bases: Enum

The enumerated attributes of a horizon.

GeologicBoundaryKind

Bases: Enum

The various geologic boundary a well marker can indicate.

GeologicUnitMaterialImplacement

Bases: Enum

The enumerated attributes of a horizon.

GridGeometryAttachment

Bases: Enum

Indexable grid elements to which point geometry may be attached to describe additional grid geometry.

ATTRIBUTE DESCRIPTION
CELLS

Geometry may be attached to cells to distort the geometry of that specific cell, only (finite element grid).

EDGES

Geometry may be attached to edges to distort the geometry of all cells that refer to that edge (finite element grid). BUSINESS RULE: The edges indexing must be known or defined in the grid representation if geometry is attached to the edges.

FACES

Geometry may be attached to faces to distort the geometry of all cells that refer to that face (finite element grid). BUSINESS RULE: The faces indexing must be known or defined in the grid representation if geometry is attached to the faces.

HINGE_NODE_FACES

For column layer grids, these are the K faces. For unstructured grids these faces are enumerated as the hinge node faces.

NODES

Additional grid geometry may be attached to split or truncated node patches for column layer grids. All other node geometry attachment should be done through the Points array of the AbstractGridGeometry, not through the additional grid geometry.

RADIAL_ORIGIN_POLYLINE

NKL points must be attached to the radial origin polyline for a grid with radial interpolation. BUSINESS RULE: The optional radialGridIsComplete element must be defined in the grid representation if geometry is attached to the radial origin polyline.

SUBNODES

Geometry may be attached to subnodes to distort the geometry of all cells that refer to that subnode (finite element grid). BUSINESS RULE: An optional subnode patch object must be defined in the grid representation if geometry is attached to the subnodes.

IdentityKind

Bases: Enum

Enumeration of the identity kinds for the element identities (ElementIdentity).

ATTRIBUTE DESCRIPTION
COLOCATION

A set of (sub)representations is collocated if there is bijection between the simple elements of all of the participating (sub)representations. This definition implies there is the same number of simple elements. NOTE: The geometric location of each set of simple elements mapped through the bijection is intended to be identical even if the numeric values of the associated geometries differ, i.e., due to loss of spatial resolution.

PREVIOUS_COLOCATION

The participating (sub)representations were collocated at some time in the geologic past—but not necessarily in the present day earth model.

EQUIVALENCE

A set of (sub)representations is equivalent if there is a map giving an association between some of the simple topological elements of the participating (sub)representations.

PREVIOUS_EQUIVALENCE

The participating (sub)representations were equivalent at some time in the geologic past—but not necessarily in the present day earth model.

IndexableElements

Bases: Enum

Indexable elements for the different representations. The indexing of each element depends upon the specific representation. To order and reference the elements of a representation, RESQML makes extensive use of the concept of indexing. Both one-dimensional and multi-dimensional arrays of elements are used. So that all elements may be referenced in a consistent and uniform fashion, each multi-dimensional index must have a well-defined 1D index. Attributes below identify the IndexableElements, though not all elements apply to all types of representations.

Indexable elements are used to: - attach geometry and properties to a representation. - identify portions of a representation when expressing a representation identity. - construct a sub-representation from an existing representation. See the RESQML Overview Guide for the table of indexable elements and the representations to which they apply.

ATTRIBUTE DESCRIPTION
CELLS

COLUMN_EDGES

COLUMNS

CONTACTS

COORDINATE_LINES

EDGES

EDGES_PER_COLUMN

ENUMERATED_ELEMENTS

FACES

FACES_PER_CELL

INTERVAL_EDGES

Count = NKL (Column Layer Grids, only)

INTERVALS

I0

Count = NI (IJK Grids, only)

I0_EDGES

Count = NIL (IJK Grids, only)

J0

Count = NJ (IJK Grids, only)

J0_EDGES

Count = NJL (IJK Grids, only)

LAYERS

Count = NK (Column Layer Grids, only)

NODES

NODES_PER_CELL

NODES_PER_EDGE

NODES_PER_FACE

PATCHES

PILLARS

REGIONS

REPRESENTATION

SUBNODES

TRIANGLES

KDirection

Bases: Enum

Enumeration used to specify if the direction of the coordinate lines is uniquely defined for a grid.

If not uniquely defined, e.g., for over-turned reservoirs, then indicate that the K direction is not monotonic.

ATTRIBUTE DESCRIPTION
DOWN

K is increasing with depth, dot(tangent,gradDepth)>0.

UP

K is increasing with elevation, dot(tangent,gradDepth)<0.

NOT_MONOTONIC

K is not monotonic with elevation, e.g., for over-turned structures.

LineRole

Bases: Enum

Indicates the various roles that a polyline topology can have in a representation.

ATTRIBUTE DESCRIPTION
FAULT_CENTER_LINE

Usually used to represent fault lineaments on horizons. These lines can represent nonsealed contact interpretation parts defined by a horizon/fault intersection.

PICK

Used to represent all types of nonsealed contact interpretation parts defined by a horizon/fault intersection.

INNER_RING

Closed polyline that delineates a hole in a surface patch.

OUTER_RING

Closed polyline that delineates the extension of a surface patch.

TRAJECTORY

Polyline that is used to represent a well trajectory representation.

INTERPRETATION_LINE

Line corresponding to a digitalization along an earth model section.

CONTACT

Used to represent nonsealed contact interpretation parts defined by a horizon/fault intersection.

DEPOSITIONAL_LINE

Used to represent nonsealed contact interpretation parts defined by a horizon/horizon intersection.

EROSION_LINE

Used to represent nonsealed contact interpretation parts defined by a horizon/horizon intersection.

CONTOURING

Used to obtain sets of 3D x, y, z points to represent any boundary interpretation.

PILLAR

MdDomain

Bases: Enum

Different types of measured depths.

ATTRIBUTE DESCRIPTION
DRILLER

The original depths recorded while drilling a well or LWD or MWD.

LOGGER

Depths recorded when logging a well, which are in general considered to be more accurate than driller's depth.

MdReference

Bases: Enum

Reference location for the measured depth datum (MdDatum).

The type of local or permanent reference datum for vertical gravity based (i.e., elevation and vertical depth) and measured depth coordinates within the context of a well. This list includes local points (e.g., kelly bushing) used as a datum and vertical reference datums (e.g., mean sea level).

ATTRIBUTE DESCRIPTION
GROUND_LEVEL

KELLY_BUSHING

MEAN_SEA_LEVEL

A tidal datum. The arithmetic mean of hourly heights observed over the National Tidal Datum Epoch (19 years).

DERRICK_FLOOR

CASING_FLANGE

A flange affixed to the top of the casing string used to attach production equipment.

ARBITRARY_POINT

This value should not be used for drilled wells. All reasonable attempts should be made to determine the appropriate value.

CROWN_VALVE

ROTARY_BUSHING

ROTARY_TABLE

SEA_FLOOR

LOWEST_ASTRONOMICAL_TIDE

The lowest tide level over the duration of the National Tidal Datum Epoch (19 years).

MEAN_HIGHER_HIGH_WATER

A tidal datum. The average of the higher high water height of each tidal day observed over the National Tidal Datum Epoch (19 years).

MEAN_HIGH_WATER

A tidal datum. The average of all the high water heights observed over the National Tidal Datum Epoch (19 years).

MEAN_LOWER_LOW_WATER

A tidal datum. The average of the lower low water height of each tidal day observed over the National Tidal Datum Epoch (19 years ).

MEAN_LOW_WATER

A tidal datum. The average of all the low water heights observed over the National Tidal Datum Epoch (19 years).

MEAN_TIDE_LEVEL

A tidal datum. The arithmetic mean of mean high water and mean low water. Same as half-tide level.

KICKOFF_POINT

This value is not expected to be used in most typical situations. All reasonable attempts should be made to determine the appropriate value.

NameValuePair dataclass

NameValuePair(*, name: str, value: str)

Complementary optional metadata information, which may be added to any data- object to qualify it.

PARAMETER DESCRIPTION
name

Name of the metadata information.

TYPE: str

value

Value of the metadata information.

TYPE: str

OrderingCriteria

Bases: Enum

Enumeration used to specify the order of an abstract stratigraphic organization or a structural organization interpretation.

ATTRIBUTE DESCRIPTION
AGE

From youngest to oldest period (increasing age).

APPARENT_DEPTH

From surface to subsurface.

MEASURED_DEPTH

From well head to wellbore bottom/total depth (TD).

OrganizationKind

Bases: Enum

Enumerations used to indicate a specific type of organization.

See attributes below.

ATTRIBUTE DESCRIPTION
EARTH_MODEL

An organization composed of the other types of organizations listed here.

FLUID

A volume organization composed of fluid boundaries and phase units.

STRATIGRAPHIC

A volume organization composed of geologic features, such as geobodies, stratigraphic units, and boundaries.

STRUCTURAL

A surface organization composed of geologic features, such as faults, horizons, and frontier boundaries.

OrientedMacroFace dataclass

OrientedMacroFace(
    *,
    patch_index_of_representation: int,
    representation_index: int,
    side_is_plus: bool,
)

An element of a volume shell that is defined by a set of oriented faces belonging to boundable patches.

A macroface may describe a contact between: - two structural, stratigraphic, or fluid units - one boundary feature (fault or frontier) and a unit. A face is a bounded open subset of a plane or a curved surface in 3D, delimited by an outer contour and zero, one, or more inner contours describing holes.

PARAMETER DESCRIPTION
patch_index_of_representation

Create the triangulation and 2D grid representation for which the patches match the macro faces.

TYPE: int

representation_index

Identifies the representation by its index, in the list of representations contained in the organization.

TYPE: int

side_is_plus

TYPE: bool

Patch dataclass

Patch(*, patch_index: int)

Set or range of one kind of topological element used to define part of a data-object; this concept exists for grid and structural data-objects.

Subset of a specified kind of indexable element of a representation, associated with a patch index. The patch index is used to define the relative order for the elements. It may also be used to access patches of indexable elements directly for geometry, properties, or relationships. Patches are used to remove any ambiguity in data ordering among the indexable elements. For example, the triangle indexing of a triangulated set representation consists of multiple triangles, each with a patch index. This index specifies the relative ordering of the triangle patches. Those data-objects that inherit a patch index from the abstract class of patches all include the word “Patch” as part of their name, e.g., TrianglePatch.

PARAMETER DESCRIPTION
patch_index

Local index of the patch, making it unique within the representation.

TYPE: int

Phase

Bases: Enum

The enumeration of the possible RockFluid Unit phase in a hydrostatic column.

The seal is considered here as a part ( the coverage phase) of an hydrostatic column.

ATTRIBUTE DESCRIPTION
AQUIFER

Volume of the hydrostatic column for which only the aqueous phase is mobile. Typically below the Pc(hydrocarbon-water)=0 free fluid surface.

GAS_CAP

Volume of the hydrostatic column for which only the gaseous phase is mobile. Typically above the Pc(gas-oil)=0 free fluid surface.

OIL_COLUMN

Volume of the hydrostatic column for which only the oleic and aqueous phases may be mobile. Typically below the gas-oil Pc=0 free fluid surface.Pc(gas-oil)=0 free fluid surface.

SEAL

Impermeable volume which provides the seal for a hydrostatic fluid column.

PillarShape

Bases: Enum

Used to indicate that all pillars are of a uniform kind, i.e., may be represented using the same number of nodes per pillar.

This information is supplied by the RESQML writer to indicate the complexity of the grid geometry, as an aide to the RESQML reader. If a combination of vertical and straight, then use straight. If a specific pillar shape is not appropriate, then use curved. BUSINESS RULE: Should be consistent with the actual geometry of the grid.

ATTRIBUTE DESCRIPTION
VERTICAL

If represented by a parametric line, requires only a single control point per line.

STRAIGHT

If represented by a parametric line, requires 2 control points per line.

CURVED

If represented by a parametric line, requires 3 or more control points per line.

Point3d dataclass

Point3d(*, coordinate1: float, coordinate2: float, coordinate3: float)

Defines a point using coordinates in 3D space.

PARAMETER DESCRIPTION
coordinate1

X Coordinate

TYPE: float

coordinate2

Y Coordinate

TYPE: float

coordinate3

Either Z or T Coordinate

TYPE: float

ResqmlPropertyKind

Bases: Enum

Enumeration of the standard set of RESQML property kinds.

ATTRIBUTE DESCRIPTION
ABSORBED_DOSE

The amount of energy absorbed per mass.

ACCELERATION_LINEAR

ACTIVITY_OF_RADIOACTIVITY

A measure of the radiation being emitted.

AMOUNT_OF_SUBSTANCE

Molar amount of a substance.

AMPLITUDE

Amplitude of the acoustic signal recorded. It is not a physical property, only a value.

ANGLE_PER_LENGTH

ANGLE_PER_TIME

The angular velocity. The rate of change of an angle.

ANGLE_PER_VOLUME

ANGULAR_ACCELERATION

AREA

AREA_PER_AREA

A dimensionless quantity where the basis of the ratio is area.

AREA_PER_VOLUME

ATTENUATION

A logarithmic, fractional change of some measure, generally power or amplitude, over a standard range. This is generally used for frequency attenuation over an octave.

ATTENUATION_PER_LENGTH

AZIMUTH

Angle between the North and the projection of the normal to the horizon surface estimated on a local area of the interface.

BUBBLE_POINT_PRESSURE

The pressure at which the first gas bubble appears while decreasing pressure on a fluid sample.

BULK_MODULUS

Bulk modulus, K

CAPACITANCE

CATEGORICAL

The abstract supertype of all enumerated string properties.

CELL_LENGTH

distance from cell face center to cell face center in the specified direction, DI, DJ, DK

CHARGE_DENSITY

CHEMICAL_POTENTIAL

CODE

A discrete code.

COMPRESSIBILITY

CONCENTRATION_OF_B

molar concentration of a substance.

CONDUCTIVITY

CONTINUOUS

The abstract supertype of all floating point properties.

CROSS_SECTION_ABSORPTION

CURRENT_DENSITY

DARCY_FLOW_COEFFICIENT

DATA_TRANSMISSION_SPEED

used primarily for computer transmission rates.

DELTA_TEMPERATURE

Delta temperature refers to temperature differences. For non-zero offset temperature scales, Fahrenheit and Celsius, the conversion formulas are different than for absolute temperatures.

DENSITY

DEPTH

The perpendicular measurement downward from a surface. Also, the direct linear measurement from the point of viewing usually from front to back.

DIFFUSION_COEFFICIENT

DIGITAL_STORAGE

DIMENSIONLESS

A dimensionless quantity is the ratio of two dimensional quantities. The quantity types are not apparent from the basic dimensionless class, but may be apparent in variations - such as area per area, volume per volume, or mass per mass.

DIP

In the azimuth direction, Angle between an horizon plane and an estimated plane on a local area of the interface.

DISCRETE

The abstract supertype of all integer properties.

DOSE_EQUIVALENT

DOSE_EQUIVALENT_RATE

DYNAMIC_VISCOSITY

ELECTRIC_CHARGE

ELECTRIC_CONDUCTANCE

ELECTRIC_CURRENT

ELECTRIC_DIPOLE_MOMENT

ELECTRIC_FIELD_STRENGTH

ELECTRIC_POLARIZATION

ELECTRIC_POTENTIAL

ELECTRICAL_RESISTIVITY

ELECTROCHEMICAL_EQUIVALENT

An electrochemical equivalent differs from molarity in that the valence (oxidation reduction potential) of the element is also considered.

ELECTROMAGNETIC_MOMENT

ENERGY_LENGTH_PER_AREA

ENERGY_LENGTH_PER_TIME_AREA_TEMPERATURE

ENERGY_PER_AREA

ENERGY_PER_LENGTH

EQUIVALENT_PER_MASS

EQUIVALENT_PER_VOLUME

EXPOSURE_RADIOACTIVITY

FLUID_VOLUME

Volume of fluid

FORCE

FORCE_AREA

FORCE_LENGTH_PER_LENGTH

FORCE_PER_FORCE

A dimensionless quantity where the basis of the ratio is force.

FORCE_PER_LENGTH

FORCE_PER_VOLUME

FORMATION_VOLUME_FACTOR

Ratio of volumes at subsurface and surface conditions

FREQUENCY

FREQUENCY_INTERVAL

An octave is a doubling of a frquency.

GAMMA_RAY_API_UNIT

This class is defined by the API, and is used for units of gamma ray log response.

HEAT_CAPACITY

HEAT_FLOW_RATE

HEAT_TRANSFER_COEFFICIENT

PRESSURE PER VELOCITY PER AREA

ILLUMINANCE

INDEX

Serial ordering

IRRADIANCE

ISOTHERMAL_COMPRESSIBILITY

KINEMATIC_VISCOSITY

LAMBDA_RHO

Product of Lame constant and density, LR

LAME_CONSTANT

Lame constant, Lambda

LENGTH

LENGTH_PER_LENGTH

A dimensionless quantity where the basis of the ratio is length.

LENGTH_PER_TEMPERATURE

LENGTH_PER_VOLUME

LEVEL_OF_POWER_INTENSITY

LIGHT_EXPOSURE

LINEAR_THERMAL_EXPANSION

LUMINANCE

LUMINOUS_EFFICACY

LUMINOUS_FLUX

LUMINOUS_INTENSITY

MAGNETIC_DIPOLE_MOMENT

MAGNETIC_FIELD_STRENGTH

MAGNETIC_FLUX

MAGNETIC_INDUCTION

MAGNETIC_PERMEABILITY

MAGNETIC_VECTOR_POTENTIAL

MASS

M/L2T

MASS_ATTENUATION_COEFFICIENT

MASS_CONCENTRATION

A dimensionless quantity where the basis of the ratio is mass.

MASS_FLOW_RATE

MASS_LENGTH

MASS_PER_ENERGY

MASS_PER_LENGTH

M /L4T

MASS_PER_TIME_PER_AREA

MASS_PER_TIME_PER_LENGTH

MASS_PER_VOLUME_PER_LENGTH

MOBILITY

MODULUS_OF_COMPRESSION

MOLAR_CONCENTRATION

molar concentration of a substance.

MOLAR_HEAT_CAPACITY

MOLAR_VOLUME

MOLE_PER_AREA

MOLE_PER_TIME

MOLE_PER_TIME_PER_AREA

MOMENT_OF_FORCE

MOMENT_OF_INERTIA

MOMENT_OF_SECTION

MOMENTUM

MU_RHO

Product of Shear modulus and density, MR

NET_TO_GROSS_RATIO

Ratio of net rock volume to gross rock volume, NTG

NEUTRON_API_UNIT

NON_DARCY_FLOW_COEFFICIENT

OPERATIONS_PER_TIME

PARACHOR

PER_AREA

PER_ELECTRIC_POTENTIAL

PER_FORCE

PER_LENGTH

PER_MASS

PER_VOLUME

PERMEABILITY_LENGTH

PERMEABILITY_ROCK

PERMEABILITY_THICKNESS

Product of permeability and thickness

PERMEANCE

PERMITTIVITY

P_H

The pH is a class that measures the hydrogen ion concentration (acidity).

PLANE_ANGLE

POISSON_RATIO

Poisson's ratio, Sigma

PORE_VOLUME

Volume of the Pore Space of the Rock

POROSITY

porosity

POTENTIAL_DIFFERENCE_PER_POWER_DROP

POWER

POWER_PER_VOLUME

PRESSURE

PRESSURE_PER_TIME

PRESSURE_SQUARED

PRESSURE_SQUARED_PER_FORCE_TIME_PER_AREA

PRESSURE_TIME_PER_VOLUME

PRODUCTIVITY_INDEX

PROPERTY_MULTIPLIER

Unitless multiplier to apply to any property

QUANTITY

The abstract supertype of all floating point properties with a unit of measure.

QUANTITY_OF_LIGHT

RADIANCE

RADIANT_INTENSITY

RELATIVE_PERMEABILITY

Ratio of phase permeability, which is a function of saturation, to the rock permeability

RELATIVE_POWER

A dimensionless quantity where the basis of the ratio is power.

RELATIVE_TIME

A dimensionless quantity where the basis of the ratio is time.

RELUCTANCE

RESISTANCE

RESISTIVITY_PER_LENGTH

RESQML_ROOT_PROPERTY

The abstract supertype of all properties. This property does not have a parent.

ROCK_IMPEDANCE

Acoustic impedence, Ip, Is

ROCK_PERMEABILITY

See "permeability rock"

ROCK_VOLUME

Rock Volume

SATURATION

Ratio of phase fluid volume to pore volume

SECOND_MOMENT_OF_AREA

SHEAR_MODULUS

Shear modulus, Mu

SOLID_ANGLE

SOLUTION_GAS_OIL_RATIO

Ratio of solution gas volume to oil volume at reservoir conditions

SPECIFIC_ACTIVITY_OF_RADIOACTIVITY

SPECIFIC_ENERGY

SPECIFIC_HEAT_CAPACITY

SPECIFIC_PRODUCTIVITY_INDEX

SPECIFIC_VOLUME

SURFACE_DENSITY

TEMPERATURE_PER_LENGTH

TEMPERATURE_PER_TIME

THERMAL_CONDUCTANCE

THERMAL_CONDUCTIVITY

THERMAL_DIFFUSIVITY

THERMAL_INSULANCE

THERMAL_RESISTANCE

THERMODYNAMIC_TEMPERATURE

THICKNESS

Distance measured in a volume between two surfaces ( e.G. Geological Top Boundary and Geological Bottom Boundary of a Geological unit).

TIME

TIME_PER_LENGTH

TIME_PER_VOLUME

TRANSMISSIBILITY

Volumetric flux per unit area per unit pressure drop for unit viscosity fluid

UNIT_PRODUCTIVITY_INDEX

UNITLESS

The abstract supertype of all floating point properties with NO unit of measure. In order to allow the unit information to be required for all continuous properties, the special unit of measure of "NONE" has been assigned to all children of this class. In addition, the special dimensional class of "0" has been assigned to all children of this class.

VAPOR_OIL_GAS_RATIO

Ratio of oil vapor volume to gas volume at reservoir conditions

VELOCITY

VOLUME

VOLUME_FLOW_RATE

VOLUME_LENGTH_PER_TIME

VOLUME_PER_AREA

VOLUME_PER_LENGTH

VOLUME_PER_TIME_PER_AREA

VOLUME_PER_TIME_PER_LENGTH

VOLUME_PER_TIME_PER_TIME

VOLUME_PER_TIME_PER_VOLUME

VOLUME_PER_VOLUME

A dimensionless quantity where the basis of the ratio is volume.

VOLUMETRIC_HEAT_TRANSFER_COEFFICIENT

VOLUMETRIC_THERMAL_EXPANSION

WORK

YOUNG_MODULUS

Young's modulus, E

SequenceStratigraphySurface

Bases: Enum

The enumerated attributes of a horizon.

StreamlineFlux

Bases: Enum

Enumeration of the usual streamline fluxes.

ATTRIBUTE DESCRIPTION
OIL

Oil Phase flux

GAS

Gas Phase flux

WATER

Water Phase flux

TOTAL

Sum of (Water + Oil + Gas) Phase fluxes

OTHER

Used to indicate that another flux is being traced. BUSINESS RULE: OtherFlux should appear if this value is specified.

StringLookup dataclass

StringLookup(*, key: int, value: str)

Defines an element inside a string-to-integer lookup table.

PARAMETER DESCRIPTION
key

The corresponding integer value. This value is used in HDF5 instead of the string value. The value of null integer value must be reserved for NULL. The size of this value is constrained by the size of the format used in HDF5,

TYPE: int

value

A string value. Output from the lookup table.

TYPE: str

SubnodeNodeObject

Bases: Enum

SubnodeNodeObject is used to specify the node object that supports the subnodes.

This determines the number of nodes per subnode and the continuity of the associated geometry or property. For instance, for hexahedral cells, cell indicates a fixed value of 8, while for an unstructured column layer grid, cell indicates that this count varies from column to column.

ATTRIBUTE DESCRIPTION
CELL

If geometry or properties are discontinuous from cell to cell (i.e., their spatial support is cell), then attach them to cell subnodes. BUSINESS RULE: If this object kind is selected, then an ordered list of nodes per cell must be specified or otherwise known.

FACE

If geometry or properties are continuous between cells that share the same face (i.e., their spatial support is the face), then attach them to face subnodes. BUSINESS RULE: If this object kind is selected, then an ordered list of nodes per face must be specified or otherwise known.

EDGE

If geometry and properties are continuous between cells that share the same edge of a face (i.e. their spatial support is the edge), then attach them to edge subnodes. BUSINESS RULE: If this object kind is selected, then an ordered list of nodes per edge must be specified or otherwise known.

SurfaceRole

Bases: Enum

Indicates the various roles that a surface topology can have.

ATTRIBUTE DESCRIPTION
MAP

Representation support for properties.

PICK

Representation support for 3D points picked in 2D or 3D.

TectonicBoundaryKind

Bases: Enum

Enumeration of the types of tectonic boundaries.

ATTRIBUTE DESCRIPTION
FAULT

Fracture with displacement

FRACTURE

Fracture

ThrowKind

Bases: Enum

Enumerations that characterize the throw of the fault interpretation.

TimeSetKind

Bases: Enum

Indicates that the collection of properties shares this time relationship, if any.

ATTRIBUTE DESCRIPTION
SINGLE_TIME

Indicates that the collection contains only property values associated with a single time index, i.e., time identity can be ascertained from the time index itself, without knowledge of the time.

EQUIVALENT_TIMES

Indicates that the collection of properties is at equivalent times, e.g., a 4D seismic data set and a reservoir simulation model at comparable times. For a more specific relationship, select single time.

NOT_A_TIME_SET

Indicates that the property collection is not related by time.

Timestamp dataclass

Timestamp(*, date_time: XmlDateTime | datetime, year_offset: None | int = None)

Time.

PARAMETER DESCRIPTION
date_time

A date which can be represented according to the W3CDTF format.

TYPE: XmlDateTime | datetime

year_offset

Indicates that the dateTime attribute must be translated according to this value.

TYPE: None | int DEFAULT: None

AbstractObject dataclass

AbstractObject()

This element has no type defined, and is therefore implicitly (according to the rules of W3C XML Schema) an XML Schema anyType.

It is used as the head of an XML Schema substitution group which unifies complex content and certain simple content elements used for datatypes in GML, including the gml:AbstractGML substitution group.

CodeType dataclass

CodeType(*, value: str = '', code_space: None | str = None)

Gml:CodeType is a generalized type to be used for a term, keyword or name.

It adds a XML attribute codeSpace to a term, where the value of the codeSpace attribute (if present) shall indicate a dictionary, thesaurus, classification scheme, authority, or pattern for the term.

MeasureType dataclass

MeasureType(*, value: float)

Gml:MeasureType supports recording an amount encoded as a value of XML Schema double, together with a units of measure indicated by an attribute uom, short for "units Of measure".

The value of the uom attribute identifies a reference system for the amount, usually a ratio or interval scale.

maximumValue dataclass

maximumValue(*, value: float)

The gml:minimumValue and gml:maximumValue properties allow the specification of minimum and maximum value normally allowed for this axis, in the unit of measure for the axis.

For a continuous angular axis such as longitude, the values wrap- around at this value. Also, values beyond this minimum/maximum can be used for specified purposes, such as in a bounding box. A value of minus infinity shall be allowed for the gml:minimumValue element, a value of plus infiniy for the gml:maximumValue element. If these elements are omitted, the value is unspecified.

minimumValue dataclass

minimumValue(*, value: float)

The gml:minimumValue and gml:maximumValue properties allow the specification of minimum and maximum value normally allowed for this axis, in the unit of measure for the axis.

For a continuous angular axis such as longitude, the values wrap- around at this value. Also, values beyond this minimum/maximum can be used for specified purposes, such as in a bounding box. A value of minus infinity shall be allowed for the gml:minimumValue element, a value of plus infiniy for the gml:maximumValue element. If these elements are omitted, the value is unspecified.

operationVersion dataclass

operationVersion(*, value: str = '')

Gml:operationVersion is the version of the coordinate transformation (i.e., instantiation due to the stochastic nature of the parameters).

Mandatory when describing a transformation, and should not be supplied for a conversion.

realizationEpoch dataclass

realizationEpoch(*, value: XmlDate)

Gml:realizationEpoch is the time after which this datum definition is valid.

See ISO 19111 Table 32 for details.

scope dataclass

scope(*, value: str = '')

The gml:scope property provides a description of the usage, or limitations of usage, for which this CRS-related object is valid.

If unknown, enter "not known".

AbstractObject_1 dataclass

AbstractObject_1(
    *,
    citation: None | Citation = None,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
)

The intended abstract supertype of all schema roots that may be a member of a substitution group (whether contextual or data).

The type of root global elements should be extended from this type and the root global element should be declared to be a member of one of the above substitution groups.

PARAMETER DESCRIPTION
citation

TYPE: None | Citation DEFAULT: None

aliases

TYPE: list[ObjectAlias] DEFAULT: list()

custom_data

TYPE: None | CustomData DEFAULT: None

schema_version

The specific version of a schema from which this object is derived. This string should be exactly equivalent to the version attribute of the root element of the associated XSD schema file. In the UML model is the same as the version tagged value of the <<XSDschema>> package.

TYPE: str DEFAULT: ''

uuid

TYPE: str DEFAULT: (lambda: str(uuid4()))()

object_version

TYPE: None | str DEFAULT: None

Hdf5Dataset dataclass

Hdf5Dataset(*, path_in_hdf_file: str, hdf_proxy: DataObjectReference)
PARAMETER DESCRIPTION
path_in_hdf_file

The path of the referenced dataset in the HDF file. The separator between groups and final dataset is a slash '/'

TYPE: str

hdf_proxy

TYPE: DataObjectReference

ProjectedCrsEpsgCode dataclass

ProjectedCrsEpsgCode(*, epsg_code: int)

Bases: AbstractProjectedCrs

This is the Energistics encapsulation of the ProjectedCrs type from GML.

ProjectedUnknownCrs dataclass

ProjectedUnknownCrs(*, unknown: str)

Bases: AbstractProjectedCrs

This is the Energistics encapsulation of the ProjectedCrs type from GML.

VerticalCrsEpsgCode dataclass

VerticalCrsEpsgCode(*, epsg_code: int)

Bases: AbstractVerticalCrs

This is the Energistics encapsulation of the ProjectedCrs type from GML.

VerticalUnknownCrs dataclass

VerticalUnknownCrs(*, unknown: str)

Bases: AbstractVerticalCrs

This is the Energistics encapsulation of the ProjectedCrs type from GML.

AbstractActivityParameter dataclass

AbstractActivityParameter(
    *,
    title: str,
    index: None | int = None,
    selection: None | str = None,
    key: list[AbstractParameterKey] = list(),
)

General parameter value used in one instance of activity.

PARAMETER DESCRIPTION
title

Name of the parameter, used to identify it in the activity. Must have an equivalent in the activity descriptor parameters.

TYPE: str

index

When parameter is an array, used to indicate the index in the array

TYPE: None | int DEFAULT: None

selection

Textual description about how this parameter was selected.

TYPE: None | str DEFAULT: None

key

TYPE: list[AbstractParameterKey] DEFAULT: list()

AbstractBooleanArray dataclass

AbstractBooleanArray()

Bases: AbstractValueArray

Generic representation of an array of Boolean values.

Each derived element provides a specialized implementation to allow specific optimization of the representation.

AbstractContactInterpretationPart dataclass

AbstractContactInterpretationPart(
    *,
    contact_relationship: ContactRelationship,
    index: int,
    part_of: None | DataObjectReference = None,
)

The parent class of an atomic, linear, or surface geologic contact description.

When the contact is between two surface representations (e.g., fault/fault, horizon/fault, horizon/horizon), then the contact is a line. When the contact is between two volume representations (stratigraphic unit/stratigraphic unit), then the contact is a surface. A contact interpretation can be associated with other contact interpretations in an organization interpretation. To define a contact representation, you must first define a contact interpretation.

PARAMETER DESCRIPTION
contact_relationship

TYPE: ContactRelationship

index

contact index

TYPE: int

part_of

TYPE: None | DataObjectReference DEFAULT: None

AbstractDoubleArray dataclass

AbstractDoubleArray()

Bases: AbstractValueArray

Generic representation of an array of double values.

Each derived element provides specialized implementation to allow specific optimization of the representation.

AbstractIntegerArray dataclass

AbstractIntegerArray()

Bases: AbstractValueArray

Generic representation of an array of integer values.

Each derived element provides specialized implementation to allow specific optimization of the representation.

AbstractSeismicCoordinates dataclass

AbstractSeismicCoordinates(*, seismic_support: DataObjectReference)

Parent class is used to associate horizon and fault representations to seismic 2D and seismic 3D technical features.

It stores a 1-to-1 mapping between geometry coordinates (usually X, Y, Z) and trace or inter-trace positions on a seismic survey.

AdditionalGridPoints dataclass

AdditionalGridPoints(
    *,
    representation_patch_index: None | int = None,
    attachment: GridGeometryAttachment,
    points: AbstractPoint3dArray,
)

Geometry given by means of points attached to additional elements of a grid.

PARAMETER DESCRIPTION
representation_patch_index

Used to remove ambiguity in geometry attachment, if the attachment element is not sufficient. Usually required for subnodes and for the general purpose grid, but not otherwise.

TYPE: None | int DEFAULT: None

attachment

TYPE: GridGeometryAttachment

points

TYPE: AbstractPoint3dArray

ChronostratigraphicRank dataclass

ChronostratigraphicRank(
    *, name: str, contains: list[DataObjectReference] = list()
)

The chronostratigraphic ranking of “well known” stratigraphic unit features in the global chronostratigraphic column.

The ranks are organized from container to contained, e.g., (eon=1), (era=2), (period=3) The units are ranked by using age as ordering criteria, from oldest to youngest. These stratigraphic units have no associated interpretations or representations. BUSINESS RULE: The name must reference a well-known stratigraphic unit feature (such as "Jurassic"), for example, from the International Commission on Stratigraphy (http://www.stratigraphy.org).

PARAMETER DESCRIPTION
name

Name of the chrono rank such as "epoch, era, ..."

TYPE: str

contains

TYPE: list[DataObjectReference] DEFAULT: list()

ContactElementReference dataclass

ContactElementReference(
    *,
    content_type: str,
    title: str,
    uuid: str,
    uuid_authority: None | str = None,
    version_string: None | str = None,
    qualifier: None | ContactSide = None,
    secondary_qualifier: None | ContactMode = None,
)

Bases: DataObjectReference

A reference to either a geologic feature interpretation or a frontier feature.

BUSINESS RULE: The ContentType of the corresponding data-object reference must be a geological feature interpretation or a frontier feature.

get_content_type_string staticmethod
get_content_type_string(
    obj: AbstractResqmlDataObject | Type[AbstractResqmlDataObject],
) -> str

Static method constructing a RESQML v2.0.1 or EML v2.0 content type string based on the XML namespace of the provided object. The format of the content type string for RESQML v2.0.1 is:

application/x-resqml+xml;version=2.0.1;type={object-type}

and for EML v2.0:

application/x-eml+xml;version=2.0;type={object-type}

where object-type should correspond to the XSD type of the object. For example for a obj_Grid2dRepresentation-object this is exactly obj_Grid2dRepresentation.

See Energistics Identifier Specification 4.0 (it is downloaded alongside the RESQML v2.0.1 standard) section 4.1 for the documentation of this format.

PARAMETER DESCRIPTION
obj

An instance or type that is a subclass of AbstractResqmlDataObject.

TYPE: AbstractResqmlDataObject | Type[AbstractResqmlDataObject]

RETURNS DESCRIPTION
str

The content type string.

Source code in src/resqml_objects/v201/generated.py
@staticmethod
def get_content_type_string(
    obj: AbstractResqmlDataObject | Type[AbstractResqmlDataObject],
) -> str:
    """
    Static method constructing a RESQML v2.0.1 or EML v2.0 content type
    string based on the XML namespace of the provided object. The format of
    the content type string for RESQML v2.0.1 is:

        application/x-resqml+xml;version=2.0.1;type={object-type}

    and for EML v2.0:

        application/x-eml+xml;version=2.0;type={object-type}

    where `object-type` should correspond to the XSD type of the object.
    For example for a `obj_Grid2dRepresentation`-object this is exactly
    `obj_Grid2dRepresentation`.

    See Energistics Identifier Specification 4.0 (it is downloaded
    alongside the RESQML v2.0.1 standard) section 4.1 for the
    documentation of this format.

    Parameters
    ----------
    obj: AbstractResqmlDataObject | Type[AbstractResqmlDataObject]
        An instance or type that is a subclass of
        `AbstractResqmlDataObject`.

    Returns
    -------
    str
        The content type string.
    """

    # Get class object instead of the instance.
    if type(obj) is not type:
        obj = type(obj)

    namespace = getattr(obj.Meta, "namespace", None) or getattr(
        obj.Meta, "target_namespace"
    )

    if namespace == "http://www.energistics.org/energyml/data/resqmlv2":
        return (
            f"application/x-resqml+xml;version={resqml_schema_version};"
            f"type={obj.__name__}"
        )
    elif namespace == "http://www.energistics.org/energyml/data/commonv2":
        return (
            f"application/x-eml+xml;version={common_schema_version};"
            f"type={obj.__name__}"
        )

    raise NotImplementedError(
        f"Namespace {namespace} from object {obj} is not supported"
    )
from_object classmethod
from_object(
    obj: AbstractResqmlDataObject,
    uuid_authority: None | str = None,
    version_string: None | str = None,
) -> Self

Class method setting up a DataObjectReference from a RESQML-object instance (subclass of AbstractResqmlDataObject). This populates the mandatory fields from the citation field of the object.

PARAMETER DESCRIPTION
obj

A subclass of the AbstractResqmlDataObject which contains a citation-field.

TYPE: AbstractResqmlDataObject

uuid_authority

See documentation of DataObjectReference. Default is None.

TYPE: None | str DEFAULT: None

version_string

See documentation of DataObjectReference. Default is None.

TYPE: None | str DEFAULT: None

RETURNS DESCRIPTION
Self

An instance of DataObjectReference with reference information on obj.

Source code in src/resqml_objects/v201/generated.py
@classmethod
def from_object(
    cls,
    obj: AbstractResqmlDataObject,
    uuid_authority: None | str = None,
    version_string: None | str = None,
) -> Self:
    """
    Class method setting up a `DataObjectReference` from a RESQML-object
    instance (subclass of `AbstractResqmlDataObject`). This populates the
    mandatory fields from the `citation` field of the object.

    Parameters
    ----------
    obj: AbstractResqmlDataObject
        A subclass of the `AbstractResqmlDataObject` which contains a
        `citation`-field.
    uuid_authority: None | str
        See documentation of `DataObjectReference`. Default is `None`.
    version_string: None | str
         See documentation of `DataObjectReference`. Default is `None`.

    Returns
    -------
    Self
        An instance of `DataObjectReference` with reference information on
        `obj`.
    """
    content_type = DataObjectReference.get_content_type_string(obj)

    return cls(
        content_type=content_type,
        title=obj.citation.title,
        uuid=obj.uuid,
        uuid_authority=uuid_authority,
        version_string=version_string,
    )
get_etp_data_object_uri
get_etp_data_object_uri(dataspace_path_or_uri: str) -> str

Method that sets up a valid ETP data object uri from a DataObjectReference-instance. This is a helper function for easier querying towards an ETP server when downloading parts of a model at a time.

PARAMETER DESCRIPTION
dataspace_path_or_uri

Either a full dataspace uri on the form "eml:///" or "eml:///dataspace('foo/bar')", or just the dataspace path (or name) – which looking at the previous two examples – is "" (empty) or "foo/bar".

TYPE: str

RETURNS DESCRIPTION
An ETP data object uri that be used to look up an object on an ETP

server.

Source code in src/resqml_objects/v201/generated.py
def get_etp_data_object_uri(self, dataspace_path_or_uri: str) -> str:
    """
    Method that sets up a valid ETP data object uri from a
    `DataObjectReference`-instance. This is a helper function for easier
    querying towards an ETP server when downloading parts of a model at a
    time.

    Parameters
    ----------
    dataspace_path_or_uri: str
        Either a full dataspace uri on the form `"eml:///"` or
        `"eml:///dataspace('foo/bar')"`, or just the dataspace path (or
        name) – which looking at the previous two examples – is `""`
        (empty) or "foo/bar".

    Returns
    -------
        An ETP data object uri that be used to look up an object on an ETP
        server.
    """

    domain_version = ""

    if self.content_type.startswith("application/x-resqml+xml"):
        domain_version = "resqml20"
    elif self.content_type.startswith("application/x-eml+xml"):
        domain_version = "eml20"
    else:
        raise NotImplementedError(
            f"Qualified type for '{self.content_type}' is not implemented"
        )

    m = re.search(OBJ_TYPE_PATTERN, self.content_type)

    if m is None:
        raise ValueError("Content type string does not contain a valid object name")

    obj_type = m.group("obj_type")

    if dataspace_path_or_uri.startswith("eml:///"):
        dataspace_uri = dataspace_path_or_uri
    elif not dataspace_path_or_uri:
        # Only two forward slashes (!!!) as the combination with the
        # `data_object_part` adds an extra forward slash.
        dataspace_uri = "eml://"
    else:
        dataspace_uri = f"eml:///dataspace('{dataspace_path_or_uri}')"

    data_object_part = f"{domain_version}.{obj_type}({self.uuid})"

    return f"{dataspace_uri}/{data_object_part}"

ContactRepresentationReference dataclass

ContactRepresentationReference(
    *, index: int, representation: DataObjectReference
)

Bases: AbstractContactRepresentationPart

Used when the contact already exists as a top level element representation.

GeologicUnitInterpretationIndex dataclass

GeologicUnitInterpretationIndex(*, index: int, unit: DataObjectReference)

Element that lets you index and order rock feature interpretations.

For possible ordering criteria, see OrderingCriteria.

PARAMETER DESCRIPTION
index

An index value associated to an instance of this type interpretation, given a specific ordering criteria.

TYPE: int

unit

TYPE: DataObjectReference

HorizonInterpretationIndex dataclass

HorizonInterpretationIndex(
    *,
    index: int,
    stratigraphic_rank: None | int = None,
    horizon: DataObjectReference,
)

Element that lets you index and order horizon interpretations.

For possible ordering criteria, see OrderingCriteria.

PARAMETER DESCRIPTION
index

An index value associated to an instance of this type of interpretation, given a specific ordering criteria

TYPE: int

stratigraphic_rank

Number of the stratigraphic rank on which the previous indices have been defined.

TYPE: None | int DEFAULT: None

horizon

TYPE: DataObjectReference

ObjectParameterKey dataclass

ObjectParameterKey(*, data_object: DataObjectReference)

Bases: AbstractParameterKey

PARAMETER DESCRIPTION
data_object

Is actually a reference and not a containment relationship.

TYPE: DataObjectReference

Patch1d dataclass

Patch1d(*, patch_index: int, count: int)

Bases: Patch

A patch with a single 1D index count.

PARAMETER DESCRIPTION
count

Number of items in the patch.

TYPE: int

PatchBoundaries dataclass

PatchBoundaries(
    *,
    inner_ring: list[DataObjectReference] = list(),
    outer_ring: None | DataObjectReference = None,
    referenced_patch: int,
)

Defines the boundaries of an indexed patch.

These boundaries are outer and inner rings.

PARAMETER DESCRIPTION
inner_ring

A hole inside a representation patch. Inside the ring, the representation patch is not defined, outside it is. In case of contact, inner ring polyline representations should be typed as an erosion line, deposition line, or contact. BUSINESS RULE: Must be a polyline reference to a polyline representation, either a single polyline representation or a subrepresentation. Must be closed.

TYPE: list[DataObjectReference] DEFAULT: list()

outer_ring

The extension of a representation patch. Inside the ring, the representation patch is defined, outside it is not. BUSINESS RULE: Must be a reference to a polyline, either a single polyline representation or a subrepresentation. Must be closed.

TYPE: None | DataObjectReference DEFAULT: None

referenced_patch

UUID of the referenced topological patch.

TYPE: int

PatchOfPoints dataclass

PatchOfPoints(
    *,
    representation_patch_index: None | int = None,
    points: AbstractPoint3dArray,
)

A patch of points.

In RESQML, a patch is a set or range of one kind of topological elements used to define part of a data-object, such as grids or structural data-objects.

PARAMETER DESCRIPTION
representation_patch_index

Optional patch index used to attach properties to a specific patch of the indexable elements.

TYPE: None | int DEFAULT: None

points

Geometric points (or vectors) to be attached to the specified indexable elements.

TYPE: AbstractPoint3dArray

PatchOfValues dataclass

PatchOfValues(
    *, representation_patch_index: None | int = None, values: AbstractValueArray
)

A patch of values.

PARAMETER DESCRIPTION
representation_patch_index

Patch index used to attach properties to a specific patch of the indexable elements.

TYPE: None | int DEFAULT: None

values

Values to be attached to the indexable elements.

TYPE: AbstractValueArray

PropertyKindFacet dataclass

PropertyKindFacet(*, facet: Facet, value: str)

Qualifiers for property values, which allows users to semantically specialize a property without creating a new property kind.

For the list of enumerations, see Facet.

PARAMETER DESCRIPTION
facet

Facet of the property kind (see the enumeration)

TYPE: Facet

value

Property facet value.

TYPE: str

RockFluidUnitInterpretationIndex dataclass

RockFluidUnitInterpretationIndex(
    *, index: int, rock_fluid_unit: DataObjectReference
)

An element that allows ordering of fluid feature interpretations in a fluid organization interpretation.

PARAMETER DESCRIPTION
index

Index of the fluid feature interpretation.

TYPE: int

rock_fluid_unit

TYPE: DataObjectReference

StandardPropertyKind dataclass

StandardPropertyKind(*, kind: ResqmlPropertyKind)

Bases: AbstractPropertyKind

A standard property kind is defined in the Energistics catalog.

It has an unique name.

StratigraphicUnitInterpretationIndex dataclass

StratigraphicUnitInterpretationIndex(*, index: int, unit: DataObjectReference)

Element that lets you index and order stratigraphic unit interpretations.

For possible ordering criteria, see OrderingCriteria.

PARAMETER DESCRIPTION
index

An index value associated to an instance of this type of interpretation, given a specific ordering criteria.

TYPE: int

unit

TYPE: DataObjectReference

SubnodePatch dataclass

SubnodePatch(
    *,
    patch_index: int,
    subnode_node_object: SubnodeNodeObject,
    node_weights_per_subnode: AbstractValueArray,
)

Bases: Patch

Each patch of subnodes is defined independently of the others.

Number of nodes per object is determined by the subnode kind.

PARAMETER DESCRIPTION
subnode_node_object

TYPE: SubnodeNodeObject

node_weights_per_subnode

Node weights for each subnode. Count of nodes per subnode is known for each specific subnode construction. Data order consists of all the nodes for each subnode in turn. For example, if uniform and stored as a multi-dimensional array, the node index cycles first. BUSINESS RULE: Weights must be non-negative. BUSINESS RULE: Length of array must be consistent with the sum of nodeCount x subnodeCount per object, e.g., for 3 subnodes per edge (uniform), there are 6 weights.

TYPE: AbstractValueArray

ThreePoint3d dataclass

ThreePoint3d(*, point3d: list[Point3d] = list())

List of three 3D points.

TimeIndex dataclass

TimeIndex(*, index: int, time_series: DataObjectReference)

Index into a time series.

Used to specify time. (Not to be confused with time step.)

PARAMETER DESCRIPTION
index

The index of the time in the time series.

TYPE: int

time_series

TYPE: DataObjectReference

TimeInterval dataclass

TimeInterval(
    *, chrono_bottom: DataObjectReference, chrono_top: DataObjectReference
)

Geological time during which a geological event (e.g., deposition, erosion, fracturation, faulting, intrusion) occurred.

BUSINESS RULE: All rock features that are present in the global chronostratigraphic column feature must have a time interval.

VolumeShell dataclass

VolumeShell(*, shell_uid: str, macro_faces: list[OrientedMacroFace] = list())

The shell or envelope of a structural, stratigraphic, or fluid unit.

WellboreTrajectoryParentIntersection dataclass

WellboreTrajectoryParentIntersection(
    *,
    kickoff_md: float,
    parent_md: float,
    parent_trajectory: DataObjectReference,
)

For a wellbore trajectory in a multi-lateral well, indicates the MD of the kickoff point where the trajectory begins and the corresponding MD of the parent trajectory.

WitsmlWellboreReference dataclass

WitsmlWellboreReference(
    *, witsml_well: DataObjectReference, witsml_wellbore: DataObjectReference
)

Reference to the WITSML wellbore that this wellbore feature is based on.

CodeWithAuthorityType dataclass

CodeWithAuthorityType(*, value: str = '', code_space: str)

Bases: CodeType

Gml:CodeWithAuthorityType requires that the codeSpace attribute is provided in an instance.

GeneralConversionPropertyType dataclass

GeneralConversionPropertyType(
    *,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:GeneralConversionPropertyType is a property type for association roles to a general conversion, either referencing or containing the definition of that conversion.

LengthType dataclass

LengthType(*, value: float)

Bases: MeasureType

This is a prototypical definition for a specific measure type defined as a vacuous extension (i.e. aliases) of gml:MeasureType.

In this case, the content model supports the description of a length (or distance) quantity, with its units. The unit of measure referenced by uom shall be suitable for a length, such as metres or feet.

ReferenceType dataclass

ReferenceType(
    *,
    owns: bool = False,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:ReferenceType is intended to be used in application schemas directly, if a property element shall use a "by-reference only" encoding.

TimePrimitivePropertyType dataclass

TimePrimitivePropertyType(
    *,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
    owns: bool = False,
)

Gml:TimePrimitivePropertyType provides a standard content model for associations between an arbitrary member of the substitution group whose head is gml:AbstractTimePrimitive and another object.

anchorDefinition dataclass

anchorDefinition(*, value: str = '', code_space: None | str = None)

Bases: CodeType

Gml:anchorDefinition is a description, possibly including coordinates, of the definition used to anchor the datum to the Earth. Also known as the "origin", especially for engineering and image datums. The codeSpace attribute may be used to reference a source of more detailed on this point or surface, or on a set of such descriptions.

  • For a geodetic datum, this point is also known as the fundamental point, which is traditionally the point where the relationship between geoid and ellipsoid is defined. In some cases, the "fundamental point" may consist of a number of points. In those cases, the parameters defining the geoid/ellipsoid relationship have been averaged for these points, and the averages adopted as the datum definition.
  • For an engineering datum, the anchor definition may be a physical point, or it may be a point with defined coordinates in another CRS.may
  • For an image datum, the anchor definition is usually either the centre of the image or the corner of the image.
  • For a temporal datum, this attribute is not defined. Instead of the anchor definition, a temporal datum carries a separate time origin of type DateTime.

axisAbbrev dataclass

axisAbbrev(*, value: str = '', code_space: None | str = None)

Bases: CodeType

Gml:axisAbbrev is the abbreviation used for this coordinate system axis; this abbreviation is also used to identify the coordinates in the coordinate tuple.

The codeSpace attribute may reference a source of more information on a set of standardized abbreviations, or on this abbreviation.

coordinateOperationAccuracy dataclass

coordinateOperationAccuracy(
    *,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:coordinateOperationAccuracy is an association role to a DQ_PositionalAccuracy object as encoded in ISO/TS 19139, either referencing or containing the definition of that positional accuracy.

That object contains an estimate of the impact of this coordinate operation on point accuracy. That is, it gives position error estimates for the target coordinates of this coordinate operation, assuming no errors in the source coordinates.

name dataclass

name(*, value: str = '', code_space: None | str = None)

Bases: CodeType

The gml:name property provides a label or identifier for the object, commonly a descriptive name.

An object may have several names, typically assigned by different authorities. gml:name uses the gml:CodeType content model. The authority for a name is indicated by the value of its (optional) codeSpace attribute. The name may or may not be unique, as determined by the rules of the organization responsible for the codeSpace. In common usage there will be one name per authority, so a processing application may select the name from its preferred codeSpace.

semiMajorAxis dataclass

semiMajorAxis(*, value: float)

Bases: MeasureType

Gml:semiMajorAxis specifies the length of the semi-major axis of the ellipsoid, with its units.

Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a length, such as metres or feet.

AbstractCitedDataObject dataclass

AbstractCitedDataObject(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
)

Bases: AbstractObject_1

The Mother Class for all Top Level Elements in RESQML.

Inherits from the commonv2 AbstractDataObject. The purpose of this derivation is simply to make the Citation element mandatory. Appropriate to use as a base class in any ML where this is desired.

AbstractContextualObject dataclass

AbstractContextualObject(
    *,
    citation: None | Citation = None,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
)

Bases: AbstractObject_1

Substitution group for contextual objects.

AbstractDataObject dataclass

AbstractDataObject(
    *,
    citation: None | Citation = None,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
)

Bases: AbstractObject_1

Substitution group for normative data objects.

AbstractGeometry dataclass

AbstractGeometry(
    *, time_index: None | TimeIndex = None, local_crs: DataObjectReference
)

The base class for all geometric values, which is always associated with a representation.

Activation dataclass

Activation(
    *,
    activation_toggle_indices: AbstractIntegerArray,
    time_series: DataObjectReference,
)

Used to activate and deactivate the referencing object at the times indicated.

If the activation object is not present, then the referencing object is always active. If the activation object is present, then the referencing object is not active until activated.

PARAMETER DESCRIPTION
activation_toggle_indices

The index in the time series at which the state of the referencing object is changed. Toggle will change state from inactive to active, or toggle will change state from active to inactive.

TYPE: AbstractIntegerArray

time_series

TYPE: DataObjectReference

BinaryContactInterpretationPart dataclass

BinaryContactInterpretationPart(
    *,
    contact_relationship: ContactRelationship,
    index: int,
    part_of: None | DataObjectReference = None,
    direct_object: ContactElementReference,
    verb: ContactVerb,
    subject: ContactElementReference,
)

Bases: AbstractContactInterpretationPart

The main class for data describing an opinion of the contact between two geologic feature interpretations.

A contact interpretation between two surface geological boundaries is usually a line. A contact interpretation between two volumes (rock feature interpretation) is usually a surface. This class allows you to build a formal sentence—in the pattern of subject- verb-direct object—which is used to describe the construction of a node, line, or surface contact. It is also possible to attach a primary and a secondary qualifier to the subject and to the direct object. For example, one contact interpretation can be described by a sentence such as: The interpreted fault named F1 interp on its hanging wall side splits the interpreted horizon named H1 Interp on both its sides. Subject = F1 Interp, with qualifier "hanging wall side" Verb = splits Direct Object = H1 Interp, with qualifier "on both sides"

PARAMETER DESCRIPTION
direct_object

Data-object reference (by UUID link) to a geologic feature interpretation, which is the direct object of the sentence that defines how the contact was constructed.

TYPE: ContactElementReference

verb

TYPE: ContactVerb

subject

Data-object reference (by UUID link) to a geologic feature interpretation, which is the subject of the sentence that defines how the contact was constructed.

TYPE: ContactElementReference

BooleanArrayFromDiscretePropertyArray dataclass

BooleanArrayFromDiscretePropertyArray(
    *, value: int, property: DataObjectReference
)

Bases: AbstractBooleanArray

An array of Boolean values that is explicitly defined by indicating which indices in the array are either true or false.

This class is used to represent very sparse true or false data, based on a discrete property.

PARAMETER DESCRIPTION
value

Integer to match for the value to be considered true

TYPE: int

property

TYPE: DataObjectReference

BooleanArrayFromIndexArray dataclass

BooleanArrayFromIndexArray(
    *, count: int, indices: AbstractIntegerArray, index_is_true: bool
)

Bases: AbstractBooleanArray

An array of Boolean values defined by specifying explicitly which indices in the array are either true or false.

This class is used to represent very sparse true or false data.

PARAMETER DESCRIPTION
count

Total number of Boolean elements in the array. This number is different from the number of indices used to represent the array.

TYPE: int

indices

Array of integer indices. BUSINESS RULE: Must be non-negative.

TYPE: AbstractIntegerArray

index_is_true

Indicates whether the specified elements are true or false.

TYPE: bool

BooleanConstantArray dataclass

BooleanConstantArray(*, value: bool, count: int)

Bases: AbstractBooleanArray

Represents an array of Boolean values where all values are identical.

This an optimization for which an array of explicit Boolean values is not required.

PARAMETER DESCRIPTION
value

Value inside all the elements of the array.

TYPE: bool

count

Size of the array.

TYPE: int

BooleanHdf5Array dataclass

BooleanHdf5Array(*, values: Hdf5Dataset)

Bases: AbstractBooleanArray

Array of boolean values provided explicitly by an HDF5 dataset.

PARAMETER DESCRIPTION
values

Reference to an HDF5 array of values.

TYPE: Hdf5Dataset

CellFluidPhaseUnits dataclass

CellFluidPhaseUnits(
    *,
    phase_unit_indices: AbstractIntegerArray,
    fluid_organization: DataObjectReference,
)

A mapping from cells to fluid phase unit interpretation to describe the initial hydrostatic fluid column.

PARAMETER DESCRIPTION
phase_unit_indices

Index of the phase unit kind within a given fluid phase organization for each cell. Follows the indexing defined by the PhaseUnit enumeration. When applied to the wellbore frame representation, the indexing is identical to the number of intervals. Use null (-1) if no fluid phase is present, e.g., within the seal. BUSINESS RULE: Array length is equal to the number of cells in the representation (grid, wellbore frame or blocked well).

TYPE: AbstractIntegerArray

fluid_organization

TYPE: DataObjectReference

CellStratigraphicUnits dataclass

CellStratigraphicUnits(
    *,
    unit_indices: AbstractIntegerArray,
    stratigraphic_organization: DataObjectReference,
)

A mapping from cell to stratigraphic unit interpretation for a representations (grids or blocked wells).

PARAMETER DESCRIPTION
unit_indices

Index of the stratigraphic unit of a given stratigraphic column for each cell. Use null (-1) if no stratigraphic column, e.g., within salt BUSINESS RULE: Array length is the number of cells in the grid or the blocked well

TYPE: AbstractIntegerArray

stratigraphic_organization

TYPE: DataObjectReference

ColumnLayerSplitColumnEdges dataclass

ColumnLayerSplitColumnEdges(
    *,
    count: int,
    parent_column_edge_indices: AbstractIntegerArray,
    column_per_split_column_edge: AbstractIntegerArray,
)

Column edges are needed to construct the indices for the cell faces for column layer grids.

For split column layer grids, the column edge indices must be defined explicitly. Column edges are not required to describe the lowest order grid geometry, but may be required for higher order geometries or properties.

PARAMETER DESCRIPTION
count

Number of split column edges in this grid. Must be positive.

TYPE: int

parent_column_edge_indices

Parent unsplit column edge index for each of the split column edges. Used to implicitly define split face indexing.

TYPE: AbstractIntegerArray

column_per_split_column_edge

Column index for each of the split column edges. Used to implicitly define column and cell faces. List-of-lists construction not required since each split column edge must be in a single column.

TYPE: AbstractIntegerArray

ColumnSubnodePatch dataclass

ColumnSubnodePatch(
    *,
    patch_index: int,
    subnode_node_object: SubnodeNodeObject,
    node_weights_per_subnode: AbstractValueArray,
    subnode_count_per_object: AbstractIntegerArray,
)

Bases: SubnodePatch

Use this subnode construction if the number of subnodes per object varies from column to column, but does not vary from layer to layer.

PARAMETER DESCRIPTION
subnode_count_per_object

Number of subnodes per object, with a different number in each column of the grid.

TYPE: AbstractIntegerArray

ContactIdentity dataclass

ContactIdentity(
    *,
    identity_kind: IdentityKind,
    list_of_contact_representations: AbstractIntegerArray,
    list_of_identical_nodes: None | AbstractIntegerArray = None,
)

Indicates identity between two (or more) contacts.

For possible types of identities, see IdentityKind.

PARAMETER DESCRIPTION
identity_kind

TYPE: IdentityKind

list_of_contact_representations

The contact representations that share common identity as specified by their indices

TYPE: AbstractIntegerArray

list_of_identical_nodes

Indicates which nodes (identified by their common index in all contact representations) of the contact representations are identical. If this list is not present, then it indicates that all nodes in each representation are identical, on an element by element level.

TYPE: None | AbstractIntegerArray DEFAULT: None

ContactPatch dataclass

ContactPatch(
    *,
    patch_index: int,
    count: int,
    representation_index: int,
    supporting_representation_nodes: AbstractIntegerArray,
)

Bases: Patch1d

A subset of topological elements of an existing contact representation part (sealed or non-sealed contact).

PARAMETER DESCRIPTION
representation_index

Identifies a representation by its index, in the list of representations contained in the organization.

TYPE: int

supporting_representation_nodes

The ordered list of nodes (identified by their global index) in the supporting representation, which constitutes the contact patch.

TYPE: AbstractIntegerArray

DataObjectParameter dataclass

DataObjectParameter(
    *,
    title: str,
    index: None | int = None,
    selection: None | str = None,
    key: list[AbstractParameterKey] = list(),
    data_object: DataObjectReference,
)

Bases: AbstractActivityParameter

Parameter referencing to a top level object.

PARAMETER DESCRIPTION
data_object

Is actually a reference and not a containment relationship.

TYPE: DataObjectReference

DoubleConstantArray dataclass

DoubleConstantArray(*, value: float, count: int)

Bases: AbstractDoubleArray

Represents an array of double values where all values are identical.

This an optimization for which an array of explicit double values is not required.

PARAMETER DESCRIPTION
value

Values inside all the elements of the array.

TYPE: float

count

Size of the array.

TYPE: int

DoubleHdf5Array dataclass

DoubleHdf5Array(*, values: Hdf5Dataset)

Bases: AbstractDoubleArray

An array of double values provided explicitly by an HDF5 dataset.

By convention, the null value is NaN.

PARAMETER DESCRIPTION
values

Reference to an HDF5 array of doubles.

TYPE: Hdf5Dataset

EdgePatch dataclass

EdgePatch(
    *,
    patch_index: int,
    count: int,
    split_edges: None | AbstractIntegerArray = None,
)

Bases: Patch1d

Describes edges that are not linked to any other edge.

Because edges do not have indices, a consecutive pair of nodes is used to identify each edge. The split edges dataset is a set of nodes (2 nodes per edge). Each patch has a set of 2 nodes.

PARAMETER DESCRIPTION
split_edges

An array of split edges to define patches. It points to an HDF5 dataset, which must be a 2D array of non-negative integers with dimensions 2 x numSplitEdges. integers with dimensions {2, numSplitEdges}

TYPE: None | AbstractIntegerArray DEFAULT: None

Edges dataclass

Edges(*, count: int, nodes_per_edge: AbstractIntegerArray)

Unstructured cell grids require the definition of edges if the subnode attachment is of kind edges.

Use Case: Finite elements, especially for higher order geometry. BUSINESS RULE: Edges must be defined for unstructured cell grids if subnode nodes of kind edges are used.

PARAMETER DESCRIPTION
count

Number of edges. Must be positive.

TYPE: int

nodes_per_edge

Defines a list of 2 nodes per edge. Count = 2 x EdgeCount

TYPE: AbstractIntegerArray

ElementIdentity dataclass

ElementIdentity(
    *,
    element_indices: None | AbstractIntegerArray = None,
    identity_kind: IdentityKind,
    indexable_element: IndexableElements,
    representation: DataObjectReference,
    from_time_index: None | TimeIndex = None,
    to_time_index: None | TimeIndex = None,
)

Indicates the nature of the relationship between 2 or more representations, specifically if they are partially or totally identical.

For possible types of relationships, see IdentityKind. Commonly used to identify contacts between representations in model descriptions. May also be used to relate the components of a grid (e.g., pillars) to those of a structural framework.

PARAMETER DESCRIPTION
element_indices

Indicates which elements are identical based on their indices in the (sub)representation. If not given, then the selected indexable elements of each of the selected representations are identical at the element by element level. If not given, then all elements are specified to be identical. BUSINESS RULE: Number of identical elements must equal identicalElementCount for each representation.

TYPE: None | AbstractIntegerArray DEFAULT: None

identity_kind

TYPE: IdentityKind

indexable_element

TYPE: IndexableElements

representation

TYPE: DataObjectReference

from_time_index

TYPE: None | TimeIndex DEFAULT: None

to_time_index

TYPE: None | TimeIndex DEFAULT: None

ElementIndices dataclass

ElementIndices(
    *, indexable_element: IndexableElements, indices: AbstractIntegerArray
)

Index into the indexable elements selected.

FaultThrow dataclass

FaultThrow(
    *,
    throw: list[ThrowKind] = list(),
    has_occured_during: None | TimeInterval = None,
)

Identifies the characteristic of the throw of a fault interpretation.

FloatingPointQuantityParameter dataclass

FloatingPointQuantityParameter(
    *,
    title: str,
    index: None | int = None,
    selection: None | str = None,
    key: list[AbstractParameterKey] = list(),
    value: float,
    uom: ResqmlUom,
)

Bases: AbstractActivityParameter

Parameter containing a double value.

PARAMETER DESCRIPTION
value

Double value

TYPE: float

uom

Unit of measure associated with the value

TYPE: ResqmlUom

IntegerArrayFromBooleanMaskArray dataclass

IntegerArrayFromBooleanMaskArray(
    *, total_index_count: int, mask: AbstractBooleanArray
)

Bases: AbstractIntegerArray

One-dimensional array of integer values obtained from the true elements of the Boolean mask.

PARAMETER DESCRIPTION
total_index_count

Total number of integer elements in the array. This number is different from the number of Boolean mask values used to represent the array.

TYPE: int

mask

Boolean mask. A true element indicates that the index is included on the list of integer values.

TYPE: AbstractBooleanArray

IntegerConstantArray dataclass

IntegerConstantArray(*, value: int, count: int)

Bases: AbstractIntegerArray

Represents an array of integer values where all values are identical.

This an optimization for which an array of explicit integer values is not required.

PARAMETER DESCRIPTION
value

Values inside all the elements of the array.

TYPE: int

count

Size of the array.

TYPE: int

IntegerHdf5Array dataclass

IntegerHdf5Array(*, null_value: int, values: Hdf5Dataset)

Bases: AbstractIntegerArray

Array of integer values provided explicitly by a HDF5 dataset.

The null value is explicitly provided. WHERE IS THE NULL VALUE SPECIFIED?

PARAMETER DESCRIPTION
null_value

TYPE: int

values

Reference to an HDF5 array of integers or doubles.

TYPE: Hdf5Dataset

IntegerQuantityParameter dataclass

IntegerQuantityParameter(
    *,
    title: str,
    index: None | int = None,
    selection: None | str = None,
    key: list[AbstractParameterKey] = list(),
    value: int,
)

Bases: AbstractActivityParameter

Parameter containing an integer value.

PARAMETER DESCRIPTION
value

Integer value

TYPE: int

IntegerRangeArray dataclass

IntegerRangeArray(*, count: int, value: int)

Bases: AbstractIntegerArray

Defines an array as a range of integers.

The range is defined by an initial value and a count defining the size of the range.

PARAMETER DESCRIPTION
count

Size of the array.

TYPE: int

value

Start value for the range. End value is start+count-1.

TYPE: int

IntervalGridCells dataclass

IntervalGridCells(
    *,
    cell_count: int,
    grid_indices: AbstractIntegerArray,
    cell_indices: AbstractIntegerArray,
    local_face_pair_per_cell_indices: AbstractIntegerArray,
    grids: list[DataObjectReference] = list(),
)

Specifies the (Grid,Cell) intersection of each Interval of the representation, if any.

The information allows you to locate, on one or several grids, the intersection of volume (cells) and surface (faces) elements with a wellbore trajectory (existing or planned), streamline trajectories, or any polyline set.

PARAMETER DESCRIPTION
cell_count

The number of non-null entries in the grid indices array.

TYPE: int

grid_indices

Size of array = IntervalCount. Null values of -1 signify that that interval is not within a grid. BUSINESS RULE: The cell count must equal the number of non-null entries in this array.

TYPE: AbstractIntegerArray

cell_indices

The cell index for each interval of a representation. The grid index is specified by grid index array, to give the (Grid,Cell) index pair. BUSINESS RULE: Array length must equal cell count.

TYPE: AbstractIntegerArray

local_face_pair_per_cell_indices

For each cell, these are the entry and exit intersection faces of the trajectory in the cell. Use null (-1) for missing intersections, e.g., when a trajectory originates or terminates within a cell. The local face-per-cell index is used because a global face index need not have been defined on the grid. BUSINESS RULE: The array dimensions must equal 2 x CellCount.

TYPE: AbstractIntegerArray

grids

TYPE: list[DataObjectReference] DEFAULT: list()

IntervalStratigraphicUnits dataclass

IntervalStratigraphicUnits(
    *,
    unit_indices: AbstractIntegerArray,
    stratigraphic_organization: DataObjectReference,
)

A mapping from intervals to stratigraphic units for representations (grids or wellbore frames).

PARAMETER DESCRIPTION
unit_indices

Index of the stratigraphic unit per interval, of a given stratigraphic column. Notes: 1.) For grids, intervals = layers + K gaps. 2.) If there is no stratigraphic column, e.g., within salt, use null (-1) BUSINESS RULE: Array length must equal the number of INTERVALS.

TYPE: AbstractIntegerArray

stratigraphic_organization

TYPE: DataObjectReference

Intervals dataclass

Intervals(
    *,
    interval_count: int,
    parent_count_per_interval: AbstractIntegerArray,
    child_count_per_interval: AbstractIntegerArray,
    child_cell_weights: None | AbstractDoubleArray = None,
)

Refinement and/or Coarsening per interval.

If there is a 1:1 correspondence between the parent and child cells, then this object is not needed.

PARAMETER DESCRIPTION
interval_count

The number of intervals in the regrid description. Must be positive.

TYPE: int

parent_count_per_interval

The number of parent cells in each interval. BUSINESS RULES: 1.) The array length must be equal to intervalCount. 2.) For the given parentIndex, the total count of parent cells should not extend beyond the boundary of the parent grid.

TYPE: AbstractIntegerArray

child_count_per_interval

The number of child cells in each interval. If the child grid type is not commensurate with the parent type, then this attribute is ignored by a reader, and its value should be set to null (-1). For example, for a parent IJK grid with a child unstructured column layer grid, then the child count is non-null for a K regrid, but null for an I or J regrid. BUSINESS RULES: 1.) The array length must be equal to intervalCount. 2.) If the child grid type is commensurate with the parent grid, then the sum of values over all intervals must be equal to the corresponding child grid dimension.

TYPE: AbstractIntegerArray

child_cell_weights

Weights that are proportional to the relative sizes of child cells within each interval. The weights need not be normalized.

TYPE: None | AbstractDoubleArray DEFAULT: None

KGaps dataclass

KGaps(
    *,
    count: None | int = None,
    gap_after_layer: None | AbstractBooleanArray = None,
)

Optional object used to indicate that there are global gaps between layers in the grid.

With K gaps, the bottom of one layer need not be continuous with the top of the next layer, so the resulting number of intervals is greater than the number of layers.

PARAMETER DESCRIPTION
count

Number of gaps between layers. Must be positive. Number of INTERVALS = gapCount + NK.

TYPE: None | int DEFAULT: None

gap_after_layer

Boolean array of length NK-1. TRUE if there is a gap after the corresponding layer. NKL = NK + gapCount + 1 BUSINESS RULE: gapCount must be consistent with the number of gaps specified by the gapAfterLayer array.

TYPE: None | AbstractBooleanArray DEFAULT: None

MultipleContactInterpretationPart dataclass

MultipleContactInterpretationPart(
    *,
    contact_relationship: ContactRelationship,
    index: int,
    part_of: None | DataObjectReference = None,
    with_value: list[int] = list(),
)

Bases: AbstractContactInterpretationPart

Describes multiple interface contacts of geologic feature interpretations (compared to a binary contact).

A composition of several contact interpretations.

PARAMETER DESCRIPTION
with_value

Indicates a list of binary contacts (by their UUIDs) that participate in this multiple contact.

TYPE: list[int] DEFAULT: list()

OverlapVolume dataclass

OverlapVolume(
    *,
    volume_uom: None | VolumeUom = None,
    overlap_volumes: None | AbstractDoubleArray = None,
)

Optional parent-child cell overlap volume information.

If not present, then the CellOverlap data-object lists the overlaps, but with no additional information.

PARAMETER DESCRIPTION
volume_uom

Units of measure for the overlapVolume.

TYPE: None | VolumeUom DEFAULT: None

overlap_volumes

Parent-child cell volume overlap. BUSINESS RULE: Length of array must equal the cell overlap count.

TYPE: None | AbstractDoubleArray DEFAULT: None

ParameterTemplate dataclass

ParameterTemplate(
    *,
    key_constraint: list[str] = list(),
    is_input: bool,
    allowed_kind: list[ParameterKind] = list(),
    is_output: bool,
    title: str,
    data_object_content_type: None | str = None,
    max_occurs: int,
    min_occurs: int,
    constraint: None | str = None,
    default_value: list[AbstractActivityParameter] = list(),
)

Description of one parameter that participate in one type of activity.

PARAMETER DESCRIPTION
key_constraint

Allows you to indicate that, in the same activity, this parameter template must be associated to another parameter template identified by its title.

TYPE: list[str] DEFAULT: list()

is_input

Indicates if the parameter is an input of the activity. If the parameter is a data object and is also an output of the activity, it is strongly advised to use two parameters : one for input and one for output. The reason is to be able to give two different versions strings for the input and output dataobject which has got obviously the same UUID.

TYPE: bool

allowed_kind

If no allowed type is given, then all kind of datatypes is allowed.

TYPE: list[ParameterKind] DEFAULT: list()

is_output

Indicates if the parameter is an output of the activity. If the parameter is a data object and is also an input of the activity, it is strongly advised to use two parameters : one for input and one for output. The reason is to be able to give two different versions strings for the input and output dataobject which has got obviously the same UUID.

TYPE: bool

title

Name of the parameter in the activity. Key to identify parameter.

TYPE: str

data_object_content_type

When parameter is limited to data object of given types, describe the allowed types. Used only when ParameterType is dataObject

TYPE: None | str DEFAULT: None

max_occurs

Maximum number of parameters of this type allowed in the activity. -1 means "infinite".

TYPE: int

min_occurs

Minimum number of parameters of this type required by the activity. -1 means "infinite".

TYPE: int

constraint

Textual description of additional constraint associated with the parameter. (note that it will be better to have a formal description of the constraint)

TYPE: None | str DEFAULT: None

default_value

TYPE: list[AbstractActivityParameter] DEFAULT: list()

ParametricLineIntersections dataclass

ParametricLineIntersections(
    *,
    count: int,
    intersection_line_pairs: AbstractIntegerArray,
    parameter_value_pairs: AbstractValueArray,
)

Used to specify the intersections between parametric lines.

This information is purely geometric and is not required for the evaluation of the parametric point locations on these lines. The information required for that purpose is stored in the parametric points array.

PARAMETER DESCRIPTION
count

Number of parametric line intersections. Must be positive.

TYPE: int

intersection_line_pairs

Intersected line index pair for (line 1, line 2). Size = 2 x count

TYPE: AbstractIntegerArray

parameter_value_pairs

Intersected line parameter value pairs for (line 1, line 2). Size = 2 x count

TYPE: AbstractValueArray

Point2dHdf5Array dataclass

Point2dHdf5Array(*, coordinates: Hdf5Dataset)

Bases: AbstractPoint3dArray

An array of explicit XY points stored as two coordinates in an HDF5 dataset.

If needed, the implied Z coordinate is uniformly 0.

PARAMETER DESCRIPTION
coordinates

Reference to an HDF5 2D dataset of XY points. The 2 coordinates are stored sequentially in HDF5, i.e., a multi-dimensional array of points is stored as a 2 x ... HDF5 array.

TYPE: Hdf5Dataset

Point3dHdf5Array dataclass

Point3dHdf5Array(*, coordinates: Hdf5Dataset)

Bases: AbstractPoint3dArray

N array of explicit XYZ points stored as three coordinates in an HDF5 dataset.

PARAMETER DESCRIPTION
coordinates

Reference to an HDF5 3D dataset of XYZ points. The 3 coordinates are stored sequentially in HDF5, i.e., a multi-dimensional array of points is stored as a 3 x ... HDF5 array.

TYPE: Hdf5Dataset

Point3dOffset dataclass

Point3dOffset(*, offset: Point3d, spacing: AbstractDoubleArray)

Defines the size and sampling in each dimension (direction) of the point 3D lattice array.

Sampling can be uniform or irregular.

PARAMETER DESCRIPTION
offset

The direction of the axis of this lattice dimension. This is a relative offset vector instead of an absolute 3D point.

TYPE: Point3d

spacing

A lattice of N offset points is described by a spacing array of size N-1. The offset between points is given by the spacing value multiplied by the offset vector. For example, the first offset is 0. The second offset is the first spacing * offset. The second offset is (first spacing + second spacing) * offset, etc.

TYPE: AbstractDoubleArray

Point3dParametricArray dataclass

Point3dParametricArray(
    *,
    parameters: AbstractValueArray,
    parametric_line_indices: None | AbstractIntegerArray = None,
    truncated_line_indices: None | AbstractIntegerArray = None,
    parametric_lines: AbstractParametricLineArray,
)

Bases: AbstractPoint3dArray

A parametric specification of an array of XYZ points.

PARAMETER DESCRIPTION
parameters

A multi-dimensional array of parametric values that implicitly specifies an array of XYZ points. The parametric values provided in this data-object must be consistent with the parametric values specified in the referenced parametric line array. When constructing a column-layer grid geometry using parametric points, the array indexing follows the dimensionality of the coordinate lines x NKL, which is either a 2D or 3D array.

TYPE: AbstractValueArray

parametric_line_indices

An optional array of indices that map from the array index to the index of the corresponding parametric line. If this information is known from context, then this array is not needed. For example, in either of these cases: (1) If the mapping from array index to parametric line is 1:1. (2) If the mapping has already been specified, as with the pillar Index from the column-layer geometry of a grid. For example, when constructing a column-layer grid geometry using parametric lines, the array indexing follows the dimensionality of the coordinate lines.

TYPE: None | AbstractIntegerArray DEFAULT: None

truncated_line_indices

A 2D array of line indices for use with intersecting parametric lines. Each record consists of a single line index, which indicates the array line that uses this truncation information, followed by the parametric line indices for each of the points on that line. For a non-truncated line, the equivalent record repeats the array line index NKL+1 times. Size = (NKL+1) x truncatedLineCount

TYPE: None | AbstractIntegerArray DEFAULT: None

parametric_lines

TYPE: AbstractParametricLineArray

Point3dZValueArray dataclass

Point3dZValueArray(
    *, supporting_geometry: AbstractPoint3dArray, zvalues: AbstractDoubleArray
)

Bases: AbstractPoint3dArray

An array of points defined by applying a Z value on top of an existing array of points, XYZ, where Z is ignored. Used in these cases:

  • in 2D for defining geometry of one patch of a 2D grid representation.
  • for extracting nodal geometry from one grid representation for use in another.
PARAMETER DESCRIPTION
supporting_geometry

Geometry defining the X and Y coordinates.

TYPE: AbstractPoint3dArray

zvalues

The values for Z coordinates

TYPE: AbstractDoubleArray

ResqmlJaggedArray dataclass

ResqmlJaggedArray(
    *, elements: AbstractValueArray, cumulative_length: AbstractIntegerArray
)

Representation for an array of 1D variable length arrays. The representation consists of these two arrays:

  • An aggregation of all the variable length arrays into a single dimensional array.
  • The offsets into the other array, given by the sum of all the previous array lengths, including the current array.
PARAMETER DESCRIPTION
elements

1D array of elements containing the aggregation of individual array data.

TYPE: AbstractValueArray

cumulative_length

1D array of cumulative lengths to the end of the current array. This is also equal to the index of the next element, i.e., the index in the elements array, for which the current variable length array begins.

TYPE: AbstractIntegerArray

Seismic2dCoordinates dataclass

Seismic2dCoordinates(
    *,
    seismic_support: DataObjectReference,
    line_abscissa: AbstractDoubleArray,
    vertical_coordinates: None | AbstractDoubleArray = None,
)

Bases: AbstractSeismicCoordinates

A group of 2D seismic coordinates that stores the 1-to-1 mapping between geometry patch coordinates (usually X, Y, Z) and trace or inter-trace positions on a seismic line.

BUSINESS RULE: This patch must reference a geometry patch by its UUID.

PARAMETER DESCRIPTION
line_abscissa

The sequence of trace or inter-trace positions that correspond to the geometry coordinates. BUSINESS RULE: Both sequences must be in the same order.

TYPE: AbstractDoubleArray

vertical_coordinates

The sequence of vertical sample or inter-sample positions that correspond to the geometry coordinates. BUSINESS RULE: Sequence must be in the same order than previous one.

TYPE: None | AbstractDoubleArray DEFAULT: None

Seismic3dCoordinates dataclass

Seismic3dCoordinates(
    *,
    seismic_support: DataObjectReference,
    crossline_coordinates: AbstractDoubleArray,
    inline_coordinates: AbstractDoubleArray,
    vertical_coordinates: None | AbstractDoubleArray = None,
)

Bases: AbstractSeismicCoordinates

The 1-to-1 mapping between geometry coordinates (usually X, Y, Z or X, Y, TWT) and trace or inter-trace positions on a seismic lattice.

PARAMETER DESCRIPTION
crossline_coordinates

The sequence of trace or inter-trace crossline positions that correspond to the geometry coordinates. BUSINESS RULE: Both sequences must be in the same order.

TYPE: AbstractDoubleArray

inline_coordinates

The sequence of trace or inter-trace inline positions that correspond to the geometry coordinates. BUSINESS RULE: Both sequences must be in the same order.

TYPE: AbstractDoubleArray

vertical_coordinates

The sequence of vertical sample or inter-sample positions that correspond to the geometry coordinates. BUSINESS RULE: Sequence must be in the same order than two previous ones.

TYPE: None | AbstractDoubleArray DEFAULT: None

StreamlineWellbores dataclass

StreamlineWellbores(
    *,
    injector_per_line: AbstractIntegerArray,
    producer_per_line: AbstractIntegerArray,
    wellbore_trajectory_representation: list[DataObjectReference] = list(),
)

The information that allows you to locate, on one or several grids (existing or planned), the intersection of volume (cells) and surface (faces) elements with a wellbore trajectory (existing or planned).

PARAMETER DESCRIPTION
injector_per_line

Size of array = LineCount. Null values of -1 signify that that line does not initiate at a injector, e.g., it may come from fluid expansion or an aquifer.

TYPE: AbstractIntegerArray

producer_per_line

Size of array = LineCount. Null values of -1 signify that that line does not terminate at a producer, e.g., it may approach a stagnation area. BUSINESS RULE: The cell count must equal the number of non- null entries in this array.

TYPE: AbstractIntegerArray

wellbore_trajectory_representation

TYPE: list[DataObjectReference] DEFAULT: list()

StringHdf5Array dataclass

StringHdf5Array(*, values: Hdf5Dataset)

Bases: AbstractValueArray

Used to store explicit string values, i.e., values that are not double, boolean or integers.

The datatype of the values will be identified by means of the HDF5 API.

PARAMETER DESCRIPTION
values

Reference to HDF5 array of integer or double

TYPE: Hdf5Dataset

StringParameter dataclass

StringParameter(
    *,
    title: str,
    index: None | int = None,
    selection: None | str = None,
    key: list[AbstractParameterKey] = list(),
    value: str,
)

Bases: AbstractActivityParameter

Parameter containing a string value.

TimeIndexParameter dataclass

TimeIndexParameter(
    *,
    title: str,
    index: None | int = None,
    selection: None | str = None,
    key: list[AbstractParameterKey] = list(),
    time_index: TimeIndex,
)

Bases: AbstractActivityParameter

Parameter containing a time index value.

TimeIndices dataclass

TimeIndices(
    *,
    time_index_count: int,
    time_index_start: None | int = None,
    simulator_time_step: None | AbstractIntegerArray = None,
    use_interval: bool,
    time_series: DataObjectReference,
)

Indices into a time series.

Used to specify time. (Not to be confused with time step.)

PARAMETER DESCRIPTION
time_index_count

TYPE: int

time_index_start

The index of the start time in the time series, if not zero.

TYPE: None | int DEFAULT: None

simulator_time_step

Simulation time step for each time index

TYPE: None | AbstractIntegerArray DEFAULT: None

use_interval

When UseInterval is true, the values are associated with each time intervals between two consecutive time entries instead of each individual time entry. As a consequence the dimension of the value array corresponding to the time series is the number of entry in the series minus one.

TYPE: bool

time_series

TYPE: DataObjectReference

TimeSeriesParentage dataclass

TimeSeriesParentage(*, has_overlap: bool, parent_time_index: TimeIndex)

Indicates that a time series has the associated time series as a parent, i.e., that the series continues from the parent time series.

PARAMETER DESCRIPTION
has_overlap

Used to indicate that a time series overlaps with its parent time series, e.g., as may be done for simulation studies, where the end state of one calculation is the initial state of the next.

TYPE: bool

parent_time_index

TYPE: TimeIndex

UniformSubnodePatch dataclass

UniformSubnodePatch(
    *,
    patch_index: int,
    subnode_node_object: SubnodeNodeObject,
    node_weights_per_subnode: AbstractValueArray,
    subnode_count_per_object: int,
)

Bases: SubnodePatch

Use this subnode construction if the number of subnodes is the same for every object, e.g., 3 subnodes per edge for all edges.

PARAMETER DESCRIPTION
subnode_count_per_object

Number of subnodes per object, with the same number for each of this object kind in the grid.

TYPE: int

UnstructuredGridHingeNodeFaces dataclass

UnstructuredGridHingeNodeFaces(
    *, count: int, face_indices: AbstractIntegerArray
)

Hinge nodes define a triangulated interpolation on a cell face.

In practice, they arise on the K faces of column layer cells and are used to add additional geometric resolution to the shape of the cell. The specification of triangulated interpolation also uniquely defines the interpolation schema on the cell face, and hence the cell volume. For an unstructured cell grid, the hinge node faces need to be defined explicitly. This hinge node faces object is optional and is only expected to be used if the hinge node faces higher order grid point attachment arises. Hinge node faces are not supported for property attachment. Instead use a subrepresentation or an attachment kind of faces or faces per cell. BUSINESS RULE: Each cell must have either 0 or 2 hinge node faces, so that the two hinge nodes for the cell may be used to define a cell center line and a cell thickness.

PARAMETER DESCRIPTION
count

Number of K faces. This count must be positive.

TYPE: int

face_indices

List of faces to be identified as K faces for hinge node geometry attachment. BUSINESS RULE: Array length equals K face count.

TYPE: AbstractIntegerArray

VariableSubnodePatch dataclass

VariableSubnodePatch(
    *,
    patch_index: int,
    subnode_node_object: SubnodeNodeObject,
    node_weights_per_subnode: AbstractValueArray,
    object_indices: AbstractIntegerArray,
    subnode_count_per_selected_object: AbstractIntegerArray,
)

Bases: SubnodePatch

If the number of subnodes per object are variable for each object, use this subnode construction.

PARAMETER DESCRIPTION
object_indices

Indices of the selected objects

TYPE: AbstractIntegerArray

subnode_count_per_selected_object

Number of subnodes per selected object.

TYPE: AbstractIntegerArray

VolumeRegion dataclass

VolumeRegion(
    *,
    patch_index: int,
    internal_shells: list[VolumeShell] = list(),
    represents: DataObjectReference,
    external_shell: VolumeShell,
)

The volume within a shell or envelope.

AbstractEX_GeographicExtent_Type dataclass

AbstractEX_GeographicExtent_Type(
    *,
    id: None | str = None,
    uuid: None | str = None,
    extent_type_code: None | Boolean_PropertyType = None,
)

Bases: AbstractObject_Type

Geographic area of the dataset.

EX_TemporalExtent_Type dataclass

EX_TemporalExtent_Type(
    *,
    id: None | str = None,
    uuid: None | str = None,
    extent: TM_Primitive_PropertyType,
)

Bases: AbstractObject_Type

Time period covered by the content of the dataset.

EX_VerticalExtent_Type dataclass

EX_VerticalExtent_Type(
    *,
    id: None | str = None,
    uuid: None | str = None,
    minimum_value: Real_PropertyType,
    maximum_value: Real_PropertyType,
    vertical_crs: SC_CRS_PropertyType,
)

Bases: AbstractObject_Type

Vertical domain of dataset.

RelatedTimeType dataclass

RelatedTimeType(
    *,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
    owns: bool = False,
    relative_position: None | RelatedTimeType_relativePosition = None,
)

Bases: TimePrimitivePropertyType

Gml:RelatedTimeType provides a content model for indicating the relative position of an arbitrary member of the substitution group whose head is gml:AbstractTimePrimitive.

It extends the generic gml:TimePrimitivePropertyType with an XML attribute relativePosition, whose value is selected from the set of 13 temporal relationships identified by Allen (1983)

axisDirection dataclass

axisDirection(*, value: str = '', code_space: str)

Bases: CodeWithAuthorityType

Gml:axisDirection is the direction of this coordinate system axis (or in the case of Cartesian projected coordinates, the direction of this coordinate system axis at the origin).

Within any set of coordinate system axes, only one of each pair of terms may be used. For earth-fixed CRSs, this direction is often approximate and intended to provide a human interpretable meaning to the axis. When a geodetic datum is used, the precise directions of the axes may therefore vary slightly from this approximate direction. The codeSpace attribute shall reference a source of information specifying the values and meanings of all the allowed string values for this property.

conversion dataclass

conversion(
    *,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: GeneralConversionPropertyType

Gml:conversion is an association role to the coordinate conversion used to define the derived CRS.

description dataclass

description(
    *,
    value: str = "",
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: StringOrRefType

The value of this property is a text description of the object.

gml:description uses gml:StringOrRefType as its content model, so it may contain a simple text string content, or carry a reference to an external description. The use of gml:description to reference an external description has been deprecated and replaced by the gml:descriptionReference property.

descriptionReference dataclass

descriptionReference(
    *,
    owns: bool = False,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: ReferenceType

The value of this property is a remote text description of the object.

The xlink:href attribute of the gml:descriptionReference property references the external description.

greenwichLongitude dataclass

greenwichLongitude(*, value: float)

Bases: AngleType

Gml:greenwichLongitude is the longitude of the prime meridian measured from the Greenwich meridian, positive eastward.

If the value of the prime meridian "name" is "Greenwich" then the value of greenwichLongitude shall be 0 degrees.

identifier dataclass

identifier(*, value: str = '', code_space: str)

Bases: CodeWithAuthorityType

Often, a special identifier is assigned to an object by the maintaining authority with the intention that it is used in references to the object For such cases, the codeSpace shall be provided.

That identifier is usually unique either globally or within an application domain. gml:identifier is a pre-defined property for such identifiers.

rangeMeaning dataclass

rangeMeaning(*, value: str = '', code_space: str)

Bases: CodeWithAuthorityType

Gml:rangeMeaning describes the meaning of axis value range specified by gml:minimumValue and gml:maximumValue.

This element shall be omitted when both gml:minimumValue and gml:maximumValue are omitted. This element should be included when gml:minimumValue and/or gml:maximumValue are included. If this element is omitted when the gml:minimumValue and/or gml:maximumValue are included, the meaning is unspecified. The codeSpace attribute shall reference a source of information specifying the values and meanings of all the allowed string values for this property.

ProjectedCrs_1 dataclass

ProjectedCrs_1(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    axis_order: AxisOrder2d,
    abstract_projected_crs: AbstractProjectedCrs,
    uom: None | LengthUom = None,
)

Bases: AbstractCitedDataObject

This is the Energistics encapsulation of the ProjectedCrs type from GML.

obj_EpcExternalPartReference dataclass

obj_EpcExternalPartReference(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    mime_type: str = "application/x-hdf5",
)

Bases: AbstractCitedDataObject

It defines a proxy for external part of the EPC package.

It must be used at least for external HDF parts.

PARAMETER DESCRIPTION
mime_type

IAMF registered, if one exists, or a free text field. Needs documentation on seismic especially. MIME type for HDF proxy is : application/x-hdf5 (by RESQML convention).

TYPE: str DEFAULT: 'application/x-hdf5'

AbstractParametricLineGeometry dataclass

AbstractParametricLineGeometry(
    *, time_index: None | TimeIndex = None, local_crs: DataObjectReference
)

Bases: AbstractGeometry

The abstract class for defining a single parametric line.

AbstractPlaneGeometry dataclass

AbstractPlaneGeometry(
    *, time_index: None | TimeIndex = None, local_crs: DataObjectReference
)

Bases: AbstractGeometry

The abstract class for all geometric values defined by planes.

AbstractResqmlDataObject dataclass

AbstractResqmlDataObject(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractCitedDataObject

The parent class for all top-level elements in RESQML.

Inherits from AbstractCitedDataObject in the commonV2 package of the model.

CellOverlap dataclass

CellOverlap(
    *,
    count: None | int = None,
    parent_child_cell_pairs: None | AbstractIntegerArray = None,
    overlap_volume: None | OverlapVolume = None,
)

Optional cell volume overlap information between the current grid (the child) and the parent grid.

Use this data-object when the child grid has an explicitly defined geometry, and these relationships cannot be inferred from the regrid descriptions.

PARAMETER DESCRIPTION
count

Number of parent-child cell overlaps. Must be positive.

TYPE: None | int DEFAULT: None

parent_child_cell_pairs

(Parent cell index, Child cell index) pair for each overlap. BUSINESS RULE: Length of array must equal 2 x overlapCount.

TYPE: None | AbstractIntegerArray DEFAULT: None

overlap_volume

TYPE: None | OverlapVolume DEFAULT: None

ColumnLayerSplitCoordinateLines dataclass

ColumnLayerSplitCoordinateLines(
    *,
    count: int,
    pillar_indices: AbstractIntegerArray,
    columns_per_split_coordinate_line: ResqmlJaggedArray,
    split_column_edges: None | ColumnLayerSplitColumnEdges = None,
)

Definition of the indexing for the split coordinate lines.

When present, this indexing contributes to the coordinate line nodes.

PARAMETER DESCRIPTION
count

Number of split coordinate lines. The count must be positive.

TYPE: int

pillar_indices

Pillar index for each split coordinate line. Length of this array is equal to the number of split coordinate lines. For the first pillarCount lines, the index of the coordinate line equals the index of the corresponding pillar. This array provides the pillar indices for the additional (split) coordinate lines. Used to implicitly define column and cell geometry.

TYPE: AbstractIntegerArray

columns_per_split_coordinate_line

Column indices for each of the split coordinate lines. Used to implicitly define column and cell geometry. List-of-lists construction used to support shared coordinate lines.

TYPE: ResqmlJaggedArray

split_column_edges

TYPE: None | ColumnLayerSplitColumnEdges DEFAULT: None

ConnectionInterpretations dataclass

ConnectionInterpretations(
    *,
    interpretation_indices: ResqmlJaggedArray,
    feature_interpretation: list[DataObjectReference] = list(),
)
PARAMETER DESCRIPTION
interpretation_indices

Indices for the interpretations for each connection, if any. The use of a Resqml jagged array allows zero or more than one interpretation to be associated with a single connection.

TYPE: ResqmlJaggedArray

feature_interpretation

TYPE: list[DataObjectReference] DEFAULT: list()

DoubleLatticeArray dataclass

DoubleLatticeArray(
    *, start_value: float, offset: list[DoubleConstantArray] = list()
)

Bases: AbstractDoubleArray

Represents an array of doubles based on an origin and a multi-dimensional offset.

The offset is based on a linearization of a multi-dimensional offset. If count(i) is the number of elements in the dimension i and offset(i) is the offset in the dimension i, then: globalOffsetInNDimension = startValue+ nioffset(n) + n_1icount(n)offset(n-1) + .... + 0icount(n)count(n-1)....count(1)*offset(0)

PARAMETER DESCRIPTION
start_value

Value representing the global start for the lattice.

TYPE: float

offset

TYPE: list[DoubleConstantArray] DEFAULT: list()

IjSplitColumnEdges dataclass

IjSplitColumnEdges(
    *, count: int, pillars_per_split_column_edge: ResqmlJaggedArray
)

Used to construct the indices for the cell faces.

For IJK grids with IJ gaps, the split column edge indices must be defined explicitly. Otherwise, column edges are not required to describe the lowest order grid geometry, but may be needed for higher order geometries or properties.

PARAMETER DESCRIPTION
count

Number of IJ split column edges in this grid. Must be positive.

TYPE: int

pillars_per_split_column_edge

Definition of the split column edges in terms of the pillars per split column edge. Pillar count per edge is usually 2, but the list- of-lists construction is used to allow split column edges to be defined by more than 2 pillars.

TYPE: ResqmlJaggedArray

IntegerLatticeArray dataclass

IntegerLatticeArray(
    *, start_value: int, offset: list[IntegerConstantArray] = list()
)

Bases: AbstractIntegerArray

Represents an array of integers based on an origin and a multi-dimensional offset.

The offset is based on a linearization of a multi-dimensional offset. If count(i) is the number of elements in the dimension i and offset(i) is the offset in the dimension i, then: globalOffsetInNDimension = startValue+ nioffset(n) + n_1icount(n)offset(n-1) + .... + 0icount(n)count(n-1)....count(1)*offset(0)

PARAMETER DESCRIPTION
start_value

Value representing the global start for the lattice: i.e., iStart + jStartni + kStartni*nj

TYPE: int

offset

TYPE: list[IntegerConstantArray] DEFAULT: list()

NodesPerCell dataclass

NodesPerCell(*, nodes_per_cell: ResqmlJaggedArray)

Optional component of Unstructured Cell Finite Elements.

The choice of node order per cell is important for effective use of the RESQML finite element representations. If you are working with an application with a particular node ordering per cell, be sure to specify the nodes in that order here, for ease of use. BUSINESS RULE: If cell subnodes are used for unstructured grids, then nodes per cell must be defined.

PARAMETER DESCRIPTION
nodes_per_cell

Defines an ordered list of nodes per cell.

TYPE: ResqmlJaggedArray

NonSealedContactRepresentationPart dataclass

NonSealedContactRepresentationPart(
    *,
    index: int,
    contact: list[ContactPatch] = list(),
    geometry: AbstractGeometry,
)

Bases: AbstractContactRepresentationPart

Defines a nonsealed contact representation, meaning that this contact representation is defined by a geometry.

ParametricLineArray dataclass

ParametricLineArray(
    *,
    control_point_parameters: None | AbstractDoubleArray = None,
    control_points: AbstractPoint3dArray,
    knot_count: int,
    line_kind_indices: AbstractIntegerArray,
    tangent_vectors: None | AbstractPoint3dArray = None,
    parametric_line_intersections: None | ParametricLineIntersections = None,
)

Bases: AbstractParametricLineArray

Defines an array of parametric lines of multiple kinds.

These are the documented parametric line kinds; see additional information below: 0 = vertical 1 = linear spline (piecewise linear) 2 = natural cubic spline 3 = cubic spline 4 = Z linear cubic spline 5 = minimum-curvature spline (-1) = null: no line If isBounded=true in the line definition, then any out of range parametric values in the parametric points are truncated to the first or last control point. Otherwise, the interpolant in the first or last interval is used as an extrapolating function. Special Cases: (1) Natural cubic splines with only two control points reduce to linear interpolation. (2) If required but not defined, tangent vectors at a spline knot are calculated from the control point data using a quadratic fit to the control point and the two adjacent control points (if internal) or, if at an edge, by a vanishing second derivative. This calculation reduces locally to a natural spline. (3) If not expected but provided, then extraneous information is to be ignored, e.g., tangent vectors for linear splines. Vertical: (1) Control points are (X,Y,-). (2) Parameter values are interpreted as depth => (X,Y,Z), where the depth to Z conversion depends on the vertical CRS direction. Piecewise Linear: (1) Control points are (P,X,Y,Z). (2) Piecewise interpolation in (X,Y,Z) as a linear function of P. Natural Cubic: (1) Control points are (P,X,Y,Z). (2) First and second derivatives at each knot are inferred from a quadratic fit to the two adjacent control points, if internal, or, if external knots, by specifying a vanishing second derivative. (3) Interpolating basis functions are obtained by specifying values and second derivatives at the knots. Cubic and Minimum-Curvature. (1) Control points are (P,X,Y,Z). (2) Tangent vectors are (P,TX,TY,TZ). Tangent vectors are defined as the derivative of position with respect to the parameter. If the parameter is arc-length, then the tangent vectors are unit vectors, but not otherwise. (3) Interpolating cubic basis functions obtained by specifying values and first derivatives at the knots. (4) Interpolating minimum-curvature basis functions obtained by a circular arc construction that is constrained by the knot data. This differs from the unconstrained "drilling" algorithm in which the knot locations are not independent but for which the parameter must be arc length. Z Linear Cubic: (1) (X,Y) follow a natural cubic spline and Z follows a linear spline. (2) Parametric values cannot be freely chosen but are instead defined to take the values of 0,,,.N for a line with N intervals, N+1 control points. (3) On export, to go from Z to P, the RESQML "software writer" first needs to determine the interval and then uses linearity in Z to determine P. For the control points, the P values are 0...N and for values of Z, other than the control points, intermediate values of P arise. (4) On import, a RESQML "software reader" converts from P to Z using piecewise linear interpolation, and from P to X and Y using natural cubic spline interpolation. Other than the differing treatment of Z from X and Y, these are completely generic interpolation algorithms. (5) The use of P instead of Z for interpolation allows support for over-turned reservoir structures and removes any apparent discontinuities in parametric derivatives at the spline knots.

PARAMETER DESCRIPTION
control_point_parameters

An optional array of explicit control point parameters for all of the control points on each of the parametric lines. Used only if control point parameters are present. The number of explicit control point parameters per line is given by the count of non-null parameters on each line. Described as a 1D array, the control point parameter array is divided into segments of length count, with null (NaN) values added to each segment to fill it up. Size = count x #Lines, e.g., 2D or 3D BUSINESS RULE: This count should be zero for vertical and Z linear cubic parametric lines. For all other parametric line kinds, there should be one control point parameter for each control point. NOTES: (1) Vertical parametric lines do not require control point parameters (2) Z linear cubic splines have implicitly defined parameters. For a line with N intervals (N+1 control points), the parametric values are P=0,...,N. BUSINESS RULE: The parametric values must be strictly monotonically increasing on each parametric line.

TYPE: None | AbstractDoubleArray DEFAULT: None

control_points

An array of 3D points for all of the control points on each of the parametric lines. The number of control points per line is given by the count of non-null 3D points on each line. Described as a 1D array, the control point array is divided into segments of length count, with null (NaN) values added to each segment to fill it up. Size = count x #Lines, e.g., 2D or 3D

TYPE: AbstractPoint3dArray

knot_count

The first dimension of the control point, control point parameter, and tangent vector arrays for the parametric splines. The Knot Count is typically chosen to be the maximum number of control points, parameters or tangent vectors on any parametric line in the array of parametric lines.

TYPE: int

line_kind_indices

An array of integers indicating the parametric line kind. 0 = vertical 1 = linear spline 2 = natural cubic spline 3 = cubic spline 4 = Z linear cubic spline 5 = minimum-curvature spline (-1) = null: no line Size = #Lines, e.g., (1D or 2D)

TYPE: AbstractIntegerArray

tangent_vectors

An optional array that is of tangent vectors for all of the control points on each of the cubic and minimum-curvature parametric lines. Used only if tangent vectors are present. The number of tangent vectors per line is given by the count of non-null tangent vectors on each of these line kinds. Described as a 1D array, the tangent vector array is divided into segments of length count, with null (NaN) values added to each segment to fill it up. Size = count x #Lines, e.g., 2D or 3D BUSINESS RULE: For all lines other than the cubic and minimum-curvature parametric lines, this count is zero. For these line kinds, there is one tangent vector for each control point. If a tangent vector is missing, then it is computed in the same fashion as for a natural cubic spline. Specifically, to obtain the tangent at internal knots, the control points are fit by a quadratic function with the two adjacent control points. At edge knots, the second derivative vanishes.

TYPE: None | AbstractPoint3dArray DEFAULT: None

parametric_line_intersections

TYPE: None | ParametricLineIntersections DEFAULT: None

PatchOfGeometry dataclass

PatchOfGeometry(
    *, representation_patch_index: None | int = None, geometry: AbstractGeometry
)

Indicates which patch of the representation has a new geometry.

PARAMETER DESCRIPTION
representation_patch_index

Patch index for the geometry attachment, if required

TYPE: None | int DEFAULT: None

geometry

TYPE: AbstractGeometry

Point3dLatticeArray dataclass

Point3dLatticeArray(
    *,
    all_dimensions_are_orthogonal: None | bool = None,
    origin: Point3d,
    offset: list[Point3dOffset] = list(),
)

Bases: AbstractPoint3dArray

Describes a lattice array of points obtained by sampling from along a multi- dimensional lattice.

Each dimension of the lattice can be uniformly or irregularly spaced.

PARAMETER DESCRIPTION
all_dimensions_are_orthogonal

The optional element that indicates that the offset vectors for each direction are mutually orthogonal to each other. This meta- information is useful to remove any doubt of orthogonality in case of numerical precision issues. BUSINESS RULE: If you don't know it or if only one lattice dimension is given, do not provide this element.

TYPE: None | bool DEFAULT: None

origin

The origin location of the lattice given as XYZ coordinates.

TYPE: Point3d

offset

TYPE: list[Point3dOffset] DEFAULT: list()

PointGeometry dataclass

PointGeometry(
    *,
    time_index: None | TimeIndex = None,
    local_crs: DataObjectReference,
    points: AbstractPoint3dArray,
    seismic_coordinates: None | AbstractSeismicCoordinates = None,
)

Bases: AbstractGeometry

The geometry of a set of points defined by their location in the local CRS, with optional seismic coordinates.

Regrid dataclass

Regrid(
    *, initial_index_on_parent_grid: int, intervals: None | Intervals = None
)

One-dimensional I, J, or K refinement and coarsening regrid specification.

The regrid description is organized using intervals. Within each interval, the number of parent and child cells is specified. Parent and child grid cell faces are aligned at interval boundaries. By default, child cells are uniformly sized within an interval unless weights are used to modify their size. If the child grid is a root grid with an independent geometry, then there will usually be only a single interval for a regrid, because internal cell faces are not necessarily aligned.

PARAMETER DESCRIPTION
initial_index_on_parent_grid

0-based index for the placement of the window on the parent grid.

TYPE: int

intervals

TYPE: None | Intervals DEFAULT: None

SealedContactRepresentationPart dataclass

SealedContactRepresentationPart(
    *,
    index: int,
    identical_node_indices: None | AbstractIntegerArray = None,
    identity_kind: IdentityKind,
    contact: list[ContactPatch] = list(),
)

Bases: AbstractContactRepresentationPart

Sealed contact elements that indicate that 2 or more contact patches are partially or totally colocated or equivalent.

For possible types of identity, see IdentityKind.

PARAMETER DESCRIPTION
identical_node_indices

Indicate which nodes (identified by their common index in all contact patches) of the contact patches are identical. If this list is not present, then it indicates that all nodes in each representation are identical, on an element-by-element level.

TYPE: None | AbstractIntegerArray DEFAULT: None

identity_kind

TYPE: IdentityKind

contact

TYPE: list[ContactPatch] DEFAULT: list()

SplitEdges dataclass

SplitEdges(
    *,
    count: int,
    parent_edge_indices: AbstractIntegerArray,
    faces_per_split_edge: ResqmlJaggedArray,
)

If split nodes are used in the construction of a column layer grid and indexable elements of kind edges are referenced, then the grid edges need to be re-defined.

Use Case: finite elements, especially for higher order geometry.

PARAMETER DESCRIPTION
count

Number of edges. Must be positive.

TYPE: int

parent_edge_indices

Parent unsplit edge index for each of the additional split edges.

TYPE: AbstractIntegerArray

faces_per_split_edge

Association of faces with the split edges, used to infer continuity of property, geometry, or interpretation with an attachment kind of edges.

TYPE: ResqmlJaggedArray

StreamlinePolylineSetPatch dataclass

StreamlinePolylineSetPatch(
    *,
    patch_index: int,
    node_count: int,
    interval_count: int,
    closed_polylines: AbstractBooleanArray,
    node_count_per_polyline: AbstractIntegerArray,
    interval_grid_cells: None | IntervalGridCells = None,
)

Bases: Patch

A patch containing a set of polylines. For performance reasons, the geometry of each patch is described in only one 1D array of 3D points, which aggregates the nodes of all the polylines together. To be able to separate the polyline descriptions, additional information is added about the type of each polyline (closed or not) and the number of 3D points (node count) of each polyline.

This additional information is contained in two arrays which are associated with each polyline set patch. The dimension of these arrays is the number of polylines gathered in one polyline set patch. - The first array contains a Boolean for each polyline (closed or not closed) - The second array contains the count of nodes for each polyline.

PARAMETER DESCRIPTION
node_count

Total number of nodes. BUSINESS RULE: Should be equal to the sum of the number of nodes per polyline

TYPE: int

interval_count

Total number of intervals. BUSINESS RULE: Should be equal to the sum of the count of intervals per polyline.

TYPE: int

closed_polylines

Indicates whether a polyline is closed. If closed, then the interval count for that polyline is equal to the node count. If open, then the interval count for that polyline is one less than the node count.

TYPE: AbstractBooleanArray

node_count_per_polyline

The first number in the list defines the node count for the first polyline in the polyline set patch. The second number in the list defines the node count for the second polyline in the polyline set patch. etc.

TYPE: AbstractIntegerArray

interval_grid_cells

TYPE: None | IntervalGridCells DEFAULT: None

SubRepresentationPatch dataclass

SubRepresentationPatch(
    *,
    patch_index: int,
    count: int,
    element_indices: list[ElementIndices] = list(),
)

Bases: Patch1d

Each sub-representation patch has its own list of representation indices, drawn from the supporting representation.

If a list of pairwise elements is required, use two representation indices. The count of elements is defined in SubRepresenationPatch. Optional additional grid topology is available for grid representations.

SubnodeTopology dataclass

SubnodeTopology(
    *,
    variable_subnodes: list[VariableSubnodePatch] = list(),
    uniform_subnodes: list[UniformSubnodePatch] = list(),
)

Finite element subnode topology for an unstructured cell can be either variable or uniform, but not columnar.

TruncationCellPatch dataclass

TruncationCellPatch(
    *,
    patch_index: int,
    truncation_node_count: int,
    truncation_face_count: int,
    truncation_cell_count: int,
    nodes_per_truncation_face: ResqmlJaggedArray,
    parent_cell_indices: AbstractIntegerArray,
    local_faces_per_cell: ResqmlJaggedArray,
    truncation_faces_per_cell: ResqmlJaggedArray,
    truncation_cell_face_is_right_handed: AbstractBooleanArray,
)

Bases: Patch

Truncation definitions for the truncated and split cells.

BUSINESS RULE: Patch Index must be positive since a patch index of 0 refers to the fundamental column layer coordinate line nodes and cells.

PARAMETER DESCRIPTION
truncation_node_count

Number of additional nodes required for the truncation construction. Must be positive. Uses a separate enumeration and does not increase the number of nodes, except as noted below.

TYPE: int

truncation_face_count

Number of additional faces required for the split and truncation construction. The construction does not modify existing face definitions, but instead uses these new faces to redefine the truncated cell geometry. Must be positive. These faces are added to the enumeration of faces for the grid

TYPE: int

truncation_cell_count

Number of polyhedral cells created by truncation. Must be positive. Note: Parent cells are replace

TYPE: int

nodes_per_truncation_face

Definition of the truncation faces is in terms of an ordered list of nodes. Node indexing is EXTENDED, i.e., is based on the list of untruncated grid nodes (always first) plus the split nodes (if any) and the truncation face nodes. Relative order of split nodes and truncation face nodes is set by the pillar indices.

TYPE: ResqmlJaggedArray

parent_cell_indices

Parent cell index for each of the truncation cells. BUSINESS RULE: Size must match truncationCellCount

TYPE: AbstractIntegerArray

local_faces_per_cell

Local cell face index for those faces which are retained from the parent cell in the definition of the truncation cell. The use of a local cell face index, e.g., 0...5 for an IJK cell, can be used even if the face indices have not been defined.

TYPE: ResqmlJaggedArray

truncation_faces_per_cell

Truncation face index for the additional cell faces which are required to complete the definition of the truncation cell. The resulting local cell face index follows the local faces per cell list, followed by the truncation faces in the order within the list- of-lists constructions.

TYPE: ResqmlJaggedArray

truncation_cell_face_is_right_handed

Boolean mask used to indicate which truncation cell faces have an outwardly directed normal, following a right hand rule. Data size and order follows the truncationFacesPerCell list-of-lists.

TYPE: AbstractBooleanArray

UnstructuredColumnEdges dataclass

UnstructuredColumnEdges(
    *, count: int, pillars_per_column_edge: ResqmlJaggedArray
)

Column edges are used to construct the index for faces.

For unstructured column layer grids, the column edge indices must be defined explicitly. Column edges are not required to describe lowest order grid geometry, but may be needed for higher order geometries or properties.

PARAMETER DESCRIPTION
count

Number of unstructured column edges in this grid. Must be positive.

TYPE: int

pillars_per_column_edge

Definition of the column edges in terms of the pillars per column edge. Pillar count per edge is usually 2, but the list-of-lists construction is used to allow column edges to be defined by more than 2 pillars.

TYPE: ResqmlJaggedArray

CI_Address_Type dataclass

CI_Address_Type(
    *,
    id: None | str = None,
    uuid: None | str = None,
    delivery_point: list[CharacterString_PropertyType] = list(),
    city: None | CharacterString_PropertyType = None,
    administrative_area: None | CharacterString_PropertyType = None,
    postal_code: None | CharacterString_PropertyType = None,
    country: None | CharacterString_PropertyType = None,
    electronic_mail_address: list[CharacterString_PropertyType] = list(),
)

Bases: AbstractObject_Type

Location of the responsible individual or organisation.

CI_OnlineResource_Type dataclass

CI_OnlineResource_Type(
    *,
    id: None | str = None,
    uuid: None | str = None,
    linkage: URL_PropertyType,
    protocol: None | CharacterString_PropertyType = None,
    application_profile: None | CharacterString_PropertyType = None,
    name: None | CharacterString_PropertyType = None,
    description: None | CharacterString_PropertyType = None,
    function: None | CI_OnLineFunctionCode_PropertyType = None,
)

Bases: AbstractObject_Type

Information about online sources from which the dataset, specification, or community profile name and extended metadata elements can be obtained.

CI_Telephone_Type dataclass

CI_Telephone_Type(
    *,
    id: None | str = None,
    uuid: None | str = None,
    voice: list[CharacterString_PropertyType] = list(),
    facsimile: list[CharacterString_PropertyType] = list(),
)

Bases: AbstractObject_Type

Telephone numbers for contacting the responsible individual or organisation.

secondDefiningParameter_2 dataclass

secondDefiningParameter_2(
    *, second_defining_parameter: SecondDefiningParameter_1
)

Gml:secondDefiningParameter is a property containing the definition of the second parameter that defines the shape of an ellipsoid.

An ellipsoid requires two defining parameters: semi-major axis and inverse flattening or semi-major axis and semi-minor axis. When the reference body is a sphere rather than an ellipsoid, only a single defining parameter is required, namely the radius of the sphere; in that case, the semi-major axis "degenerates" into the radius of the sphere. The inverseFlattening element contains the inverse flattening value of the ellipsoid. This value is a scale factor (or ratio). It uses gml:LengthType with the restriction that the unit of measure referenced by the uom attribute must be suitable for a scale factor, such as percent, permil, or parts-per-million. The semiMinorAxis element contains the length of the semi-minor axis of the ellipsoid. When the isSphere element is included, the ellipsoid is degenerate and is actually a sphere. The sphere is completely defined by the semi-major axis, which is the radius of the sphere.

AbstractFeature dataclass

AbstractFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractResqmlDataObject

Something that has physical existence at some point during the exploration, development, production or abandonment of a reservoir.

For example: It can be a boundary, a rock volume, a basin area, but also extends to a drilled well, a drilling rig, an injected or produced fluid, or a 2D, 3D, or 4D seismic survey. Features are divided into these categories: geologic or technical.

AbstractFeatureInterpretation dataclass

AbstractFeatureInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
)

Bases: AbstractResqmlDataObject

The main class that contains all of the other feature interpretations included in this interpreted model.

AbstractGridGeometry dataclass

AbstractGridGeometry(
    *,
    time_index: None | TimeIndex = None,
    local_crs: DataObjectReference,
    points: AbstractPoint3dArray,
    seismic_coordinates: None | AbstractSeismicCoordinates = None,
    additional_grid_points: list[AdditionalGridPoints] = list(),
)

Bases: PointGeometry

Grid geometry described by means of points attached to nodes and additional optional points which may be attached to other indexable elements of the grid representation.

AbstractLocal3dCrs dataclass

AbstractLocal3dCrs(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    yoffset: float = 0.0,
    zoffset: float = 0.0,
    areal_rotation: PlaneAngleMeasure = (
        lambda: PlaneAngleMeasure(value=0.0, uom=RAD)
    )(),
    projected_axis_order: AxisOrder2d = EASTING_NORTHING,
    projected_uom: LengthUom = M,
    vertical_uom: LengthUom,
    xoffset: float = 0.0,
    zincreasing_downward: bool = True,
    vertical_crs: AbstractVerticalCrs,
    projected_crs: AbstractProjectedCrs,
)

Bases: AbstractResqmlDataObject

Defines a local 2D+1D coordinate reference system, by translation and rotation, whose origin is located at the (X,Y,Z) Offset from the Projected and Vertical 2D+1D CRS. The units of measure in XY follow the Projected Crs. The units of measure of the third coordinate is determined in the depth or concrete type. ArealRotation is a plane angle.

Defines a local 3D CRS is subject to the following restrictions: - The projected 2d CRS must have orthogonal axes - The vertical 1d CRS must be chosen so that it is orthogonal to the plane defined by the projected 2d CRS As a consequence of the definition: - The local CRS forms a Cartesian system of axes. - The local areal axes are in the plane of the projected system. - The local areal axes are orthogonal to each other. This 3D system is semantically equivalent to a compound CRS composed of a local 2D areal system and a local 1D vertical system. The labels associated with the axes on this local system are X, Y, Z or X, Y, T. The relative orientation of the local Y axis with respect to the local X axis is identical to that of the global axes.

PARAMETER DESCRIPTION
yoffset

The Y offset of the origin of the local areal axes relative to the projected CRS origin. The value MUST represent the second axis of the coordinate system. The unit of measure is defined by the unit of measure for the projected 2D CRS.

TYPE: float DEFAULT: 0.0

zoffset

The Z offset of the origin of the local vertical axis relative to the vertical CRS origin. According to CRS type (depth or time) it corresponds to the depth or time datum The value MUST represent the third axis of the coordinate system. The unit of measure is defined by the unit of measure for the vertical CRS.

TYPE: float DEFAULT: 0.0

areal_rotation

The rotation of the local Y axis relative to the projected Y axis. - A positive value indicates a clockwise rotation from the projected Y axis. - A negative value indicates a counter-clockwise rotation form the projected Y axis.

TYPE: PlaneAngleMeasure DEFAULT: (lambda: PlaneAngleMeasure(value=0.0, uom=RAD))()

projected_axis_order

Defines the coordinate system axis order of the global projected CRS when the projected CRS is an unknown CRS, else it must be correspond to the axis order of the projected CRS.

TYPE: AxisOrder2d DEFAULT: EASTING_NORTHING

projected_uom

Unit of measure of the associated Projected CRS. When the projected CRS is not unknown, it must be the same than the unit defined by the Projected CRS.

TYPE: LengthUom DEFAULT: M

vertical_uom

Unit of measure of the associated Vertical CRS. When the vertical CRS is not unknown, it must be the same than the unit defined by the Vertical CRS.

TYPE: LengthUom

xoffset

The X location of the origin of the local areal axes relative to the projected CRS origin. The value MUST represent the first axis of the coordinate system. The unit of measure is defined by the unit of measure for the projected 2D CRS.

TYPE: float DEFAULT: 0.0

zincreasing_downward

Indicates that Z values correspond to depth values and are increasing downward, as opposite to elevation values increasing upward. When the vertical CRS is not an unknown, it must correspond to the axis orientation of the vertical CRS.

TYPE: bool DEFAULT: True

vertical_crs

TYPE: AbstractVerticalCrs

projected_crs

TYPE: AbstractProjectedCrs

AbstractParentWindow dataclass

AbstractParentWindow(*, cell_overlap: None | CellOverlap = None)

Parent window specification, organized according to the topology of the parent grid.

In addition to a window specification, for grids with I, J, and/or K coordinates, the parentage construction includes a regridding description that covers grid refinement, coarsening, or any combination of the two.

AbstractProperty dataclass

AbstractProperty(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
)

Bases: AbstractResqmlDataObject

Base class for storing all property values on representations, except current geometry location.

Values attached to a given element can be either a scalar or a vector. The size of the vector is constant on all elements, and it is assumed that all elements of the vector have identical property types and share the same unit of measure.

PARAMETER DESCRIPTION
count

Number of elements in a 1D list of properties. When used in a multi- dimensional array, count is always the fastest.

TYPE: int

indexable_element

TYPE: IndexableElements

realization_index

Optional element indicating the realization index (metadata). Used if the property is the result of a multi-realization process.

TYPE: None | int DEFAULT: None

time_step

Indicates that the property is the output of a specific time step from a flow simulator. Time step is metadata that makes sense in the context of a specific simulation run, and should not be confused with the time index.

TYPE: None | int DEFAULT: None

time_index

TYPE: None | TimeIndex DEFAULT: None

supporting_representation

TYPE: DataObjectReference

local_crs

TYPE: None | DataObjectReference DEFAULT: None

property_kind

TYPE: AbstractPropertyKind

AbstractPropertyLookup dataclass

AbstractPropertyLookup(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractResqmlDataObject

Generic representation of a property lookup table.

Each derived element provides specific lookup methods for different data types.

AbstractRepresentation dataclass

AbstractRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
)

Bases: AbstractResqmlDataObject

The parent class of all specialized digital descriptions, which may provide a representation of a feature interpretation or a technical feature. It may be either of these:

  • based on a topology and contains the geometry of this digital description.
  • based on the topology or the geometry of another representation. Not all representations require a defined geometry. For example, it is not required for block-centered grids or wellbore frames. For representations without geometry, a software writer may provide null (NaN) values in the local 3D CRS, which is mandatory. TimeIndex is provided to describe time-dependent geometry.

ColumnLayerSubnodeTopology dataclass

ColumnLayerSubnodeTopology(
    *,
    variable_subnodes: list[VariableSubnodePatch] = list(),
    uniform_subnodes: list[UniformSubnodePatch] = list(),
    column_subnodes: list[ColumnSubnodePatch] = list(),
)

Bases: SubnodeTopology

This data-object consists of the Unstructured Cell Finite Elements subnode topology plus the column subnodes.

Grid2dPatch dataclass

Grid2dPatch(
    *,
    patch_index: int,
    fastest_axis_count: int,
    slowest_axis_count: int,
    geometry: PointGeometry,
)

Bases: Patch

Patch representing a single 2D grid and its geometry.

The FastestAxisCount and the SlowestAxisCount determine the indexing of this grid 2D patch, by defining a one dimensional index for the 2D grid as follows: Index = FastestIndex + FastestAxisCount * SlowestIndex This indexing order IS the data order when stored in HDF5, in which case, this would be a SlowestAxisCount*FastestAxisCount two dimensional array in HDF5.

PARAMETER DESCRIPTION
fastest_axis_count

The number of nodes in the fastest direction.

TYPE: int

slowest_axis_count

The number of nodes in the slowest direction.

TYPE: int

geometry

TYPE: PointGeometry

HorizontalPlaneGeometry dataclass

HorizontalPlaneGeometry(
    *,
    time_index: None | TimeIndex = None,
    local_crs: DataObjectReference,
    coordinate: float,
)

Bases: AbstractPlaneGeometry

Defines the infinite geometry of a horizontal plane provided by giving its unique Z value.

IjGaps dataclass

IjGaps(
    *,
    split_pillar_count: None | int = None,
    parent_pillar_indices: None | AbstractIntegerArray = None,
    columns_per_split_pillar: None | ResqmlJaggedArray = None,
    ij_split_column_edges: None | IjSplitColumnEdges = None,
)

Optional object used to indicate that adjacent columns of the model are split from each other, which is modeled by introducing additional (split) pillars.

PARAMETER DESCRIPTION
split_pillar_count

Number of split pillars in the model. Count must be positive.

TYPE: None | int DEFAULT: None

parent_pillar_indices

Parent pillar index for each of the split pillars. This information is used to infer the grid cell geometry. BUSINESS RULE: Array length must match splitPillarCount.

TYPE: None | AbstractIntegerArray DEFAULT: None

columns_per_split_pillar

List of columns for each of the split pillars. This information is used to infer the grid cell geometry. BUSINESS RULE: The length of the first list-of-lists array must match the splitPillarCount.

TYPE: None | ResqmlJaggedArray DEFAULT: None

ij_split_column_edges

TYPE: None | IjSplitColumnEdges DEFAULT: None

NodePatch dataclass

NodePatch(*, patch_index: int, count: int, geometry: PointGeometry)

Bases: Patch1d

Patch representing a list of nodes to which geometry may be attached.

ParametricLineFromRepresentationGeometry dataclass

ParametricLineFromRepresentationGeometry(
    *,
    time_index: None | TimeIndex = None,
    local_crs: DataObjectReference,
    line_indiex_on_supporting_representation: int,
    supporting_representation: DataObjectReference,
)

Bases: AbstractParametricLineGeometry

The parametric line extracted from an existing representation.

BUSINESS RULE: The supporting representation must have pillars or lines as indexable elements.

PARAMETER DESCRIPTION
line_indiex_on_supporting_representation

The line index of the selected line in the supporting representation. For a column-layer grid, the parametric lines follow the indexing of the pillars.

TYPE: int

supporting_representation

TYPE: DataObjectReference

ParametricLineFromRepresentationLatticeArray dataclass

ParametricLineFromRepresentationLatticeArray(
    *,
    line_indices_on_supporting_representation: IntegerLatticeArray,
    supporting_representation: DataObjectReference,
)

Bases: AbstractParametricLineArray

The lattice array of parametric lines extracted from an existing representation.

BUSINESS RULE: The supporting representation must have pillars or lines as indexable elements.

PARAMETER DESCRIPTION
line_indices_on_supporting_representation

The line indices of the selected lines in the supporting representation. The index selection is regularly incremented from one node to the next node. BUSINESS RULE: The dimensions of the integer lattice array must be consistent with the dimensions of the supporting representation. For a column-layer grid, the parametric lines follow the indexing of the pillars. BUSINESS RULE: The start value of the integer lattice array must be the linearized index of the starting line. Example: iStart + ni * jStart in case of a supporting 2D grid.

TYPE: IntegerLatticeArray

supporting_representation

TYPE: DataObjectReference

ParametricLineGeometry dataclass

ParametricLineGeometry(
    *,
    time_index: None | TimeIndex = None,
    local_crs: DataObjectReference,
    control_point_parameters: None | AbstractDoubleArray = None,
    control_points: AbstractPoint3dArray,
    knot_count: int,
    line_kind_index: int,
    tangent_vectors: None | AbstractPoint3dArray = None,
)

Bases: AbstractParametricLineGeometry

Defines a parametric line of any kind.

For more information on the supported parametric lines, see ParametricLineArray.

PARAMETER DESCRIPTION
control_point_parameters

An optional array of explicit control point parameters for the control points on the parametric line. Used only if control point parameters are present. NOTES: (1) Vertical parametric lines do not require control point parameters. (2) Z linear cubic splines have implicitly defined parameters. For a line with N intervals (N+1 control points), the parametric values are P=0,...,N. BUSINESS RULE: If present, the size must match the number of control points. BUSINESS RULE: For vertical and Z linear cubic parametric lines, this count must be zero. For all other parametric line kinds, each control point must have one control point parameter. BUSINESS RULE: The parametric values must be strictly monotonically increasing on each parametric line. This is an optional array which should only be used if control point parameters are present. BUSINESS RILE: If present, the size must match the number of control points. BUSINESS RULE: This count should be zero for vertical and Z linear cubic parametric lines. For all other parametric line kinds there should be one control point parameter for each control point. Notes: (1) Vertical parametric lines do not require control point parameters (2) Z linear cubic splines have implicitly defined parameters. For a line with N intervals (N+1 control points), the parametric values are P=0,...,N. BUSINESS RULE: The parametric values must be strictly monotonically increasing on each parametric line.

TYPE: None | AbstractDoubleArray DEFAULT: None

control_points

An array of 3D points for the control points on the parametric line.

TYPE: AbstractPoint3dArray

knot_count

Number of spline knots in the parametric line.

TYPE: int

line_kind_index

Integer indicating the parametric line kind 0 for vertical 1 for linear spline 2 for natural cubic spline 3 for cubic spline 4 for z linear cubic spline 5 for minimum-curvature spline (-1) for null: no line

TYPE: int

tangent_vectors

An optional array of tangent vectors for each control point on the cubic and minimum-curvature parametric lines. Used only if tangent vectors are present. If a tangent vector is missing, then it is computed in the same fashion as for a natural cubic spline. Specifically, to obtain the tangent at internal knots, the control points are fit by a quadratic function with the two adjacent control points. At edge knots, the second derivative vanishes.

TYPE: None | AbstractPoint3dArray DEFAULT: None

Point3dFromRepresentationLatticeArray dataclass

Point3dFromRepresentationLatticeArray(
    *,
    node_indices_on_supporting_representation: IntegerLatticeArray,
    supporting_representation: DataObjectReference,
)

Bases: AbstractPoint3dArray

A lattice array of points extracted from an existing representation.

BUSINESS RULE: The supporting representation must have nodes as indexable elements

PARAMETER DESCRIPTION
node_indices_on_supporting_representation

The node indices of the selected nodes in the supporting representation. The index selection is regularly incremented from one node to the next node. BUSINESS RULE: The node indices must be consistent with the size of supporting representation.

TYPE: IntegerLatticeArray

supporting_representation

TYPE: DataObjectReference

PolylineSetPatch dataclass

PolylineSetPatch(
    *,
    patch_index: int,
    closed_polylines: AbstractBooleanArray,
    node_count_per_polyline: AbstractIntegerArray,
    geometry: PointGeometry,
)

Bases: Patch

A patch containing a set of polylines. For performance reasons, the geometry of each patch is described in only one 1D array of 3D points, which aggregates the nodes of all the polylines together. To be able to separate the polyline descriptions, additional information is added about the type of each polyline (closed or not) and the number of 3D points (node count) of each polyline.

This additional information is contained in two arrays which are associated with each polyline set patch. The dimension of these arrays is the number of polylines gathered in one polyline set patch. - The first array contains a Boolean for each polyline (closed or not closed) - The second array contains the count of nodes for each polyline.

PARAMETER DESCRIPTION
closed_polylines

TYPE: AbstractBooleanArray

node_count_per_polyline

The first number in the list defines the node count for the first polyline in the polyline set patch. The second number in the list defines the node count for the second polyline in the polyline set patch. etc.

TYPE: AbstractIntegerArray

geometry

TYPE: PointGeometry

SplitFaces dataclass

SplitFaces(
    *,
    count: int,
    parent_face_indices: AbstractIntegerArray,
    cell_indices: AbstractIntegerArray,
    split_edges: None | SplitEdges = None,
)

Optional construction used to introduce additional faces created by split nodes.

Used to represent complex geometries, e.g., for stair-step grids and reverse faults.

PARAMETER DESCRIPTION
count

Number of additional split faces. Count must be positive.

TYPE: int

parent_face_indices

Parent unsplit face index for each of the additional split faces.

TYPE: AbstractIntegerArray

cell_indices

Cell index for each split face. Used to implicitly define cell geometry.

TYPE: AbstractIntegerArray

split_edges

TYPE: None | SplitEdges DEFAULT: None

TiltedPlaneGeometry dataclass

TiltedPlaneGeometry(
    *,
    time_index: None | TimeIndex = None,
    local_crs: DataObjectReference,
    plane: list[ThreePoint3d] = list(),
)

Bases: AbstractPlaneGeometry

Describes the geometry of a tilted (or potentially not tilted) plane from three points.

TrianglePatch dataclass

TrianglePatch(
    *,
    patch_index: int,
    count: int,
    node_count: int,
    triangles: AbstractIntegerArray,
    geometry: PointGeometry,
    split_edge_patch: list[EdgePatch] = list(),
)

Bases: Patch1d

Patch made of triangles, where the number of triangles is given by the patch count. BUSINESS RULE: Within a patch, all the triangles must be contiguous. The patch contains: - Number of nodes within the triangulation and their locations. - 2D array describing the topology of the triangles. Two triangles that are connected may be in different patches.

PARAMETER DESCRIPTION
node_count

TYPE: int

triangles

The triangles are a 2D array of non-negative integers with the dimensions 3 x numTriangles.

TYPE: AbstractIntegerArray

geometry

TYPE: PointGeometry

split_edge_patch

TYPE: list[EdgePatch] DEFAULT: list()

UnstructuredSubnodeTopology dataclass

UnstructuredSubnodeTopology(
    *,
    variable_subnodes: list[VariableSubnodePatch] = list(),
    uniform_subnodes: list[UniformSubnodePatch] = list(),
    edges: None | Edges = None,
    nodes_per_cell: None | NodesPerCell = None,
)

Bases: SubnodeTopology

If edge subnodes are used, then edges must be defined.

If cell subnodes are used, nodes per cell must be defined.

WellboreMarker dataclass

WellboreMarker(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    fluid_contact: None | FluidContact = None,
    fluid_marker: None | FluidMarker = None,
    geologic_boundary_kind: None | GeologicBoundaryKind = None,
    witsml_formation_marker: None | DataObjectReference = None,
    interpretation: None | DataObjectReference = None,
)

Bases: AbstractResqmlDataObject

Representation of a wellbore marker that is located along a wellbore trajectory, one for each MD value in the wellbore frame.

BUSINESS RULE: Ordering of the wellbore markers must match the ordering of the nodes in the wellbore marker frame representation

PARAMETER DESCRIPTION
fluid_contact

TYPE: None | FluidContact DEFAULT: None

fluid_marker

TYPE: None | FluidMarker DEFAULT: None

geologic_boundary_kind

TYPE: None | GeologicBoundaryKind DEFAULT: None

witsml_formation_marker

Optional WITSML wellbore reference of the well marker frame.

TYPE: None | DataObjectReference DEFAULT: None

interpretation

TYPE: None | DataObjectReference DEFAULT: None

obj_Activity dataclass

obj_Activity(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    parent: None | DataObjectReference = None,
    activity_descriptor: DataObjectReference,
    parameter: list[AbstractActivityParameter] = list(),
)

Bases: AbstractResqmlDataObject

Instance of a given activity.

obj_ActivityTemplate dataclass

obj_ActivityTemplate(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    parameter: list[ParameterTemplate] = list(),
)

Bases: AbstractResqmlDataObject

Description of one type of activity.

obj_GlobalChronostratigraphicColumn dataclass

obj_GlobalChronostratigraphicColumn(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    chronostratigraphic_column_component: list[
        ChronostratigraphicRank
    ] = list(),
)

Bases: AbstractResqmlDataObject

Chronological successions of some chronostratigraphic units organized into 1 to n chronological ranks.

obj_LocalGridSet dataclass

obj_LocalGridSet(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    activation: None | Activation = None,
    child_grid: list[DataObjectReference] = list(),
)

Bases: AbstractResqmlDataObject

Used to activate and/or deactivate the specified children grids as local grids on their parents.

Once activated, this object indicates that a child grid replaces local portions of the corresponding parent grid. Parentage is inferred from the child grid construction. Without a grid set activation, the local grids are always active. Otherwise, the grid set activation is used to activate and/or deactivate the local grids in the set at specific times.

obj_MdDatum dataclass

obj_MdDatum(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    location: Point3d,
    md_reference: MdReference,
    local_crs: DataObjectReference,
)

Bases: AbstractResqmlDataObject

Specifies the location of the measured depth = 0 reference point.

The location of this reference point is defined with respect to a CRS, which need not be the same as the CRS of a wellbore trajectory representation, which may reference this location.

PARAMETER DESCRIPTION
location

The location of the md reference point relative to a local CRS.

TYPE: Point3d

md_reference

TYPE: MdReference

local_crs

TYPE: DataObjectReference

obj_PropertyKind dataclass

obj_PropertyKind(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    naming_system: str,
    is_abstract: bool,
    representative_uom: ResqmlUom,
    parent_property_kind: AbstractPropertyKind,
)

Bases: AbstractResqmlDataObject

A description of a property name relative to a standard definition.

For example, you may specify if the property kind is abstract, the dictionary in which the property is unique, and the representative unit of measure.

PARAMETER DESCRIPTION
naming_system

The name of the dictionary within which the property is unique. This also defines the name of the controlling authority. Use a URN of the form "urn:x-resqml:domainOrEmail:dictionaryName". An example public dictionary: "urn:resqml:energistics.org:RESQML" assigned to values defined by ResqmlPropertyKind. An example corporate dictionary: "urn:resqml:slb.com:product-x". An example personal dictionary: "urn:resqml:first.last@mycompany.com:my.first.dictionary". The purpose of this scheme is to generate a unique name. Parsing for semantics is not intended.

TYPE: str

is_abstract

A value of true indicates that the property kind is abstract and an instance of property values must not represent this kind. A value of false indicates otherwise (i.e., that an instance of property values may represent this kind).

TYPE: bool

representative_uom

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”.

TYPE: ResqmlUom

parent_property_kind

TYPE: AbstractPropertyKind

obj_PropertySet dataclass

obj_PropertySet(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    time_set_kind: TimeSetKind,
    has_single_property_kind: bool,
    has_multiple_realizations: bool,
    parent_set: list[DataObjectReference] = list(),
    properties: list[DataObjectReference] = list(),
)

Bases: AbstractResqmlDataObject

A set of properties collected together for a specific purpose.

For example, a property set can be used to collect all the properties corresponding to the simulation output at a single time, or all the values of a single property type for all times.

PARAMETER DESCRIPTION
time_set_kind

TYPE: TimeSetKind

has_single_property_kind

If true, indicates that the collection contains only property values associated with a single property kind.

TYPE: bool

has_multiple_realizations

If true, indicates that the collection contains properties with defined realization indices.

TYPE: bool

parent_set

A pointer to the parent property group of this property group.

TYPE: list[DataObjectReference] DEFAULT: list()

properties

TYPE: list[DataObjectReference] DEFAULT: list()

obj_StratigraphicColumn dataclass

obj_StratigraphicColumn(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    ranks: list[DataObjectReference] = list(),
)

Bases: AbstractResqmlDataObject

A global interpretation of the stratigraphy, which can be made up of several ranks of stratigraphic unit interpretations.

BUSINESS RULE: All stratigraphic column rank interpretations that make up a stratigraphic column must be ordered by age.

obj_TimeSeries dataclass

obj_TimeSeries(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    time: list[Timestamp] = list(),
    time_series_parentage: None | TimeSeriesParentage = None,
)

Bases: AbstractResqmlDataObject

Stores an ordered list of times, for example, for time-dependent properties, geometries, or representations.

It is used in conjunction with the time index to specify times for RESQML.

PARAMETER DESCRIPTION
time

Individual times composing the series. The list ordering is used by the time index.

TYPE: list[Timestamp] DEFAULT: list()

time_series_parentage

TYPE: None | TimeSeriesParentage DEFAULT: None

AbstractGML dataclass

AbstractGML(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: None | identifier = None,
    name: list[name] = list(),
    id: str,
)

Bases: AbstractGMLType

The abstract element gml:AbstractGML is "any GML object having identity".

It acts as the head of an XML Schema substitution group, which may include any element which is a GML feature, or other object, with identity. This is used as a variable in content models in GML core and application schemas. It is effectively an abstract superclass for all GML objects.

AbstractGeologicFeature dataclass

AbstractGeologicFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractFeature

Objects that exist a priori, in the natural world, for example: the rock formations and how they are positioned with regard to each other; the fluids that are present before production; or the position of the geological intervals with respect to each.

Some of these objects are static—such as geologic intervals---while others are dynamic—such as fluids; their properties, geometries, and quantities may change over time during the course of field production. RESQML has these types of features: geologic and technical.

AbstractGridRepresentation dataclass

AbstractGridRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    parent_window: None | AbstractParentWindow = None,
    cell_stratigraphic_units: None | CellStratigraphicUnits = None,
)

Bases: AbstractRepresentation

Abstract class for all grid representations.

AbstractOrganizationInterpretation dataclass

AbstractOrganizationInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    contact_interpretation: list[AbstractContactInterpretationPart] = list(),
)

Bases: AbstractFeatureInterpretation

The main class used to group features into meaningful units as a step in working towards the goal of building an earth model (the organization of all other organizations in RESQML).

An organization interpretation: - Is typically comprised of one stack of its contained elements. - May be built on other organization interpretations. Typically contains: - contacts between the elements of this stack among themselves. - contacts between the stack elements and other organization elements.

AbstractSurfaceRepresentation dataclass

AbstractSurfaceRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    surface_role: SurfaceRole,
    boundaries: list[PatchBoundaries] = list(),
)

Bases: AbstractRepresentation

Parent class of structural surface representations, which can be bounded by an outer ring and has inner rings.

These surfaces may consist of one or more patches.

AbstractTechnicalFeature dataclass

AbstractTechnicalFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractFeature

Objects that exist by the action of humans.

Examples include: wells and all they may contain, seismic surveys (surface, permanent water bottom), or injected fluid volumes. Because the decision to deploy such equipment is the result of studies or decisions by humans, technical features are usually not subject to the same kind of large changes in interpretation as geologic features. However, they are still subject to measurement error and other sources of uncertainty, and so still can be considered as subject to “interpretation”. RESQML has these types of features: geologic and technical.

AbstractValuesProperty dataclass

AbstractValuesProperty(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
    patch_of_values: list[PatchOfValues] = list(),
    facet: list[PropertyKindFacet] = list(),
)

Bases: AbstractProperty

Base class for property values.

Each derived element provides specific property values, including point property in support of geometries.

CellParentWindow dataclass

CellParentWindow(
    *,
    cell_overlap: None | CellOverlap = None,
    cell_indices: AbstractIntegerArray,
    parent_grid: DataObjectReference,
)

Bases: AbstractParentWindow

Parent window for ANY grid indexed as if it were an unstructured cell grid, i.e., using a 1D index.

PARAMETER DESCRIPTION
cell_indices

Cell indices which list the cells in the parent window. BUSINESS RULE: Number of cells must be consistent with the child grid cell count.

TYPE: AbstractIntegerArray

parent_grid

TYPE: DataObjectReference

ColumnLayerParentWindow dataclass

ColumnLayerParentWindow(
    *,
    cell_overlap: None | CellOverlap = None,
    column_indices: AbstractIntegerArray,
    omit_parent_cells: None | AbstractIntegerArray = None,
    kregrid: Regrid,
    parent_grid: DataObjectReference,
)

Bases: AbstractParentWindow

Parent window for any column layer grid indexed as if it were an unstructured column layer grid, i.e., IJ columns are replaced by a column index.

PARAMETER DESCRIPTION
column_indices

Column indices that list the columns in the parent window. BUSINESS RULE: Number of columns must be consistent with the child grid column count.

TYPE: AbstractIntegerArray

omit_parent_cells

List of parent cells that are to be retained at their original resolution and are not to be included within a local grid. The omit allows non-rectangular local grids to be specified. 0-based indexing follows #Columns x #Layers relative to the parent window cell count, not to the parent grid.

TYPE: None | AbstractIntegerArray DEFAULT: None

kregrid

TYPE: Regrid

parent_grid

TYPE: DataObjectReference

IjkParentWindow dataclass

IjkParentWindow(
    *,
    cell_overlap: None | CellOverlap = None,
    omit_parent_cells: None | AbstractIntegerArray = None,
    jregrid: Regrid,
    parent_grid: DataObjectReference,
    kregrid: Regrid,
    iregrid: Regrid,
)

Bases: AbstractParentWindow

Parent window for any IJK grid.

PARAMETER DESCRIPTION
omit_parent_cells

List of parent cells that are to be retained at their original resolution and are not to be included within a local grid. The "omit" allows non-rectangular local grids to be specified. 0-based indexing follows NI x NJ x NK relative to the parent window cell count—not to the parent grid.

TYPE: None | AbstractIntegerArray DEFAULT: None

jregrid

TYPE: Regrid

parent_grid

TYPE: DataObjectReference

kregrid

TYPE: Regrid

iregrid

TYPE: Regrid

SplitNodePatch dataclass

SplitNodePatch(
    *,
    patch_index: int,
    count: int,
    parent_node_indices: AbstractIntegerArray,
    cells_per_split_node: ResqmlJaggedArray,
    split_faces: None | SplitFaces = None,
)

Bases: Patch

Optional construction used to introduce additional nodes on coordinate lines.

Used to represent complex geometries, e.g., for stair-step grids and reverse faults. BUSINESS RULE: Patch Index must be positive since a patch index of 0 refers to the fundamental column layer coordinate line nodes.

PARAMETER DESCRIPTION
count

Number of additional split nodes. Count must be positive.

TYPE: int

parent_node_indices

Parent coordinate line node index for each of the split nodes. Used to implicitly define cell geometry.

TYPE: AbstractIntegerArray

cells_per_split_node

Cell indices for each of the split nodes. Used to implicitly define cell geometry. List-of-lists construction used to support split nodes shared between multiple cells.

TYPE: ResqmlJaggedArray

split_faces

TYPE: None | SplitFaces DEFAULT: None

UnstructuredGridGeometry dataclass

UnstructuredGridGeometry(
    *,
    time_index: None | TimeIndex = None,
    local_crs: DataObjectReference,
    points: AbstractPoint3dArray,
    seismic_coordinates: None | AbstractSeismicCoordinates = None,
    additional_grid_points: list[AdditionalGridPoints] = list(),
    cell_shape: CellShape,
    node_count: int,
    face_count: int,
    nodes_per_face: ResqmlJaggedArray,
    faces_per_cell: ResqmlJaggedArray,
    cell_face_is_right_handed: AbstractBooleanArray,
    hinge_node_faces: None | UnstructuredGridHingeNodeFaces = None,
    subnode_topology: None | UnstructuredSubnodeTopology = None,
)

Bases: AbstractGridGeometry

Description of the geometry of an unstructured cell grid, which includes geometric characteristics, e.g., cell face parity, and supporting topology.

Each grid cell is defined by a (signed) list of cell faces. Each cell face is defined by a list of nodes.

PARAMETER DESCRIPTION
cell_shape

TYPE: CellShape

node_count

Total number of nodes in the grid. Must be positive.

TYPE: int

face_count

Total number of faces in the grid. Must be positive.

TYPE: int

nodes_per_face

List of nodes per face. node count per face can be obtained from the offsets in the first list of list array. BUSINESS RULE: faceCount must match the length of the first list of list array.

TYPE: ResqmlJaggedArray

faces_per_cell

List of faces per cell. face count per cell can be obtained from the offsets in the first list of list array. BUSINESS RULE: cellCount must match the length of the first list of list array.

TYPE: ResqmlJaggedArray

cell_face_is_right_handed

Boolean mask used to indicate which cell faces have an outwardly directed normal following a right hand rule. Array length is the sum of the cell face count per cell, and the data follows the order of the faces per cell resqml list-of-lists.

TYPE: AbstractBooleanArray

hinge_node_faces

TYPE: None | UnstructuredGridHingeNodeFaces DEFAULT: None

subnode_topology

TYPE: None | UnstructuredSubnodeTopology DEFAULT: None

obj_BoundaryFeatureInterpretation dataclass

obj_BoundaryFeatureInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
)

Bases: AbstractFeatureInterpretation

The main class for data describing an opinion of a surface feature between two volumes.

BUSINESS RULE: The data-object reference (of type "interprets") must reference only a boundary feature.

obj_DeviationSurveyRepresentation dataclass

obj_DeviationSurveyRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    witsml_deviation_survey: None | DataObjectReference = None,
    is_final: bool,
    station_count: int,
    md_uom: LengthUom,
    mds: AbstractDoubleArray,
    first_station_location: Point3d,
    angle_uom: PlaneAngleUom,
    azimuths: AbstractDoubleArray,
    inclinations: AbstractDoubleArray,
    md_datum: DataObjectReference,
    time_index: None | TimeIndex = None,
)

Bases: AbstractRepresentation

Specifies the station data from a deviation survey.

The deviation survey does not provide a complete specification of the geometry of a wellbore trajectory. Although a minimum-curvature algorithm is used in most cases, the implementation varies sufficiently that no single algorithmic specification is available as a data transfer standard. Instead, the geometry of a RESQML wellbore trajectory is represented by a parametric line, parameterized by the MD. CRS and units of measure do not need to be consistent with the CRS and units of measure for wellbore trajectory representation.

PARAMETER DESCRIPTION
witsml_deviation_survey

TYPE: None | DataObjectReference DEFAULT: None

is_final

Used to indicate that this is a final version of the deviation survey, as distinct from the interim interpretations.

TYPE: bool

station_count

Number of Stations

TYPE: int

md_uom

Units of Measure of the measured depths along this deviation survey.

TYPE: LengthUom

mds

MD values for the position of the stations BUSINESS RULE: Array length equals station count

TYPE: AbstractDoubleArray

first_station_location

XYZ location of the first station of the deviation survey.

TYPE: Point3d

angle_uom

Defines the units of measure for the azimuth and inclination

TYPE: PlaneAngleUom

azimuths

An array of azimuth angles, one for each survey station. The rotation is relative to the ProjectedCrs north with a positive value indication a clockwise rotation as seen from above. If the local CRS - whether a LocalTime3dCrs or a LocalDepth3dCrs - is rotated relative to the ProjectedCrs, the azimuths remain relative to the ProjectedCrs not the local CRS. Note that the projection’s north is not the same as true north or magnetic north. A good definition of the different kinds of “north” can be found in the OGP Surveying & Positioning Guidance Note 1 http://www.ogp.org.uk/pubs/373-01.pdf (the "True, Grid and Magnetic North bearings" paragraph). BUSINESS RULE: Array length equals station count

TYPE: AbstractDoubleArray

inclinations

Dip (or inclination) angle for each station. BUSINESS RULE: Array length equals station count

TYPE: AbstractDoubleArray

md_datum

TYPE: DataObjectReference

time_index

TYPE: None | TimeIndex DEFAULT: None

obj_DoubleTableLookup dataclass

obj_DoubleTableLookup(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    value: list[DoubleLookup] = list(),
)

Bases: AbstractPropertyLookup

Defines a function for table lookups.

For example, used for linear interpolation, such as PVT. Used for categorical property, which also may use StringTableLookup.

obj_EarthModelInterpretation dataclass

obj_EarthModelInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    stratigraphic_occurrences: list[DataObjectReference] = list(),
    stratigraphic_column: None | DataObjectReference = None,
    structure: None | DataObjectReference = None,
    fluid: None | DataObjectReference = None,
)

Bases: AbstractFeatureInterpretation

An earth model interpretation has a specific role: it gathers a maximum of one of each of these other organization interpretations: structural organization interpretation, stratigraphic organization interpretation, and/or fluid organization interpretation. BUSINESS RULE: An earth model Interpretation interprets only an earth model feature.

obj_GeologicUnitInterpretation dataclass

obj_GeologicUnitInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    geologic_unit_composition: None | GeologicUnitComposition = None,
    geologic_unit_material_implacement: None
    | GeologicUnitMaterialImplacement = None,
)

Bases: AbstractFeatureInterpretation

The main class for data describing an opinion of a volume-based geologic feature or unit.

obj_GridConnectionSetRepresentation dataclass

obj_GridConnectionSetRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    count: int,
    cell_index_pairs: AbstractIntegerArray,
    grid_index_pairs: None | AbstractIntegerArray = None,
    local_face_per_cell_index_pairs: None | AbstractIntegerArray = None,
    connection_interpretations: None | ConnectionInterpretations = None,
    grid: list[DataObjectReference] = list(),
)

Bases: AbstractRepresentation

Representation which consists of a list of connections between grid cells, potentially on different grids.

Connections are in the form of (Grid,Cell,Face)1<=>(Grid,Cell,Face)2 and are stored as three integer pair arrays corresponding to these six elements. Grid connection sets are the preferred means of representing faults on a grid. The use of cell-face-pairs is more complete than single cell-faces, which are missing a corresponding cell face entry, and only provide an incomplete representation of the topology of a fault. Unlike what is sometimes the case in reservoir simulation software, RESQML does not distinguish between standard and non-standard connections. Within RESQML if a grid connection corresponds to a "nearest neighbor" as defined by the cell indices, then it is never additive to the implicit nearest neighbor connection. BUSINESS RULE: A single cell-face-pair should not appear within more than a single grid connection set. This rule is designed to simplify the interpretation of properties assigned to multiple grid connection sets, which might otherwise have the same property defined more than once on a single connection, with no clear means of resolving the multiple values.

PARAMETER DESCRIPTION
count

count of connections. Must be positive.

TYPE: int

cell_index_pairs

2 x #Connections array of cell indices for (Cell1,Cell2) for each connection.

TYPE: AbstractIntegerArray

grid_index_pairs

2 x #Connections array of grid indices for (Cell1,Cell2) for each connection. The grid indices are obtained from the grid index pairs. If only a single grid is referenced from the grid index, then this array need not be used. BUSINESS RULE: This array should appear if more than one grid index pair is referenced.

TYPE: None | AbstractIntegerArray DEFAULT: None

local_face_per_cell_index_pairs

Optional 2 x #Connections array of local face per cell indices for (Cell1,Cell2) for each connection. Local face per cell indices are used because global face indices need not have been defined. Null value = -1. If no face per cell definition occur as part of the grid representation, e.g., for a block centered grid, then this array need not appear.

TYPE: None | AbstractIntegerArray DEFAULT: None

connection_interpretations

TYPE: None | ConnectionInterpretations DEFAULT: None

grid

TYPE: list[DataObjectReference] DEFAULT: list()

obj_LocalDepth3dCrs dataclass

obj_LocalDepth3dCrs(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    yoffset: float = 0.0,
    zoffset: float = 0.0,
    areal_rotation: PlaneAngleMeasure = (
        lambda: PlaneAngleMeasure(value=0.0, uom=RAD)
    )(),
    projected_axis_order: AxisOrder2d = EASTING_NORTHING,
    projected_uom: LengthUom = M,
    vertical_uom: LengthUom = M,
    xoffset: float = 0.0,
    zincreasing_downward: bool = True,
    vertical_crs: AbstractVerticalCrs,
    projected_crs: AbstractProjectedCrs,
)

Bases: AbstractLocal3dCrs

Defines a local depth coordinate system, the geometrical origin and location is defined by the elements of the base class AbstractLocal3dCRS.

This CRS uses the units of measure of its projected and vertical CRS.

obj_LocalTime3dCrs dataclass

obj_LocalTime3dCrs(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    yoffset: float = 0.0,
    zoffset: float = 0.0,
    areal_rotation: PlaneAngleMeasure = (
        lambda: PlaneAngleMeasure(value=0.0, uom=RAD)
    )(),
    projected_axis_order: AxisOrder2d = EASTING_NORTHING,
    projected_uom: LengthUom = M,
    vertical_uom: LengthUom,
    xoffset: float = 0.0,
    zincreasing_downward: bool = True,
    vertical_crs: AbstractVerticalCrs,
    projected_crs: AbstractProjectedCrs,
    time_uom: TimeUom,
)

Bases: AbstractLocal3dCrs

Defines a local time coordinate system, the geometrical origin and location is defined by the elements of the base class AbstractLocal3dCRS.

This CRS defines the time unit that the time-based geometries that refers it will use.

PARAMETER DESCRIPTION
time_uom

Defines the unit of measure of the third (time) coordinates, for the geometries that refers to it.

TYPE: TimeUom

obj_PointSetRepresentation dataclass

obj_PointSetRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    node_patch: list[NodePatch] = list(),
)

Bases: AbstractRepresentation

A representation that consists of one or more node patches.

Each node patch is an array of XYZ coordinates for the 3D points. There is no implied linkage between the multiple patches.

obj_PointsProperty dataclass

obj_PointsProperty(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
    patch_of_points: list[PatchOfPoints] = list(),
)

Bases: AbstractProperty

Represents the geometric information that should not be used as representation geometry, but should be used in another context where the location or geometrical vectorial distances are needed.

obj_PolylineRepresentation dataclass

obj_PolylineRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    line_role: None | LineRole = None,
    is_closed: bool,
    node_patch: NodePatch,
)

Bases: AbstractRepresentation

A representation made up of a single polyline or "polygonal chain", which may be closed or not.

Definition from Wikipedia (http://en.wikipedia.org/wiki/Piecewise_linear_curve): A polygonal chain, polygonal curve, polygonal path, or piecewise linear curve, is a connected series of line segments. More formally, a polygonal chain P is a curve specified by a sequence of points \scriptstyle(A_1, A_2, \dots, A_n) called its vertices so that the curve consists of the line segments connecting the consecutive vertices. In computer graphics a polygonal chain is called a polyline and is often used to approximate curved paths. BUSINESS RULE: To record a polyline the writer software must give the values of the geometry of each node in an order corresponding to the logical series of segments (edges). The geometry of a polyline must be a 1D array of points. A simple polygonal chain is one in which only consecutive (or the first and the last) segments intersect and only at their endpoints. A closed polygonal chain (isClosed=True) is one in which the first vertex coincides with the last one, or the first and the last vertices are connected by a line segment.

obj_PolylineSetRepresentation dataclass

obj_PolylineSetRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    line_role: None | LineRole = None,
    line_patch: list[PolylineSetPatch] = list(),
)

Bases: AbstractRepresentation

A representation made up of a set of polylines or a set of polygonal chains (for more information, see PolylineRepresentation).

For compactness, it is organized by line patch as a unique polyline set patch. if allPolylineClosed = True, all the polylines are connected between the first and the last point. Its geometry is a 1D array of points, corresponding to the concatenation of the points of all polyline points.

obj_RedefinedGeometryRepresentation dataclass

obj_RedefinedGeometryRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    patch_of_geometry: list[PatchOfGeometry] = list(),
    supporting_representation: DataObjectReference,
)

Bases: AbstractRepresentation

A representation derived from an existing representation by redefining its geometry.

Example use cases include deformation of the geometry of an object, change of coordinate system, and change of time <=> depth.

obj_RepresentationSetRepresentation dataclass

obj_RepresentationSetRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    is_homogeneous: bool,
    representation: list[DataObjectReference] = list(),
)

Bases: AbstractRepresentation

The parent class of the framework representations.

It is used to group together individual representations which may be of the same kind to represent a “bag” of representations. If the bag is homogeneous, then this may be indicated. These “bags” do not imply any geologic consistency. For example, you can define a set of wellbore frames, a set of wellbore trajectories, a set of blocked wellbores. Because the framework representations inherit from this class, they inherit the capability to gather individual representations into sealed and non-sealed surface framework representations, or sealed volume framework representations.

PARAMETER DESCRIPTION
is_homogeneous

Indicates that all of the selected representations are of a single kind.

TYPE: bool

representation

TYPE: list[DataObjectReference] DEFAULT: list()

obj_StreamlinesRepresentation dataclass

obj_StreamlinesRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    line_count: int,
    streamline_wellbores: None | StreamlineWellbores = None,
    geometry: None | StreamlinePolylineSetPatch = None,
)

Bases: AbstractRepresentation

Representation of streamlines associated with a streamline feature and interpretation.

Use StreamlinesFeature to define the vector field that supports the streamlines, i.e., describes what flux is being traced. Use Interpretation to distinguish between shared and differing interpretations. Usage Note: When defining streamline geometry, the PatchIndex will not be referenced, and may be set to a value of 0.

PARAMETER DESCRIPTION
line_count

Number of streamlines.

TYPE: int

streamline_wellbores

TYPE: None | StreamlineWellbores DEFAULT: None

geometry

TYPE: None | StreamlinePolylineSetPatch DEFAULT: None

obj_StringTableLookup dataclass

obj_StringTableLookup(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    value: list[StringLookup] = list(),
)

Bases: AbstractPropertyLookup

Defines an integer-to-string lookup table, for example, stores facies properties, where a facies index is associated with a facies name. . Used for categorical properties, which also may use a double table lookup.

obj_WellboreFrameRepresentation dataclass

obj_WellboreFrameRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    node_count: int,
    node_md: AbstractDoubleArray,
    witsml_log_reference: None | DataObjectReference = None,
    interval_stratigraphi_units: None | IntervalStratigraphicUnits = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    trajectory: DataObjectReference,
)

Bases: AbstractRepresentation

Representation of a wellbore that is organized along a wellbore trajectory by its MD values.

RESQML uses MD values to associate properties on points and to organize association of properties on intervals between MD points.

PARAMETER DESCRIPTION
node_count

Number of nodes. Must be positive.

TYPE: int

node_md

MD values for each node. BUSINESS RULE: MD values and UOM must be consistent with the trajectory representation.

TYPE: AbstractDoubleArray

witsml_log_reference

The reference to the equivalent WITSML well log.

TYPE: None | DataObjectReference DEFAULT: None

interval_stratigraphi_units

TYPE: None | IntervalStratigraphicUnits DEFAULT: None

cell_fluid_phase_units

TYPE: None | CellFluidPhaseUnits DEFAULT: None

trajectory

TYPE: DataObjectReference

obj_WellboreInterpretation dataclass

obj_WellboreInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    is_drilled: bool,
)

Bases: AbstractFeatureInterpretation

This class contains the data describing an opinion of a borehole.

This interpretation is relative to one particular well trajectory.

PARAMETER DESCRIPTION
is_drilled

Used to indicate that this wellbore has been, or is being, drilled. This distinguishes from planned wells. For one wellbore feature we may expect to have multiple wellbore interpretations: IsDrilled=TRUE for instance will be used for updated drilled trajectories. IsDrilled=FALSE for planned trajectories.

TYPE: bool

obj_WellboreTrajectoryRepresentation dataclass

obj_WellboreTrajectoryRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    start_md: float,
    finish_md: float,
    md_uom: LengthUom,
    md_domain: None | MdDomain = None,
    witsml_trajectory: None | DataObjectReference = None,
    geometry: None | AbstractParametricLineGeometry = None,
    md_datum: DataObjectReference,
    deviation_survey: None | DataObjectReference = None,
    parent_intersection: None | WellboreTrajectoryParentIntersection = None,
)

Bases: AbstractRepresentation

Representation of a wellbore trajectory.

PARAMETER DESCRIPTION
start_md

Specifies the measured depth for the start of the wellbore trajectory. Range may often be from kickoff to TD, but this is not necessary. BUSINESS RULE: Start MD is always less than the Finish MD.

TYPE: float

finish_md

Specifies the ending measured depth of the range for the wellbore trajectory. Range may often be from kickoff to TD, but this is not necessary. BUSINESS RULE: Start MD is always less than the Finish MD.

TYPE: float

md_uom

The unit of measure of the reference MD.

TYPE: LengthUom

md_domain

TYPE: None | MdDomain DEFAULT: None

witsml_trajectory

Pointer to the WITSML trajectory that is contained in the referenced wellbore. (For information about WITSML well and wellbore references, see the definition for RESQML technical feature, WellboreFeature).

TYPE: None | DataObjectReference DEFAULT: None

geometry

Explicit geometry is not required for vertical wells

TYPE: None | AbstractParametricLineGeometry DEFAULT: None

md_datum

TYPE: DataObjectReference

deviation_survey

TYPE: None | DataObjectReference DEFAULT: None

parent_intersection

TYPE: None | WellboreTrajectoryParentIntersection DEFAULT: None

EX_Extent_Type dataclass

EX_Extent_Type(
    *,
    id: None | str = None,
    uuid: None | str = None,
    description: None | CharacterString_PropertyType = None,
    geographic_element: list[EX_GeographicExtent_PropertyType] = list(),
    temporal_element: list[EX_TemporalExtent_PropertyType] = list(),
    vertical_element: list[EX_VerticalExtent_PropertyType] = list(),
)

Bases: AbstractObject_Type

Information about spatial, vertical, and temporal extent.

AbstractTimeObject dataclass

AbstractTimeObject(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: None | identifier = None,
    name: list[name] = list(),
    id: str,
)

Bases: AbstractTimeObjectType

Gml:AbstractTimeObject acts as the head of a substitution group for all temporal primitives and complexes.

AbstractColumnLayerGridGeometry dataclass

AbstractColumnLayerGridGeometry(
    *,
    time_index: None | TimeIndex = None,
    local_crs: DataObjectReference,
    points: AbstractPoint3dArray,
    seismic_coordinates: None | AbstractSeismicCoordinates = None,
    additional_grid_points: list[AdditionalGridPoints] = list(),
    kdirection: KDirection,
    pillar_geometry_is_defined: AbstractBooleanArray,
    pillar_shape: PillarShape,
    cell_geometry_is_defined: None | AbstractBooleanArray = None,
    node_is_colocated_in_kdirection: None | AbstractBooleanArray = None,
    node_is_colocated_on_kedge: None | AbstractBooleanArray = None,
    subnode_topology: None | ColumnLayerSubnodeTopology = None,
    split_coordinate_lines: None | ColumnLayerSplitCoordinateLines = None,
    split_nodes: None | SplitNodePatch = None,
)

Bases: AbstractGridGeometry

Description of the geometry of a column layer grid, e.g., parity and pinch, together with its supporting topology.

Column layer grid cell geometry is based upon nodes on coordinate lines. Geometry is contained within the representation of a grid. Point Geometry is that of the column layer coordinate line nodes. Coordinate line nodes for all of the coordinate lines, with NKL nodes per line. The numbering of these lines follow the pillar numbering if no split coordinate lines are present. The unsplit coordinate lines share an indexing with the pillars. The numbering of the remaining lines are defined in the columnsPerSplitCoordinateLine list-of-lists if split coordinate lines are present. Pillar numbering is either 1D or 2D, so for unfaulted grids, the node dimensions may follow either a 2D or 3D array. Otherwise the nodes will be 2D. In HDF5 nodes are stored as separate X, Y, Z, values, so add another dimension (size=3) which is fastest in HDF5.

PARAMETER DESCRIPTION
kdirection

TYPE: KDirection

pillar_geometry_is_defined

Indicator that a pillar has at least one node with a defined cell geometry. This is considered grid meta-data. If the indicator does not indicate that the pillar geometry is defined, then this over- rides any other node geometry specification. Array index follows #Pillars and so may be either 2d or 1d.

TYPE: AbstractBooleanArray

pillar_shape

TYPE: PillarShape

cell_geometry_is_defined

Indicator that a cell has a defined geometry. This attribute is grid metadata. If the indicator shows that the cell geometry is NOT defined, then this attribute overrides any other node geometry specification. Array index is 2D/3D.

TYPE: None | AbstractBooleanArray DEFAULT: None

node_is_colocated_in_kdirection

Optional indicator that two adjacent nodes on a coordinate line are colocated. This is considered grid meta-data, and is intended to over-ride any geometric comparison of node locations. Array index follows #CoordinateLines x (NKL-1).

TYPE: None | AbstractBooleanArray DEFAULT: None

node_is_colocated_on_kedge

Optional indicator that two adjacent nodes on the KEDGE of a cell are colocated. This is considered grid meta-data, and is intended to over-ride any geometric comparison of node locations. Array index follows #EdgesPerColumn x NKL for unstructured column layer grids and 4 x NI x NJ x NKL for IJK grids.

TYPE: None | AbstractBooleanArray DEFAULT: None

subnode_topology

TYPE: None | ColumnLayerSubnodeTopology DEFAULT: None

split_coordinate_lines

TYPE: None | ColumnLayerSplitCoordinateLines DEFAULT: None

split_nodes

TYPE: None | SplitNodePatch DEFAULT: None

AbstractColumnLayerGridRepresentation dataclass

AbstractColumnLayerGridRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    parent_window: None | AbstractParentWindow = None,
    cell_stratigraphic_units: None | CellStratigraphicUnits = None,
    nk: int,
    interval_stratigraphic_units: None | IntervalStratigraphicUnits = None,
)

Bases: AbstractGridRepresentation

Abstract class that includes IJK grids and unstructured column layer grids.

All column layer grids have a layer index K=1,...,NK or K0=0,...,NK-1. Cell geometry is characterized by nodes on coordinate lines.

PARAMETER DESCRIPTION
nk

Number of layers in the grid. Must be positive.

TYPE: int

interval_stratigraphic_units

TYPE: None | IntervalStratigraphicUnits DEFAULT: None

AbstractSeismicSurveyFeature dataclass

AbstractSeismicSurveyFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractTechnicalFeature

An organization of seismic lines. For the context of RESQML, a seismic survey does not refer to any vertical dimension information, but only really at shot point locations or common midpoint gathers. The seismic traces, if needed by reservoir models, are transferred in an industry standard format such as SEGY.

RESQML supports these basic types of seismic surveys: - seismic lattice (organization of the traces for the 3D acquisition and processing phases). - seismic line (organization of the traces for the 2D acquisition and processing phases). Additionally, these seismic lattices and seismic lines can be aggregated into sets.

AbstractStratigraphicOrganizationInterpretation dataclass

AbstractStratigraphicOrganizationInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    contact_interpretation: list[AbstractContactInterpretationPart] = list(),
    ordering_criteria: OrderingCriteria,
)

Bases: AbstractOrganizationInterpretation

The main class that defines the relationships between the stratigraphic units and provides the stratigraphic hierarchy of the Earth.

BUSINESS RULE: A stratigraphic organization must be in a ranked order from a lower rank to an upper rank. For example, it is possible to find previous unit containment relationships between several ranks.

AbstractSurfaceFrameworkRepresentation dataclass

AbstractSurfaceFrameworkRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    is_homogeneous: bool,
    representation: list[DataObjectReference] = list(),
    contact_identity: list[ContactIdentity] = list(),
)

Bases: obj_RepresentationSetRepresentation

Parent class for a sealed or non-sealed surface framework representation.

Each one instantiates a representation set representation. The difference between the sealed and non-sealed frameworks is that, in the non-sealed case, we do not have all of the contact representations, or we have all of the contacts but they are not all sealed.

AbstractTruncatedColumnLayerGridRepresentation dataclass

AbstractTruncatedColumnLayerGridRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    parent_window: None | AbstractParentWindow = None,
    cell_stratigraphic_units: None | CellStratigraphicUnits = None,
    nk: int,
    truncation_cells: TruncationCellPatch,
)

Bases: AbstractGridRepresentation

Abstract class for truncated IJK grids and truncated unstructured column layer grids.

Each column layer grid class must have a defined geometry in which cells are truncated and additional split cells are defined.

PARAMETER DESCRIPTION
nk

Number of layers in the grid. Must be positive.

TYPE: int

truncation_cells

TYPE: TruncationCellPatch

AdditionalGridTopology dataclass

AdditionalGridTopology(
    *,
    split_edges: None | SplitEdges = None,
    split_nodes: None | SplitNodePatch = None,
    split_column_edges: None | ColumnLayerSplitColumnEdges = None,
    unstructured_column_edges: None | UnstructuredColumnEdges = None,
    split_faces: None | SplitFaces = None,
    ij_split_column_edges: None | IjSplitColumnEdges = None,
    unstructured_subnode_topology: None | UnstructuredSubnodeTopology = None,
    column_layer_subnode_topology: None | ColumnLayerSubnodeTopology = None,
)

Additional grid topology and/or patches, if required, for indexable elements that otherwise do not have their topology defined within the grid representation.

For example, column edges need to be defined if we wish to have an enumeration for the faces of a column layer grid, but not otherwise.

GpGridUnstructuredGridPatch dataclass

GpGridUnstructuredGridPatch(
    *,
    patch_index: int,
    unstructured_cell_count: int,
    geometry: None | UnstructuredGridGeometry = None,
)

Bases: Patch

Used to specify unstructured cell grid patch(es) within a general purpose grid.

Multiple patches are supported.

PARAMETER DESCRIPTION
unstructured_cell_count

Number of unstructured cells. Degenerate case (count=0) is allowed for GPGrid.

TYPE: int

geometry

TYPE: None | UnstructuredGridGeometry DEFAULT: None

obj_BlockedWellboreRepresentation dataclass

obj_BlockedWellboreRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    node_count: int,
    node_md: AbstractDoubleArray,
    witsml_log_reference: None | DataObjectReference = None,
    interval_stratigraphi_units: None | IntervalStratigraphicUnits = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    trajectory: DataObjectReference,
    cell_count: int,
    cell_indices: AbstractIntegerArray,
    grid_indices: AbstractIntegerArray,
    local_face_pair_per_cell_indices: AbstractIntegerArray,
    grid: list[DataObjectReference] = list(),
)

Bases: obj_WellboreFrameRepresentation

The information that allows you to locate, on one or several grids (existing or planned), the intersection of volume (cells) and surface (faces) elements with a wellbore trajectory (existing or planned).

PARAMETER DESCRIPTION
cell_count

The number of non-null entries in the grid indices array.

TYPE: int

cell_indices

The grid cell index for each blocked well cell. BUSINESS RULE: Array length must equal cell count.

TYPE: AbstractIntegerArray

grid_indices

Size of array = IntervalCount. Null values of -1 signify that that interval is not within a grid. BUSINESS RULE: The cell count must equal the number of non-null entries in this array.

TYPE: AbstractIntegerArray

local_face_pair_per_cell_indices

For each cell, these are the entry and exit faces of the trajectory. Use null (-1), for instance, at TD when there only one intersection. The local face-per-cell index is used because a global face index need not have been defined on the grid. BUSINESS RULE: The array dimensions must equal 2 x CellCount.

TYPE: AbstractIntegerArray

grid

TYPE: list[DataObjectReference] DEFAULT: list()

obj_BoundaryFeature dataclass

obj_BoundaryFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractGeologicFeature

An interface between two geological objects, such as horizons and faults.

It is a surface object.

obj_CategoricalProperty dataclass

obj_CategoricalProperty(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
    patch_of_values: list[PatchOfValues] = list(),
    facet: list[PropertyKindFacet] = list(),
    lookup: DataObjectReference,
)

Bases: AbstractValuesProperty

Information specific to one categorical property. Contains discrete integer.

This type of property is associated either as: - an internally stored index to a string through a lookup mapping. - an internally stored double to another double value through an explicitly provided table.

obj_CommentProperty dataclass

obj_CommentProperty(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
    patch_of_values: list[PatchOfValues] = list(),
    facet: list[PropertyKindFacet] = list(),
    language: None | str = None,
)

Bases: AbstractValuesProperty

Information specific to one comment property.

Used to capture comments or annotations associated with a given element type in a data-object, for example, associating comments on the specific location of a well path.

PARAMETER DESCRIPTION
language

Identify the language (e.g., US English or French) of the string. It is recommended that language names conform to ISO 639.

TYPE: None | str DEFAULT: None

obj_ContinuousProperty dataclass

obj_ContinuousProperty(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
    patch_of_values: list[PatchOfValues] = list(),
    facet: list[PropertyKindFacet] = list(),
    minimum_value: list[float] = list(),
    maximum_value: list[float] = list(),
    uom: ResqmlUom,
)

Bases: AbstractValuesProperty

Most common type of property used for storing rock or fluid attributes; all are represented as doubles.

So that the value range can be known before accessing all values, the min and max values of the range are also stored. BUSINESS RULE: It also contains a unit of measure that can be different from the unit of measure of its property type, but it must be convertible into this unit.

PARAMETER DESCRIPTION
minimum_value

The minimum of the associated property values. BUSINESS RULE: There can be only one value per number of elements.

TYPE: list[float] DEFAULT: list()

maximum_value

The maximum of the associated property values. BUSINESS RULE: There can be only one value per number of elements.

TYPE: list[float] DEFAULT: list()

uom

Unit of measure for the property.

TYPE: ResqmlUom

obj_DiscreteProperty dataclass

obj_DiscreteProperty(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
    patch_of_values: list[PatchOfValues] = list(),
    facet: list[PropertyKindFacet] = list(),
    minimum_value: list[int] = list(),
    maximum_value: list[int] = list(),
)

Bases: AbstractValuesProperty

Contains discrete integer values; typically used to store any type of index.

So that the value range can be known before accessing all values, it also stores the minimum and maximum value in the range.

PARAMETER DESCRIPTION
minimum_value

The minimum of the associated property values. BUSINESS RULE: There can only be one value per number of elements.

TYPE: list[int] DEFAULT: list()

maximum_value

The maximum of the associated property values. BUSINESS RULE: There can only be one value per number of elements.

TYPE: list[int] DEFAULT: list()

obj_FaultInterpretation dataclass

obj_FaultInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    is_listric: None | bool = None,
    maximum_throw: None | LengthMeasure = None,
    mean_azimuth: None | PlaneAngleMeasure = None,
    mean_dip: None | PlaneAngleMeasure = None,
    throw_interpretation: list[FaultThrow] = list(),
)

Bases: obj_BoundaryFeatureInterpretation

A type of boundary feature, this class contains the data describing an opinion about the characterization of the fault, which includes the attributes listed below.

PARAMETER DESCRIPTION
is_listric

Indicates if the normal fault is listric or not. BUSINESS RULE: Must be present if the fault is normal. Must not be present if the fault is not normal.

TYPE: None | bool DEFAULT: None

maximum_throw

TYPE: None | LengthMeasure DEFAULT: None

mean_azimuth

TYPE: None | PlaneAngleMeasure DEFAULT: None

mean_dip

TYPE: None | PlaneAngleMeasure DEFAULT: None

throw_interpretation

TYPE: list[FaultThrow] DEFAULT: list()

obj_FrontierFeature dataclass

obj_FrontierFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractTechnicalFeature

Identifies a frontier or boundary in the earth model that is not a geological feature but an arbitrary geographic/geometric surface used to delineate the boundary of the model.

obj_GeobodyBoundaryInterpretation dataclass

obj_GeobodyBoundaryInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    boundary_relation: list[BoundaryRelation] = list(),
)

Bases: obj_BoundaryFeatureInterpretation

A type of boundary feature, this class identifies if the boundary is a geobody and the type of the boundary.

obj_GeobodyInterpretation dataclass

obj_GeobodyInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    geologic_unit_composition: None | GeologicUnitComposition = None,
    geologic_unit_material_implacement: None
    | GeologicUnitMaterialImplacement = None,
    geobody3d_shape: None | Geobody3dShape = None,
)

Bases: obj_GeologicUnitInterpretation

A type of rock feature, this class identifies if a rock feature is a geobody with any qualifications on the interpretation of the geobody.

obj_GeologicUnitFeature dataclass

obj_GeologicUnitFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractGeologicFeature

A volume of rock located between one or more boundary features.

The limiting boundary features should be genetic boundary features (i.e. should not be faults).

obj_Grid2dRepresentation dataclass

obj_Grid2dRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    surface_role: SurfaceRole,
    boundaries: list[PatchBoundaries] = list(),
    grid2d_patch: Grid2dPatch,
)

Bases: AbstractSurfaceRepresentation

Representation based on a 2D grid.

For definitions of slowest and fastest axes of the array, see Grid2dPatch.

get_xy_grid
get_xy_grid(
    crs: AbstractLocal3dCrs | None = None,
) -> tuple[NDArray[float64], NDArray[float64]]

Method constructing the X- and Y-grids for a regular surface. This currently only works for obj_Grid2dRepresentation-objects that represent regular surfaces. That is where the grids are specified using an origin, spacings, number of elements and unit vectors. Otherwise the X- and Y-grids are stored as arrays on an ETP server or in an hdf5-file. The function also takes in a local crs that can be transformed (translated and rotated) from a global crs. The method treats any rotation and translation in the grid as an active transformation, and any transformation in the local crs as a passive transformation.

PARAMETER DESCRIPTION
crs

A subclass of AbstractLocal3dCrs. It is used to correct for a potential passive transformation done by the crs. The crs does not have to be the same as referenced by the grid-object, but if it does not match a warning is raised. Setting crs=None avoids any transformation from the crs. Default is None.

TYPE: AbstractLocal3dCrs | None DEFAULT: None

RETURNS DESCRIPTION
tuple[NDArray[float64], NDArray[float64]]

A pair of X- and Y-grids that gives the x and y coordinates to the surface described by the grid-object. For an unrotated surface this corresponds to a meshgrid.

Source code in src/resqml_objects/v201/generated.py
def get_xy_grid(
    self, crs: AbstractLocal3dCrs | None = None
) -> tuple[
    npt.NDArray[np.float64],
    npt.NDArray[np.float64],
]:
    """
    Method constructing the `X`- and `Y`-grids for a regular surface. This
    currently only works for `obj_Grid2dRepresentation`-objects that
    represent regular surfaces. That is where the grids are specified using
    an origin, spacings, number of elements and unit vectors. Otherwise the
    `X`- and `Y`-grids are stored as arrays on an ETP server or in an
    hdf5-file. The function also takes in a local crs that can be
    transformed (translated and rotated) from a global crs. The method
    treats any rotation and translation in the grid as an _active
    transformation_, and any transformation in the local crs as a _passive
    transformation_.

    Parameters
    ----------
    crs: AbstractLocal3dCrs
        A subclass of `AbstractLocal3dCrs`. It is used to correct for a
        potential passive transformation done by the crs. The crs does not
        have to be the same as referenced by the grid-object, but if it
        does not match a warning is raised. Setting `crs=None` avoids any
        transformation from the crs. Default is `None`.

    Returns
    -------
    tuple[npt.NDArray[np.float64], npt.NDArray[np.float64]]
        A pair of `X`- and `Y`-grids that gives the `x` and `y` coordinates
        to the surface described by the grid-object. For an unrotated
        surface this corresponds to a meshgrid.
    """
    points = self.grid2d_patch.geometry.points

    if not isinstance(points, Point3dZValueArray):
        raise NotImplementedError(
            "We do not support constructing the X, Y grid for points of type "
            f"{points.__class__.__name__}"
        )

    sg = points.supporting_geometry
    if not isinstance(sg, Point3dLatticeArray):
        raise NotImplementedError(
            "We do not support constructing the X, Y grid for a supporting "
            f"geometry of type {sg.__class__.__name__}"
        )

    from resqml_objects.surface_helpers import RegularGridParameters

    shape = (
        self.grid2d_patch.slowest_axis_count,
        self.grid2d_patch.fastest_axis_count,
    )
    origin = sg.origin
    offsets = sg.offset

    ori = np.array(
        [
            origin.coordinate1,
            origin.coordinate2,
        ]
    )
    dr = np.array(
        [
            offsets[0].spacing.value,
            offsets[1].spacing.value,
        ]
    )

    unit_vectors = np.array(
        [
            [offsets[0].offset.coordinate1, offsets[1].offset.coordinate1],
            [offsets[0].offset.coordinate2, offsets[1].offset.coordinate2],
        ]
    )

    crs_angle = 0.0
    crs_offset = np.array([0.0, 0.0])

    if crs is not None:
        if crs.uuid != self.grid2d_patch.geometry.local_crs.uuid:
            warnings.warn(
                f"The provided crs has a different uuid '{crs.citation.uuid}' "
                " than the referenced crs "
                f"'{self.grid2d_patch.geometry.local_crs.uuid}'."
            )

        # NOTE: We assume that coordinate1 (coordinate2) corresponds to
        # xoffset (yoffset) in the CRS, and that they share the same units.
        crs_offset[0] = crs.xoffset
        crs_offset[1] = crs.yoffset

        crs_angle = crs.areal_rotation.get_angle_in_rad()

    rgp = RegularGridParameters(
        shape=shape,
        origin=ori,
        spacing=dr,
        unit_vectors=unit_vectors,
        crs_angle=crs_angle,
        crs_offset=crs_offset,
    )

    return rgp.to_xy_grid(to_global_crs=True)
from_regular_surface classmethod
from_regular_surface(
    citation: Citation,
    crs: AbstractLocal3dCrs,
    epc_external_part_reference: obj_EpcExternalPartReference,
    shape: tuple[int, int],
    origin: NDArray[float64],
    spacing: NDArray[float64],
    unit_vec_1: NDArray[float64],
    unit_vec_2: NDArray[float64],
    patch_index: int = 0,
    path_in_hdf_file: str = "",
    uuid: str | UUID | None = None,
    surface_role: SurfaceRole | str = MAP,
    boundaries: list[PatchBoundaries] | None = None,
    represented_interpretation: AbstractFeatureInterpretation | None = None,
    extra_metadata: list[NameValuePair] | None = None,
    custom_data: CustomData | None = None,
    object_version: str | None = None,
    aliases: list[ObjectAlias] | None = None,
) -> Self

Class method that sets up an obj_Grid2dRepresentation-object for a regular surface described by the eight parameters (seven free parameters) shape, origin, dr and unit_vectors, and the necessary (a local crs AbstractLocal3dCrs, and an epc-object obj_EpcExternalPartReference) and/or optional metadata from RESQML.

Source code in src/resqml_objects/v201/generated.py
@classmethod
def from_regular_surface(
    cls,
    citation: Citation,
    crs: AbstractLocal3dCrs,
    epc_external_part_reference: obj_EpcExternalPartReference,
    shape: tuple[int, int],
    origin: Annotated[npt.NDArray[np.float64], dict(shape=(2,))],
    spacing: Annotated[npt.NDArray[np.float64], dict(shape=(2,))],
    unit_vec_1: Annotated[npt.NDArray[np.float64], dict(shape=(2,))],
    unit_vec_2: Annotated[npt.NDArray[np.float64], dict(shape=(2,))],
    patch_index: int = 0,
    path_in_hdf_file: str = "",
    uuid: str | uuid.UUID | None = None,
    surface_role: SurfaceRole | str = SurfaceRole.MAP,
    boundaries: list[PatchBoundaries] | None = None,
    represented_interpretation: AbstractFeatureInterpretation | None = None,
    extra_metadata: list[NameValuePair] | None = None,
    custom_data: CustomData | None = None,
    object_version: str | None = None,
    aliases: list[ObjectAlias] | None = None,
) -> Self:
    """
    Class method that sets up an `obj_Grid2dRepresentation`-object for a
    regular surface described by the eight parameters (seven free
    parameters) `shape`, `origin`, `dr` and `unit_vectors`, and the
    necessary (a local crs
    [`AbstractLocal3dCrs`][resqml_objects.v201.generated.AbstractLocal3dCrs],
    and an epc-object
    [`obj_EpcExternalPartReference`][resqml_objects.v201.generated.obj_EpcExternalPartReference])
    and/or optional metadata from RESQML.
    """

    if uuid is None:
        # Cursed solution as the `uuid`-argument overwrites the top-level
        # import of the standard-library `uuid`.
        import uuid

        uuid = str(uuid.uuid4())

    surface_role = SurfaceRole(surface_role)
    boundaries = boundaries or []
    extra_metadata = extra_metadata or []
    aliases = aliases or []
    path_in_hdf_file = path_in_hdf_file or f"/RESQML/{uuid}/zvalues"

    if represented_interpretation is not None:
        represented_interpretation = DataObjectReference.from_object(
            represented_interpretation
        )

    grid2d_patch = Grid2dPatch.from_regular_surface(
        crs=crs,
        epc_external_part_reference=epc_external_part_reference,
        path_in_hdf_file=path_in_hdf_file,
        shape=shape,
        origin=origin,
        spacing=spacing,
        unit_vec_1=unit_vec_1,
        unit_vec_2=unit_vec_2,
        patch_index=patch_index,
    )

    return cls(
        citation=citation,
        aliases=aliases,
        custom_data=custom_data,
        uuid=uuid,
        object_version=object_version,
        surface_role=surface_role,
        grid2d_patch=grid2d_patch,
        boundaries=boundaries,
        represented_interpretation=represented_interpretation,
        extra_metadata=extra_metadata,
    )

obj_Grid2dSetRepresentation dataclass

obj_Grid2dSetRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    surface_role: SurfaceRole,
    boundaries: list[PatchBoundaries] = list(),
    grid2d_patch: list[Grid2dPatch] = list(),
)

Bases: AbstractSurfaceRepresentation

Set of representations based on a 2D grid.

Each 2D grid representation corresponds to one patch of the set.

obj_HorizonInterpretation dataclass

obj_HorizonInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    boundary_relation: list[BoundaryRelation] = list(),
    sequence_stratigraphy_surface: None | SequenceStratigraphySurface = None,
)

Bases: obj_BoundaryFeatureInterpretation

A type of boundary feature, the class specifies if the boundary feature is a horizon.

Maximum Flooding Surface - Transgressive Surface ( for erosion or intrusion ?) - Sequence Boundary - Stratigraphic Limit

obj_OrganizationFeature dataclass

obj_OrganizationFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    organization_kind: OrganizationKind,
)

Bases: AbstractGeologicFeature

The explicit description of the relationships between geologic features, such as rock features (e.g., stratigraphic units, geobodies, phase unit) and boundary features (e.g., genetic, tectonic, and fluid boundaries).

For types of organizations, see OrganizationKind.

obj_PlaneSetRepresentation dataclass

obj_PlaneSetRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    surface_role: SurfaceRole,
    boundaries: list[PatchBoundaries] = list(),
    planes: list[AbstractPlaneGeometry] = list(),
)

Bases: AbstractSurfaceRepresentation

Defines a plane representation, which can be made up of multiple patches.

Commonly represented features are fluid contacts or frontiers. Common geometries of this representation are titled or horizontal planes. BUSINESS RULE: If the plane representation is made up of multiple patches, then you must specify the outer rings for each plane patch.

obj_RockFluidOrganizationInterpretation dataclass

obj_RockFluidOrganizationInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    contact_interpretation: list[AbstractContactInterpretationPart] = list(),
    rock_fluid_unit_index: RockFluidUnitInterpretationIndex,
)

Bases: AbstractOrganizationInterpretation

Interpretation of the fluid organization units.

obj_RockFluidUnitInterpretation dataclass

obj_RockFluidUnitInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    geologic_unit_composition: None | GeologicUnitComposition = None,
    geologic_unit_material_implacement: None
    | GeologicUnitMaterialImplacement = None,
    phase: None | Phase = None,
)

Bases: obj_GeologicUnitInterpretation

A type of rock fluid feature interpretation , this class identifies if a rock fluid feature by its phase.

obj_SealedVolumeFrameworkRepresentation dataclass

obj_SealedVolumeFrameworkRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    is_homogeneous: bool,
    representation: list[DataObjectReference] = list(),
    based_on: DataObjectReference,
    shells: list[VolumeShell] = list(),
    regions: list[VolumeRegion] = list(),
)

Bases: obj_RepresentationSetRepresentation

A strict boundary representation (BREP), which represents the volume region by assembling together shells.

BUSINESS RULE: The sealed structural framework must be part of the same earth model as this sealed volume framework.

obj_StratigraphicUnitInterpretation dataclass

obj_StratigraphicUnitInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    geologic_unit_composition: None | GeologicUnitComposition = None,
    geologic_unit_material_implacement: None
    | GeologicUnitMaterialImplacement = None,
    deposition_mode: None | DepositionMode = None,
    max_thickness: None | LengthMeasure = None,
    min_thickness: None | LengthMeasure = None,
)

Bases: obj_GeologicUnitInterpretation

Interpretation of a stratigraphic unit which includes the knowledge of the top, the bottom, the deposition mode.

PARAMETER DESCRIPTION
deposition_mode

BUSINESS RULE / The Deposition mode for a Geological Unit MUST be conssitent with the Boundary Relations of A Genetic Boundary. If it is not the case the Boundary Relation declaration is retained.

TYPE: None | DepositionMode DEFAULT: None

max_thickness

TYPE: None | LengthMeasure DEFAULT: None

min_thickness

TYPE: None | LengthMeasure DEFAULT: None

obj_StreamlinesFeature dataclass

obj_StreamlinesFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    flux: StreamlineFlux,
    other_flux: None | str = None,
    time_index: TimeIndex,
)

Bases: AbstractTechnicalFeature

Specification of the vector field upon which the streamlines are based.

Streamlines are commonly used to trace the flow of phases (water / oil / gas / total) based upon their flux at a specified time. They may also be used for trace components for compositional simulation, e.g., CO2, or temperatures for thermal simulation. The flux enumeration provides support for the most usual cases with provision for extensions to other fluxes.

PARAMETER DESCRIPTION
flux

Specification of the streamline flux, drawn from the enumeration.

TYPE: StreamlineFlux

other_flux

Optional specification of the streamline flux, if an extension is required beyond the enumeration. BUSINESS RULE: OtherFlux should appear if Flux has the value of other.

TYPE: None | str DEFAULT: None

time_index

TYPE: TimeIndex

obj_StructuralOrganizationInterpretation dataclass

obj_StructuralOrganizationInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    contact_interpretation: list[AbstractContactInterpretationPart] = list(),
    ordering_criteria: OrderingCriteria,
    faults: list[DataObjectReference] = list(),
    horizons: list[HorizonInterpretationIndex] = list(),
    sides: list[DataObjectReference] = list(),
    top_frontier: list[DataObjectReference] = list(),
    bottom_frontier: list[DataObjectReference] = list(),
)

Bases: AbstractOrganizationInterpretation

One of the main types of RESQML organizations, this class gathers boundary interpretations (e.g., horizons and faults) plus frontier features and their relationships (contacts interpretations), which when taken together define the structure of a part of the earth.

obj_TriangulatedSetRepresentation dataclass

obj_TriangulatedSetRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    surface_role: SurfaceRole,
    boundaries: list[PatchBoundaries] = list(),
    triangle_patch: list[TrianglePatch] = list(),
)

Bases: AbstractSurfaceRepresentation

A representation based on set of triangulated mesh patches, which gets its geometry from a 1D array of points.

BUSINESS RULE: The orientation of all the triangles of this representation must be consistent.

obj_UnstructuredGridRepresentation dataclass

obj_UnstructuredGridRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    parent_window: None | AbstractParentWindow = None,
    cell_stratigraphic_units: None | CellStratigraphicUnits = None,
    cell_count: int,
    geometry: None | UnstructuredGridGeometry = None,
)

Bases: AbstractGridRepresentation

Unstructured grid representation characterized by a cell count, and potentially nothing else.

Both the oldest and newest simulation formats are based on this format.

PARAMETER DESCRIPTION
cell_count

Number of cells in the grid. Must be positive.

TYPE: int

geometry

TYPE: None | UnstructuredGridGeometry DEFAULT: None

obj_WellboreFeature dataclass

obj_WellboreFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    witsml_wellbore: None | WitsmlWellboreReference = None,
)

Bases: AbstractTechnicalFeature

May refer to one of these: wellbore. A unique, oriented path from the bottom of a drilled borehole to the surface of the earth. The path must not overlap or cross itself. borehole. A hole excavated in the earth as a result of drilling or boring operations. The borehole may represent the hole of an entire wellbore (when no sidetracks are present), or a sidetrack extension. A borehole extends from an originating point (the surface location for the initial borehole or kickoff point for sidetracks) to a terminating (bottomhole) point. sidetrack. A borehole that originates in another borehole as opposed to originating at the surface.

obj_WellboreMarkerFrameRepresentation dataclass

obj_WellboreMarkerFrameRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    node_count: int,
    node_md: AbstractDoubleArray,
    witsml_log_reference: None | DataObjectReference = None,
    interval_stratigraphi_units: None | IntervalStratigraphicUnits = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    trajectory: DataObjectReference,
    wellbore_marker: list[WellboreMarker] = list(),
)

Bases: obj_WellboreFrameRepresentation

A well log frame where each entry represents a well marker.

CI_Contact_Type dataclass

CI_Contact_Type(
    *,
    id: None | str = None,
    uuid: None | str = None,
    phone: None | CI_Telephone_PropertyType = None,
    address: None | CI_Address_PropertyType = None,
    online_resource: None | CI_OnlineResource_PropertyType = None,
    hours_of_service: None | CharacterString_PropertyType = None,
    contact_instructions: None | CharacterString_PropertyType = None,
)

Bases: AbstractObject_Type

Information required enabling contact with the responsible person and/or organisation.

AbstractTimePrimitive dataclass

AbstractTimePrimitive(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: None | identifier = None,
    name: list[name] = list(),
    id: str,
    related_time: list[RelatedTimeType] = list(),
)

Bases: AbstractTimePrimitiveType

Gml:AbstractTimePrimitive acts as the head of a substitution group for geometric and topological temporal primitives.

Definition dataclass

Definition(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
)

Bases: DefinitionType

The basic gml:Definition element specifies a definition, which can be included in or referenced by a dictionary.

The content model for a generic definition is a derivation from gml:AbstractGMLType. The gml:description property element shall hold the definition if this can be captured in a simple text string, or the gml:descriptionReference property element may carry a link to a description elsewhere. The gml:identifier element shall provide one identifier identifying this definition. The identifier shall be unique within the dictionaries using this definition. The gml:name elements shall provide zero or more terms and synonyms for which this is the definition. The gml:remarks element shall be used to hold additional textual information that is not conceptually part of the definition but is useful in understanding the definition.

IdentifiedObjectType dataclass

IdentifiedObjectType(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
)

Bases: DefinitionType

Gml:IdentifiedObjectType provides identification properties of a CRS-related object.

In gml:DefinitionType, the gml:identifier element shall be the primary name by which this object is identified, encoding the "name" attribute in the UML model. Zero or more of the gml:name elements can be an unordered set of "identifiers", encoding the "identifier" attribute in the UML model. Each of these gml:name elements can reference elsewhere the object's defining information or be an identifier by which this object can be referenced. Zero or more other gml:name elements can be an unordered set of "alias" alternative names by which this CRS related object is identified, encoding the "alias" attributes in the UML model. An object may have several aliases, typically used in different contexts. The context for an alias is indicated by the value of its (optional) codeSpace attribute. Any needed version information shall be included in the codeSpace attribute of a gml:identifier and gml:name elements. In this use, the gml:remarks element in the gml:DefinitionType shall contain comments on or information about this object, including data source information.

IjkGridGeometry dataclass

IjkGridGeometry(
    *,
    time_index: None | TimeIndex = None,
    local_crs: DataObjectReference,
    points: AbstractPoint3dArray,
    seismic_coordinates: None | AbstractSeismicCoordinates = None,
    additional_grid_points: list[AdditionalGridPoints] = list(),
    kdirection: KDirection,
    pillar_geometry_is_defined: AbstractBooleanArray,
    pillar_shape: PillarShape,
    cell_geometry_is_defined: None | AbstractBooleanArray = None,
    node_is_colocated_in_kdirection: None | AbstractBooleanArray = None,
    node_is_colocated_on_kedge: None | AbstractBooleanArray = None,
    subnode_topology: None | ColumnLayerSubnodeTopology = None,
    split_coordinate_lines: None | ColumnLayerSplitCoordinateLines = None,
    split_nodes: None | SplitNodePatch = None,
    grid_is_righthanded: bool,
    ij_gaps: None | IjGaps = None,
)

Bases: AbstractColumnLayerGridGeometry

Explicit geometry definition for the cells of the IJK grid.

Grid options are also defined through this object.

PARAMETER DESCRIPTION
grid_is_righthanded

Indicates that the IJK grid is right handed, as determined by the triple product of tangent vectors in the I, J, and K directions.

TYPE: bool

ij_gaps

TYPE: None | IjGaps DEFAULT: None

RepresentationIdentity dataclass

RepresentationIdentity(
    *,
    identical_element_count: int,
    element_identity: list[ElementIdentity] = list(),
    additional_grid_topology: None | AdditionalGridTopology = None,
)

Indicates the nature of the relationship between 2 or more representations, specifically if they are partially or totally identical.

For possible types of relationships, see IdentityKind.

PARAMETER DESCRIPTION
identical_element_count

Number of elements within each representation for which a representation identity is specified.

TYPE: int

element_identity

TYPE: list[ElementIdentity] DEFAULT: list()

additional_grid_topology

TYPE: None | AdditionalGridTopology DEFAULT: None

SeismicLatticeSetFeature dataclass

SeismicLatticeSetFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractSeismicSurveyFeature

An unordered set of several seismic lattices.

Generally, it has no direct interpretation or representation.

UnstructuredColumnLayerGridGeometry dataclass

UnstructuredColumnLayerGridGeometry(
    *,
    time_index: None | TimeIndex = None,
    local_crs: DataObjectReference,
    points: AbstractPoint3dArray,
    seismic_coordinates: None | AbstractSeismicCoordinates = None,
    additional_grid_points: list[AdditionalGridPoints] = list(),
    kdirection: KDirection,
    pillar_geometry_is_defined: AbstractBooleanArray,
    pillar_shape: PillarShape,
    cell_geometry_is_defined: None | AbstractBooleanArray = None,
    node_is_colocated_in_kdirection: None | AbstractBooleanArray = None,
    node_is_colocated_on_kedge: None | AbstractBooleanArray = None,
    subnode_topology: None | ColumnLayerSubnodeTopology = None,
    split_coordinate_lines: None | ColumnLayerSplitCoordinateLines = None,
    split_nodes: None | SplitNodePatch = None,
    column_shape: ColumnShape,
    pillar_count: int,
    pillars_per_column: ResqmlJaggedArray,
    column_is_right_handed: AbstractBooleanArray,
    column_edges: None | UnstructuredColumnEdges = None,
)

Bases: AbstractColumnLayerGridGeometry

Description of the geometry of an unstructured column layer grid, e.g., parity and pinch, together with its supporting topology.

Unstructured column layer cell geometry is derived from column layer cell geometry and hence is based upon nodes on coordinate lines. Geometry is contained within the representation of a grid.

PARAMETER DESCRIPTION
column_shape

TYPE: ColumnShape

pillar_count

Number of pillars in the grid. Must be positive. Pillars are used to describe the shape of the columns in the grid.

TYPE: int

pillars_per_column

List of pillars for each column. The pillars define the corners of each column. The number of pillars per column can be obtained from the offsets in the first list of list array. BUSINESS RULE: The length of the first array in the list of list construction should equal the columnCount.

TYPE: ResqmlJaggedArray

column_is_right_handed

List of columns which are right handed. Right handedness is evaluated following the pillar order and the K-direction tangent vector for each column.

TYPE: AbstractBooleanArray

column_edges

TYPE: None | UnstructuredColumnEdges DEFAULT: None

obj_CategoricalPropertySeries dataclass

obj_CategoricalPropertySeries(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
    patch_of_values: list[PatchOfValues] = list(),
    facet: list[PropertyKindFacet] = list(),
    lookup: DataObjectReference,
    realization_indices: None | AbstractIntegerArray = None,
    series_time_indices: None | TimeIndices = None,
)

Bases: obj_CategoricalProperty

Information specific to one comment property.

Used to capture comments or annotations associated with a given element type in a data-object, for example, associating comments on the specific location of a well path.

PARAMETER DESCRIPTION
realization_indices

Provide the list of indices corresponding to realizations number. For example, if a user wants to send the realization corresponding to p10, p20, ... he would write the array 10, 20, ... If not provided, then the realization count (which could be 1) does not introduce a dimension to the multi-dimensional array storage.

TYPE: None | AbstractIntegerArray DEFAULT: None

series_time_indices

TYPE: None | TimeIndices DEFAULT: None

obj_CommentPropertySeries dataclass

obj_CommentPropertySeries(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
    patch_of_values: list[PatchOfValues] = list(),
    facet: list[PropertyKindFacet] = list(),
    language: None | str = None,
    realization_indices: None | AbstractIntegerArray = None,
    series_time_indices: None | TimeIndices = None,
)

Bases: obj_CommentProperty

Information specific to one comment property.

Used to capture comments or annotations associated with a given element type in a data-object, for example, associating comments on the specific location of a well path.

PARAMETER DESCRIPTION
realization_indices

Provide the list of indices corresponding to realizations number. For example, if a user wants to send the realization corresponding to p10, p20, ... he would write the array 10, 20, ... If not provided, then the realization count (which could be 1) does not introduce a dimension to the multi-dimensional array storage.

TYPE: None | AbstractIntegerArray DEFAULT: None

series_time_indices

TYPE: None | TimeIndices DEFAULT: None

obj_ContinuousPropertySeries dataclass

obj_ContinuousPropertySeries(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
    patch_of_values: list[PatchOfValues] = list(),
    facet: list[PropertyKindFacet] = list(),
    minimum_value: list[float] = list(),
    maximum_value: list[float] = list(),
    uom: ResqmlUom,
    realization_indices: None | AbstractIntegerArray = None,
    series_time_indices: None | TimeIndices = None,
)

Bases: obj_ContinuousProperty

Information specific to one comment property.

Used to capture comments or annotations associated with a given element type in a data-object, for example, associating comments on the specific location of a well path.

PARAMETER DESCRIPTION
realization_indices

Provide the list of indices corresponding to realizations number. For example, if a user wants to send the realization corresponding to p10, p20, ... he would write the array 10, 20, ... If not provided, then the realization count (which could be 1) does not introduce a dimension to the multi-dimensional array storage.

TYPE: None | AbstractIntegerArray DEFAULT: None

series_time_indices

TYPE: None | TimeIndices DEFAULT: None

obj_DiscretePropertySeries dataclass

obj_DiscretePropertySeries(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    count: int,
    indexable_element: IndexableElements,
    realization_index: None | int = None,
    time_step: None | int = None,
    time_index: None | TimeIndex = None,
    supporting_representation: DataObjectReference,
    local_crs: None | DataObjectReference = None,
    property_kind: AbstractPropertyKind,
    patch_of_values: list[PatchOfValues] = list(),
    facet: list[PropertyKindFacet] = list(),
    minimum_value: list[int] = list(),
    maximum_value: list[int] = list(),
    realization_indices: None | AbstractIntegerArray = None,
    series_time_indices: None | TimeIndices = None,
)

Bases: obj_DiscreteProperty

Information specific to one comment property.

Used to capture comments or annotations associated with a given element type in a data-object, for example, associating comments on the specific location of a well path.

PARAMETER DESCRIPTION
realization_indices

Provide the list of indices corresponding to realizations number. For example, if a user wants to send the realization corresponding to p10, p20, ... he would write the array 10, 20, ... If not provided, then the realization count (which could be 1) does not introduce a dimension to the multi-dimensional array storage.

TYPE: None | AbstractIntegerArray DEFAULT: None

series_time_indices

TYPE: None | TimeIndices DEFAULT: None

obj_FluidBoundaryFeature dataclass

obj_FluidBoundaryFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    fluid_contact: FluidContact,
)

Bases: obj_BoundaryFeature

A boundary (usually a plane) separating two fluid phases, such as a gas-oil contact (GOC), a water-oil contact (WOC), a gas-oil contact (GOC), or others.

For types, see FluidContact.

obj_GeneticBoundaryFeature dataclass

obj_GeneticBoundaryFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    genetic_boundary_kind: GeneticBoundaryKind,
    absolute_age: None | Timestamp = None,
)

Bases: obj_BoundaryFeature

A boundary between two units produced by a contrast between two deposits that occurred at two different geologic time periods.

For types, see GeneticBoundaryKind.

obj_GeobodyFeature dataclass

obj_GeobodyFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: obj_GeologicUnitFeature

A volume of rock that is identified based on some specific attribute, like its mineral content or other physical characteristic.

Unlike stratigraphic or phase units, there is no associated time or fluid content semantic. For types, see GeobodyKind.

obj_NonSealedSurfaceFrameworkRepresentation dataclass

obj_NonSealedSurfaceFrameworkRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    is_homogeneous: bool,
    representation: list[DataObjectReference] = list(),
    contact_identity: list[ContactIdentity] = list(),
    non_sealed_contact_representation: list[
        AbstractContactRepresentationPart
    ] = list(),
)

Bases: AbstractSurfaceFrameworkRepresentation

A collection of contact representations parts, which are a list of contact patches with no identity.

This collection of contact representations is completed by a set of representations gathered at the representation set representation level.

obj_RockFluidUnitFeature dataclass

obj_RockFluidUnitFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    phase: Phase,
    fluid_boundary_bottom: DataObjectReference,
    fluid_boundary_top: DataObjectReference,
)

Bases: obj_GeologicUnitFeature

A fluid phase plus one or more stratigraphic units.

A unit may correspond to a pair of horizons that are not adjacent stratigraphically, e.g., a coarse zonation, and is often used to define the reservoir. For types, see Phase.

obj_SealedSurfaceFrameworkRepresentation dataclass

obj_SealedSurfaceFrameworkRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    is_homogeneous: bool,
    representation: list[DataObjectReference] = list(),
    contact_identity: list[ContactIdentity] = list(),
    sealed_contact_representation: list[
        SealedContactRepresentationPart
    ] = list(),
)

Bases: AbstractSurfaceFrameworkRepresentation

A collection of contact representations parts, which are a list of contact patches and their identities.

This collection of contact representations is completed by a set of representations gathered at the representation set representation level.

obj_SeismicLineFeature dataclass

obj_SeismicLineFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    first_trace_index: int,
    trace_count: int,
    trace_index_increment: int,
    is_part_of: None | DataObjectReference = None,
)

Bases: AbstractSeismicSurveyFeature

Defined by one lateral dimension: trace (lateral). Seismic trace of the 3D seismic survey. To specify its location, the seismic feature can be associated with the seismic coordinates of the points of a representation.

PARAMETER DESCRIPTION
first_trace_index

The index of the first trace of the seismic line.

TYPE: int

trace_count

The count of traces in the seismic line.

TYPE: int

trace_index_increment

The constant index increment between two consecutive traces.

TYPE: int

is_part_of

TYPE: None | DataObjectReference DEFAULT: None

obj_SeismicLineSetFeature dataclass

obj_SeismicLineSetFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
)

Bases: AbstractSeismicSurveyFeature

An unordered set of several seismic lines.

Generally, it has no direct interpretation or representation.

obj_StratigraphicColumnRankInterpretation dataclass

obj_StratigraphicColumnRankInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    contact_interpretation: list[AbstractContactInterpretationPart] = list(),
    ordering_criteria: OrderingCriteria,
    index: int,
    stratigraphic_units: list[StratigraphicUnitInterpretationIndex] = list(),
)

Bases: AbstractStratigraphicOrganizationInterpretation

A global hierarchy containing an ordered list of stratigraphic unit interpretations.

obj_StratigraphicOccurrenceInterpretation dataclass

obj_StratigraphicOccurrenceInterpretation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    domain: Domain,
    interpreted_feature: DataObjectReference,
    has_occured_during: None | TimeInterval = None,
    contact_interpretation: list[AbstractContactInterpretationPart] = list(),
    ordering_criteria: OrderingCriteria,
    is_occurrence_of: None | DataObjectReference = None,
    geologic_unit_index: list[GeologicUnitInterpretationIndex] = list(),
)

Bases: AbstractStratigraphicOrganizationInterpretation

A local Interpretation—it could be along a well, on a 2D map, or on a 2D section or on a part of the global volume of an earth model—of a succession of rock feature elements.

The stratigraphic column rank interpretation composing a stratigraphic occurrence can be ordered by the criteria listed in OrderingCriteria. BUSINESS RULE: A representation of a stratigraphic occurrence interpretation can be a wellbore marker or a wellbore frame.

obj_StratigraphicUnitFeature dataclass

obj_StratigraphicUnitFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    chronostratigraphic_bottom: None | DataObjectReference = None,
    chronostratigraphic_top: None | DataObjectReference = None,
)

Bases: obj_GeologicUnitFeature

A stratigraphic unit that can have a well-known (e.g., "Jurassic") chronostratigraphic top and chronostratigraphic bottom.

These chronostratigraphic units have no associated interpretations or representations. BUSINESS RULE: The name must reference a well-known chronostratigraphic unit (such as "Jurassic"), for example, from the International Commission on Stratigraphy (http://www.stratigraphy.org).

obj_SubRepresentation dataclass

obj_SubRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    additional_grid_topology: None | AdditionalGridTopology = None,
    supporting_representation: DataObjectReference,
    sub_representation_patch: list[SubRepresentationPatch] = list(),
)

Bases: AbstractRepresentation

An ordered list of indexable elements and/or indexable element pairs of an existing representation.

Because the representation concepts of topology, geometry, and property values are separate in RESQML, it is now possible to select a range of nodes, edges, faces, or volumes (cell) indices from the topological support of an existing representation to define a sub- representation. A sub-representation may describe a different feature interpretation using the same geometry or property as the "parent" representation. In this case, the only information exchanged is a set of potentially non-consecutive indices of the topological support of the representation.

obj_TectonicBoundaryFeature dataclass

obj_TectonicBoundaryFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    tectonic_boundary_kind: TectonicBoundaryKind,
)

Bases: obj_BoundaryFeature

A boundary caused by tectonic movement or metamorphism, such as a fault or a fracture.

For types, see TectonicBoundaryKind.

domainOfValidity dataclass

domainOfValidity(
    *,
    ex_extent: None | EX_Extent = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

The gml:domainOfValidity property implements an association role to an EX_Extent object as encoded in ISO/TS 19139, either referencing or containing the definition of that extent.

GpGridIjkGridPatch dataclass

GpGridIjkGridPatch(
    *,
    patch_index: int,
    ni: int,
    nj: int,
    radial_grid_is_complete: None | bool = None,
    geometry: None | IjkGridGeometry = None,
    truncation_cells: None | TruncationCellPatch = None,
)

Bases: Patch

Used to specify IJK grid patch(es) within a general purpose grid.

Multiple patches are supported.

PARAMETER DESCRIPTION
ni

Count of I indices. Degenerate case (ni=0) is allowed for GPGrid representations.

TYPE: int

nj

Count of J indices. Degenerate case (nj=0) is allowed for GPGrid representations.

TYPE: int

radial_grid_is_complete

TRUE if the grid is periodic in J, i.e., has the topology of a complete 360 degree circle. If TRUE, then NJL=NJ. Otherwise, NJL=NJ+1

TYPE: None | bool DEFAULT: None

geometry

TYPE: None | IjkGridGeometry DEFAULT: None

truncation_cells

TYPE: None | TruncationCellPatch DEFAULT: None

GpGridUnstructuredColumnLayerGridPatch dataclass

GpGridUnstructuredColumnLayerGridPatch(
    *,
    patch_index: int,
    unstructured_column_count: int,
    geometry: None | UnstructuredColumnLayerGridGeometry = None,
    truncation_cells: None | TruncationCellPatch = None,
)

Bases: Patch

Used to specify unstructured column layer grid patch(es) within a general purpose grid.

Multiple patches are supported.

PARAMETER DESCRIPTION
unstructured_column_count

Number of unstructured columns. Degenerate case (count=0) is allowed for GPGrid.

TYPE: int

geometry

TYPE: None | UnstructuredColumnLayerGridGeometry DEFAULT: None

truncation_cells

TYPE: None | TruncationCellPatch DEFAULT: None

obj_IjkGridRepresentation dataclass

obj_IjkGridRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    parent_window: None | AbstractParentWindow = None,
    cell_stratigraphic_units: None | CellStratigraphicUnits = None,
    nk: int,
    interval_stratigraphic_units: None | IntervalStratigraphicUnits = None,
    ni: int,
    nj: int,
    radial_grid_is_complete: None | bool = None,
    kgaps: None | KGaps = None,
    geometry: None | IjkGridGeometry = None,
)

Bases: AbstractColumnLayerGridRepresentation

Grid whose topology is characterized by structured column indices (I,J) and a layer index, K.

Cell geometry is characterized by nodes on coordinate lines, where each column of the model has 4 sides. Geometric degeneracy is permitted. IJK grids support the following specific extensions: IJK radial grids K-Layer gaps IJ-Column gaps

PARAMETER DESCRIPTION
ni

Count of cells in the I-direction in the grid. Must be positive. I=1,...,NI, I0=0,...,NI-1.

TYPE: int

nj

Count of cells in the J-direction in the grid. Must be positive. J=1,...,NJ, J0=0,...,NJ-1.

TYPE: int

radial_grid_is_complete

TRUE if the grid is periodic in J, i.e., has the topology of a complete 360 degree circle. If TRUE, then NJL=NJ. Otherwise, NJL=NJ+1 May be used to change the grid topology for either a cartesian or a radial grid, although radial grid usage is by far the more common.

TYPE: None | bool DEFAULT: None

kgaps

TYPE: None | KGaps DEFAULT: None

geometry

TYPE: None | IjkGridGeometry DEFAULT: None

obj_RepresentationIdentitySet dataclass

obj_RepresentationIdentitySet(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    representation_identity: list[RepresentationIdentity] = list(),
)

Bases: AbstractResqmlDataObject

A collection of representation identities.

obj_SeismicLatticeFeature dataclass

obj_SeismicLatticeFeature(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    crossline_count: int,
    crossline_index_increment: int,
    first_crossline_index: int,
    first_inline_index: int,
    inline_count: int,
    inline_index_increment: int,
    is_part_of: None | SeismicLatticeSetFeature = None,
)

Bases: AbstractSeismicSurveyFeature

Defined by two lateral ordered dimensions: inline (lateral), crossline (lateral and orthogonal to the inline dimension), which are fixed. To specify its location, a seismic feature can be associated with the seismic coordinates of the points of a representation.

PARAMETER DESCRIPTION
crossline_count

The count of crosslines in the 3D seismic survey.

TYPE: int

crossline_index_increment

The constant index increment between two consecutive crosslines of the 3D seismic survey.

TYPE: int

first_crossline_index

The index of the first crossline of the 3D seismic survey.

TYPE: int

first_inline_index

The index of the first inline of the 3D seismic survey.

TYPE: int

inline_count

The count of inlines in the 3D seismic survey.

TYPE: int

inline_index_increment

The constant index increment between two consecutive inlines of the 3D seismic survey.

TYPE: int

is_part_of

TYPE: None | SeismicLatticeSetFeature DEFAULT: None

obj_TruncatedIjkGridRepresentation dataclass

obj_TruncatedIjkGridRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    parent_window: None | AbstractParentWindow = None,
    cell_stratigraphic_units: None | CellStratigraphicUnits = None,
    nk: int,
    truncation_cells: TruncationCellPatch,
    ni: int,
    nj: int,
    geometry: IjkGridGeometry,
)

Bases: AbstractTruncatedColumnLayerGridRepresentation

Grid class with an underlying IJK topology, together with a 1D split cell list.

The truncated IJK cells have more than the usual 6 faces. The split cells are arbitrary polyhedra, identical to those of an unstructured cell grid.

PARAMETER DESCRIPTION
ni

Count of I-indices in the grid. Must be positive.

TYPE: int

nj

Count of J-indices in the grid. Must be positive.

TYPE: int

geometry

TYPE: IjkGridGeometry

obj_TruncatedUnstructuredColumnLayerGridRepresentation dataclass

obj_TruncatedUnstructuredColumnLayerGridRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    parent_window: None | AbstractParentWindow = None,
    cell_stratigraphic_units: None | CellStratigraphicUnits = None,
    nk: int,
    truncation_cells: TruncationCellPatch,
    column_count: int,
    geometry: UnstructuredColumnLayerGridGeometry,
)

Bases: AbstractTruncatedColumnLayerGridRepresentation

Grid class with an underlying unstructured column layer topology, together with a 1D split cell list.

The truncated cells have more than the usual number of faces within each column. The split cells are arbitrary polyhedra, identical to those of an unstructured cell grid.

PARAMETER DESCRIPTION
column_count

Number of unstructured columns in the grid. Must be positive.

TYPE: int

geometry

TYPE: UnstructuredColumnLayerGridGeometry

obj_UnstructuredColumnLayerGridRepresentation dataclass

obj_UnstructuredColumnLayerGridRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    parent_window: None | AbstractParentWindow = None,
    cell_stratigraphic_units: None | CellStratigraphicUnits = None,
    nk: int,
    interval_stratigraphic_units: None | IntervalStratigraphicUnits = None,
    column_count: int,
    geometry: None | UnstructuredColumnLayerGridGeometry = None,
)

Bases: AbstractColumnLayerGridRepresentation

Grid whose topology is characterized by an unstructured column index and a layer index, K.

Cell geometry is characterized by nodes on coordinate lines, where each column of the model may have an arbitrary number of sides.

PARAMETER DESCRIPTION
column_count

Number of unstructured columns in the grid. Must be positive.

TYPE: int

geometry

TYPE: None | UnstructuredColumnLayerGridGeometry DEFAULT: None

CoordinateSystemAxis dataclass

CoordinateSystemAxis(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    axis_abbrev: axisAbbrev,
    axis_direction: axisDirection,
    minimum_value: None | minimumValue = None,
    maximum_value: None | maximumValue = None,
    range_meaning: None | rangeMeaning = None,
)

Bases: CoordinateSystemAxisType

Gml:CoordinateSystemAxis is a definition of a coordinate system axis.

Ellipsoid_1 dataclass

Ellipsoid_1(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    semi_major_axis: semiMajorAxis,
    second_defining_parameter: secondDefiningParameter_2,
)

Bases: EllipsoidType

A gml:Ellipsoid is a geometric figure that may be used to describe the approximate shape of the earth.

In mathematical terms, it is a surface formed by the rotation of an ellipse about its minor axis.

PrimeMeridian_1 dataclass

PrimeMeridian_1(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    greenwich_longitude: greenwichLongitude,
)

Bases: PrimeMeridianType

A gml:PrimeMeridian defines the origin from which longitude values are determined.

The default value for the prime meridian gml:identifier value is "Greenwich".

GpGridColumnLayerGrid dataclass

GpGridColumnLayerGrid(
    *,
    nk: int,
    kgaps: None | KGaps = None,
    ijk_grid_patch: list[GpGridIjkGridPatch] = list(),
    unstructured_column_layer_grid_patch: list[
        GpGridUnstructuredColumnLayerGridPatch
    ] = list(),
)

Used to construct a column layer grid patch based upon multiple unstructured column layer and IJK grids which share a layering scheme.

Multiple patches are supported.

PARAMETER DESCRIPTION
nk

Number of layers. Degenerate case (nk=0) is allowed for GPGrid.

TYPE: int

kgaps

TYPE: None | KGaps DEFAULT: None

ijk_grid_patch

TYPE: list[GpGridIjkGridPatch] DEFAULT: list()

unstructured_column_layer_grid_patch

TYPE: list[GpGridUnstructuredColumnLayerGridPatch] DEFAULT: list()

CI_ResponsibleParty_Type dataclass

CI_ResponsibleParty_Type(
    *,
    id: None | str = None,
    uuid: None | str = None,
    individual_name: None | CharacterString_PropertyType = None,
    organisation_name: None | CharacterString_PropertyType = None,
    position_name: None | CharacterString_PropertyType = None,
    contact_info: None | CI_Contact_PropertyType = None,
    role: CI_RoleCode_PropertyType,
)

Bases: AbstractObject_Type

Identification of, and means of communication with, person(s) and organisations associated with the dataset.

AbstractCRS dataclass

AbstractCRS(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: list[domainOfValidity] = list(),
    scope: list[scope] = list(),
)

Bases: AbstractCRSType

Gml:AbstractCRS specifies a coordinate reference system which is usually single but may be compound.

This abstract complex type shall not be used, extended, or restricted, in a GML Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.

AbstractDatum dataclass

AbstractDatum(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: None | domainOfValidity = None,
    scope: list[scope] = list(),
    anchor_definition: None | anchorDefinition = None,
    realization_epoch: None | realizationEpoch = None,
)

Bases: AbstractDatumType

A gml:AbstractDatum specifies the relationship of a coordinate system to the earth, thus creating a coordinate reference system.

A datum uses a parameter or set of parameters that determine the location of the origin of the coordinate reference system. Each datum subtype may be associated with only specific types of coordinate systems. This abstract complex type shall not be used, extended, or restricted, in a GML Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.

AbstractSingleCRS dataclass

AbstractSingleCRS(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: list[domainOfValidity] = list(),
    scope: list[scope] = list(),
)

Bases: AbstractCRSType

Gml:AbstractSingleCRS implements a coordinate reference system consisting of one coordinate system and one datum (as opposed to a Compound CRS).

CoordinateSystemAxisPropertyType dataclass

CoordinateSystemAxisPropertyType(
    *,
    coordinate_system_axis: None | CoordinateSystemAxis = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:CoordinateSystemAxisPropertyType is a property type for association roles to a coordinate system axis, either referencing or containing the definition of that axis.

EllipsoidPropertyType dataclass

EllipsoidPropertyType(
    *,
    ellipsoid: None | Ellipsoid_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:EllipsoidPropertyType is a property type for association roles to an ellipsoid, either referencing or containing the definition of that ellipsoid.

PrimeMeridianPropertyType dataclass

PrimeMeridianPropertyType(
    *,
    prime_meridian: None | PrimeMeridian_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:PrimeMeridianPropertyType is a property type for association roles to a prime meridian, either referencing or containing the definition of that meridian.

obj_GpGridRepresentation dataclass

obj_GpGridRepresentation(
    *,
    citation: Citation,
    aliases: list[ObjectAlias] = list(),
    custom_data: None | CustomData = None,
    schema_version: str = "",
    uuid: str = (lambda: str(uuid4()))(),
    object_version: None | str = None,
    extra_metadata: list[NameValuePair] = list(),
    represented_interpretation: None | DataObjectReference = None,
    cell_fluid_phase_units: None | CellFluidPhaseUnits = None,
    parent_window: None | AbstractParentWindow = None,
    cell_stratigraphic_units: None | CellStratigraphicUnits = None,
    column_layer_grid: list[GpGridColumnLayerGrid] = list(),
    unstructured_grid_patch: list[GpGridUnstructuredGridPatch] = list(),
)

Bases: AbstractGridRepresentation

General purpose (GP) grid representation, which includes and/or extends the features from all other grid representations.

This general purpose representation is included in the schema for research and/or advanced modeling purposes, but is not expected to be used for routine data transfer.

AbstractGeneralDerivedCRS dataclass

AbstractGeneralDerivedCRS(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: list[domainOfValidity] = list(),
    scope: list[scope] = list(),
    conversion: conversion,
)

Bases: AbstractGeneralDerivedCRSType

Gml:AbstractGeneralDerivedCRS is a coordinate reference system that is defined by its coordinate conversion from another coordinate reference system.

This abstract complex type shall not be used, extended, or restricted, in a GML Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.

VerticalDatum_1 dataclass

VerticalDatum_1(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: None | domainOfValidity = None,
    scope: list[scope] = list(),
    anchor_definition: None | anchorDefinition = None,
    realization_epoch: None | realizationEpoch = None,
)

Bases: VerticalDatumType

Gml:VerticalDatum is a textual description and/or a set of parameters identifying a particular reference level surface used as a zero-height surface, including its position with respect to the Earth for any of the height types recognized by this International Standard.

axis dataclass

axis(
    *,
    coordinate_system_axis: None | CoordinateSystemAxis = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: CoordinateSystemAxisPropertyType

The gml:axis property is an association role (ordered sequence) to the coordinate system axes included in this coordinate system.

The coordinate values in a coordinate tuple shall be recorded in the order in which the coordinate system axes associations are recorded, whenever those coordinates use a coordinate reference system that uses this coordinate system. The gml:AggregationAttributeGroup should be used to specify that the axis objects are ordered.

ellipsoid_2 dataclass

ellipsoid_2(
    *,
    ellipsoid: None | Ellipsoid_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: EllipsoidPropertyType

Gml:ellipsoid is an association role to the ellipsoid used by this geodetic datum.

primeMeridian_2 dataclass

primeMeridian_2(
    *,
    prime_meridian: None | PrimeMeridian_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: PrimeMeridianPropertyType

Gml:primeMeridian is an association role to the prime meridian used by this geodetic datum.

VerticalDatumPropertyType dataclass

VerticalDatumPropertyType(
    *,
    vertical_datum: None | VerticalDatum_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:VerticalDatumPropertyType is property type for association roles to a vertical datum, either referencing or containing the definition of that datum.

CI_Citation_Type dataclass

CI_Citation_Type(
    *,
    id: None | str = None,
    uuid: None | str = None,
    title: CharacterString_PropertyType,
    alternate_title: list[CharacterString_PropertyType] = list(),
    date: list[CI_Date_PropertyType] = list(),
    edition: None | CharacterString_PropertyType = None,
    edition_date: None | Date_PropertyType = None,
    identifier: list[MD_Identifier_PropertyType] = list(),
    cited_responsible_party: list[CI_ResponsibleParty_PropertyType] = list(),
    presentation_form: list[CI_PresentationFormCode_PropertyType] = list(),
    series: None | CI_Series_PropertyType = None,
    other_citation_details: None | CharacterString_PropertyType = None,
    collective_title: None | CharacterString_PropertyType = None,
    isbn: None | CharacterString_PropertyType = None,
    issn: None | CharacterString_PropertyType = None,
)

Bases: AbstractObject_Type

Standardized resource reference.

AbstractCoordinateSystem dataclass

AbstractCoordinateSystem(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    axis: list[axis] = list(),
    aggregation_type: None | AggregationType = None,
)

Bases: AbstractCoordinateSystemType

Gml:AbstractCoordinateSystem is a coordinate system (CS) is the non- repeating sequence of coordinate system axes that spans a given coordinate space.

A CS is derived from a set of mathematical rules for specifying how coordinates in a given space are to be assigned to points. The coordinate values in a coordinate tuple shall be recorded in the order in which the coordinate system axes associations are recorded. This abstract complex type shall not be used, extended, or restricted, in an Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.

GeodeticDatum_1 dataclass

GeodeticDatum_1(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: None | domainOfValidity = None,
    scope: list[scope] = list(),
    anchor_definition: None | anchorDefinition = None,
    realization_epoch: None | realizationEpoch = None,
    prime_meridian: primeMeridian_2,
    ellipsoid: ellipsoid_2,
)

Bases: GeodeticDatumType

Gml:GeodeticDatum is a geodetic datum defines the precise location and orientation in 3-dimensional space of a defined ellipsoid (or sphere), or of a Cartesian coordinate system centered in this ellipsoid (or sphere).

verticalDatum_2 dataclass

verticalDatum_2(
    *,
    vertical_datum: None | VerticalDatum_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: VerticalDatumPropertyType

Gml:verticalDatum is an association role to the vertical datum used by this CRS.

CartesianCS_1 dataclass

CartesianCS_1(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    axis: list[axis] = list(),
    aggregation_type: None | AggregationType = None,
)

Bases: CartesianCSType

Gml:CartesianCS is a 1-, 2-, or 3-dimensional coordinate system.

In the 1-dimensional case, it contains a single straight coordinate axis. In the 2- and 3-dimensional cases gives the position of points relative to orthogonal straight axes. In the multi-dimensional case, all axes shall have the same length unit of measure. A CartesianCS shall have one, two, or three gml:axis property elements.

EllipsoidalCS_1 dataclass

EllipsoidalCS_1(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    axis: list[axis] = list(),
    aggregation_type: None | AggregationType = None,
)

Bases: EllipsoidalCSType

Gml:EllipsoidalCS is a two- or three-dimensional coordinate system in which position is specified by geodetic latitude, geodetic longitude, and (in the three-dimensional case) ellipsoidal height.

An EllipsoidalCS shall have two or three gml:axis property elements; the number of associations shall equal the dimension of the CS.

GeodeticDatumPropertyType dataclass

GeodeticDatumPropertyType(
    *,
    geodetic_datum: None | GeodeticDatum_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:GeodeticDatumPropertyType is a property type for association roles to a geodetic datum, either referencing or containing the definition of that datum.

SphericalCS_1 dataclass

SphericalCS_1(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    axis: list[axis] = list(),
    aggregation_type: None | AggregationType = None,
)

Bases: SphericalCSType

Gml:SphericalCS is a three-dimensional coordinate system with one distance measured from the origin and two angular coordinates.

A SphericalCS shall have three gml:axis property elements.

VerticalCS_1 dataclass

VerticalCS_1(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    axis: list[axis] = list(),
    aggregation_type: None | AggregationType = None,
)

Bases: VerticalCSType

Gml:VerticalCS is a one-dimensional coordinate system used to record the heights or depths of points.

Such a coordinate system is usually dependent on the Earth's gravity field, perhaps loosely as when atmospheric pressure is the basis for the vertical coordinate system axis. A VerticalCS shall have one gml:axis property element.

CartesianCSPropertyType dataclass

CartesianCSPropertyType(
    *,
    cartesian_cs: None | CartesianCS_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:CartesianCSPropertyType is a property type for association roles to a Cartesian coordinate system, either referencing or containing the definition of that coordinate system.

EllipsoidalCSPropertyType dataclass

EllipsoidalCSPropertyType(
    *,
    ellipsoidal_cs: None | EllipsoidalCS_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:EllipsoidalCSPropertyType is a property type for association roles to an ellipsoidal coordinate system, either referencing or containing the definition of that coordinate system.

SphericalCSPropertyType dataclass

SphericalCSPropertyType(
    *,
    spherical_cs: None | SphericalCS_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:SphericalCSPropertyType is property type for association roles to a spherical coordinate system, either referencing or containing the definition of that coordinate system.

VerticalCSPropertyType dataclass

VerticalCSPropertyType(
    *,
    vertical_cs: None | VerticalCS_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:VerticalCSPropertyType is a property type for association roles to a vertical coordinate system, either referencing or containing the definition of that coordinate system.

geodeticDatum_2 dataclass

geodeticDatum_2(
    *,
    geodetic_datum: None | GeodeticDatum_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: GeodeticDatumPropertyType

Gml:geodeticDatum is an association role to the geodetic datum used by this CRS.

cartesianCS_2 dataclass

cartesianCS_2(
    *,
    cartesian_cs: None | CartesianCS_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: CartesianCSPropertyType

Gml:cartesianCS is an association role to the Cartesian coordinate system used by this CRS.

ellipsoidalCS_2 dataclass

ellipsoidalCS_2(
    *,
    ellipsoidal_cs: None | EllipsoidalCS_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: EllipsoidalCSPropertyType

Gml:ellipsoidalCS is an association role to the ellipsoidal coordinate system used by this CRS.

sphericalCS_2 dataclass

sphericalCS_2(
    *,
    spherical_cs: None | SphericalCS_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: SphericalCSPropertyType

Gml:sphericalCS is an association role to the spherical coordinate system used by this CRS.

verticalCS_2 dataclass

verticalCS_2(
    *,
    vertical_cs: None | VerticalCS_1 = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: VerticalCSPropertyType

Gml:verticalCS is an association role to the vertical coordinate system used by this CRS.

GeodeticCRSType dataclass

GeodeticCRSType(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: list[domainOfValidity] = list(),
    scope: list[scope] = list(),
    ellipsoidal_cs: None | ellipsoidalCS_2 = None,
    cartesian_cs: None | cartesianCS_2 = None,
    spherical_cs: None | sphericalCS_2 = None,
    geodetic_datum: geodeticDatum_2,
)

Bases: AbstractCRSType

Gml:GeodeticCRS is a coordinate reference system based on a geodetic datum.

GmlVerticalCrsDefinition dataclass

GmlVerticalCrsDefinition(*, gml_vertical_crs_definition: VerticalCRSType)

Bases: AbstractVerticalCrs

This is the Energistics encapsulation of the ProjectedCrs type from GML.

VerticalCRS dataclass

VerticalCRS(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: list[domainOfValidity] = list(),
    scope: list[scope] = list(),
    vertical_cs: verticalCS_2,
    vertical_datum: verticalDatum_2,
)

Bases: VerticalCRSType

Gml:VerticalCRS is a 1D coordinate reference system used for recording heights or depths.

Vertical CRSs make use of the direction of gravity to define the concept of height or depth, but the relationship with gravity may not be straightforward. By implication, ellipsoidal heights (h) cannot be captured in a vertical coordinate reference system. Ellipsoidal heights cannot exist independently, but only as an inseparable part of a 3D coordinate tuple defined in a geographic 3D coordinate reference system.

GeodeticCRSPropertyType dataclass

GeodeticCRSPropertyType(
    *,
    geodetic_crs: None | GeodeticCRS = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:GeodeticCRSPropertyType is a property type for association roles to a geodetic coordinate reference system, either referencing or containing the definition of that reference system.

baseGeodeticCRS dataclass

baseGeodeticCRS(
    *,
    geodetic_crs: None | GeodeticCRS = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: GeodeticCRSPropertyType

Gml:baseGeodeticCRS is an association role to the geodetic coordinate reference system used by this projected CRS.

GmlProjectedCrsDefinition dataclass

GmlProjectedCrsDefinition(*, gml_projected_crs_definition: ProjectedCRSType)

Bases: AbstractProjectedCrs

This is the Energistics encapsulation of the ProjectedCrs type from GML.

ProjectedCRS dataclass

ProjectedCRS(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: list[domainOfValidity] = list(),
    scope: list[scope] = list(),
    conversion: conversion,
    base_geodetic_crs: baseGeodeticCRS,
    cartesian_cs: cartesianCS_2,
)

Bases: ProjectedCRSType

Gml:ProjectedCRS is a 2D coordinate reference system used to approximate the shape of the earth on a planar surface, but in such a way that the distortion that is inherent to the approximation is carefully controlled and known.

Distortion correction is commonly applied to calculated bearings and distances to produce values that are a close match to actual field values.

CRSPropertyType dataclass

CRSPropertyType(
    *,
    vertical_crs: None | VerticalCRS = None,
    projected_crs: None | ProjectedCRS = None,
    geodetic_crs: None | GeodeticCRS = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Gml:CRSPropertyType is a property type for association roles to a CRS abstract coordinate reference system, either referencing or containing the definition of that CRS.

sourceCRS dataclass

sourceCRS(
    *,
    vertical_crs: None | VerticalCRS = None,
    projected_crs: None | ProjectedCRS = None,
    geodetic_crs: None | GeodeticCRS = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: CRSPropertyType

Gml:sourceCRS is an association role to the source CRS (coordinate reference system) of this coordinate operation.

targetCRS dataclass

targetCRS(
    *,
    vertical_crs: None | VerticalCRS = None,
    projected_crs: None | ProjectedCRS = None,
    geodetic_crs: None | GeodeticCRS = None,
    href: None | str = None,
    role: None | str = None,
    arcrole: None | str = None,
    title: None | str = None,
    show: None | show_value = None,
    actuate: None | actuate_value = None,
    nil_reason: None | str | NilReasonEnumeration_value = None,
)

Bases: CRSPropertyType

Gml:targetCRS is an association role to the target CRS (coordinate reference system) of this coordinate operation.

AbstractCoordinateOperation dataclass

AbstractCoordinateOperation(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: None | domainOfValidity = None,
    scope: list[scope] = list(),
    operation_version: None | operationVersion = None,
    coordinate_operation_accuracy: list[coordinateOperationAccuracy] = list(),
    source_crs: None | sourceCRS = None,
    target_crs: None | targetCRS = None,
)

Bases: AbstractCoordinateOperationType

Gml:AbstractCoordinateOperation is a mathematical operation on coordinates that transforms or converts coordinates to another coordinate reference system.

Many but not all coordinate operations (from CRS A to CRS B) also uniquely define the inverse operation (from CRS B to CRS A). In some cases, the operation method algorithm for the inverse operation is the same as for the forward algorithm, but the signs of some operation parameter values shall be reversed. In other cases, different algorithms are required for the forward and inverse operations, but the same operation parameter values are used. If (some) entirely different parameter values are needed, a different coordinate operation shall be defined. The optional coordinateOperationAccuracy property elements provide estimates of the impact of this coordinate operation on point position accuracy.

AbstractSingleOperation dataclass

AbstractSingleOperation(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: None | domainOfValidity = None,
    scope: list[scope] = list(),
    operation_version: None | operationVersion = None,
    coordinate_operation_accuracy: list[coordinateOperationAccuracy] = list(),
    source_crs: None | sourceCRS = None,
    target_crs: None | targetCRS = None,
)

Bases: AbstractCoordinateOperationType

Gml:AbstractSingleOperation is a single (not concatenated) coordinate operation.

AbstractGeneralConversion dataclass

AbstractGeneralConversion(
    *,
    description: None | description = None,
    description_reference: None | descriptionReference = None,
    identifier: identifier,
    name: list[name] = list(),
    id: str,
    remarks: None | remarks = None,
    domain_of_validity: None | domainOfValidity = None,
    scope: list[scope] = list(),
    operation_version: None | operationVersion = None,
    coordinate_operation_accuracy: list[coordinateOperationAccuracy] = list(),
    source_crs: None | sourceCRS = None,
    target_crs: None | targetCRS = None,
)

Bases: AbstractGeneralConversionType

Gm:AbstractGeneralConversion is an abstract operation on coordinates that does not include any change of datum.

The best-known example of a coordinate conversion is a map projection. The parameters describing coordinate conversions are defined rather than empirically derived. Note that some conversions have no parameters. The operationVersion, sourceCRS, and targetCRS elements are omitted in a coordinate conversion. This abstract complex type is expected to be extended for well-known operation methods with many Conversion instances, in GML Application Schemas that define operation-method-specialized element names and contents. This conversion uses an operation method, usually with associated parameter values. However, operation methods and parameter values are directly associated with concrete subtypes, not with this abstract type. All concrete types derived from this type shall extend this type to include a "usesMethod" element that references the "OperationMethod" element. Similarly, all concrete types derived from this type shall extend this type to include zero or more elements each named "uses...Value" that each use the type of an element substitutable for the "AbstractGeneralParameterValue" element.