resqpy.well.WellboreFrame

class resqpy.well.WellboreFrame(parent_model, uuid=None, trajectory=None, mds=None, represented_interp=None, title=None, originator=None, extra_metadata=None)

Bases: BaseResqpy

Class for RESQML WellboreFrameRepresentation objects (supporting well log Properties)

RESQML documentation:

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.

Roughly equivalent to a Techlog “dataset” object with a given depth reference.

The logs attribute is a resqpy.property.WellLogCollection of all logs in the frame.

Public Data Attributes:

resqml_type

Inherited from BaseResqpy

resqml_type

part

Standard part name corresponding to self.uuid.

root

XML node corresponding to self.uuid.

citation_title

Citation block title equivalent to self.title.

Commonly Used Methods:

__init__(parent_model[, uuid, trajectory, ...])

Creates a new wellbore frame object and optionally loads it from xml or list of measured depths.

Methods:

extract_crs_uuid()

Returns the uuid of the coordinate reference system used by the related trajectory.

extract_property_collection()

Returns property collection for the frame, creating attribute if not already established.

extract_log_collection([refresh])

Returns collection of well logs (nodes properties) for this frame, creating if refresh or not already established.

interval_for_md(md)

Returns wellbore frame interval index and fractional way along interval, for given md.

create_feature_and_interpretation()

Instantiate new empty WellboreFeature and WellboreInterpretation objects, if a wellboreinterpretation does

write_hdf5([file_name, mode])

Create or append to an hdf5 file, writing datasets for the measured depths.

create_xml([ext_uuid, add_as_part, ...])

Create a wellbore frame representation node from this WellboreFrame object, optionally add as part.

Inherited from BaseResqpy

__init__(parent_model[, uuid, trajectory, ...])

Creates a new wellbore frame object and optionally loads it from xml or list of measured depths.

try_reuse()

Look for an equivalent existing RESQML object and modify the uuid of this object if found.

create_xml([ext_uuid, add_as_part, ...])

Create a wellbore frame representation node from this WellboreFrame object, optionally add as part.

append_extra_metadata(meta_dict)

Append a given dictionary of metadata to the existing metadata.

__eq__(other)

Implements equals operator; uses is_equivalent() otherwise compares class type and uuid.

__ne__(other)

Implements not equal operator.

__repr__()

String representation.


__init__(parent_model, uuid=None, trajectory=None, mds=None, represented_interp=None, title=None, originator=None, extra_metadata=None)[source]

Creates a new wellbore frame object and optionally loads it from xml or list of measured depths.

Parameters
  • parent_model (model.Model object) – the model which the new wellbore frame belongs to

  • uuid (optional) – the uuid of an existing wellbore frame; if present, remaining arguments are ignored

  • trajectory (Trajectory object, optional) – the trajectory of the well; required if loading from list of measured depths

  • mds (optional numpy 1D array, tuple or list of floats) – ordered list of measured depths which will constitute the frame; ignored if uuid is not None; units are those of trajectory mds

  • represented_interp (wellbore interpretation object, optional) – if present, is noted as the wellbore interpretation object which this frame relates to; ignored if uuid is not None

  • title (str, optional) – the citation title to use for a new wellbore frame; ignored if uuid is not None

  • originator (str, optional) – the name of the person creating the wellbore frame, defaults to login id; ignored if uuid is not None

  • extra_metadata (dict, optional) – string key, value pairs to add as extra metadata for the wellbore frame; ignored if uuid is not None

Returns

the newly created wellbore frame object

Note

if initialising from a list of measured depths, the wellbore trajectory object must already exist

append_extra_metadata(meta_dict)

Append a given dictionary of metadata to the existing metadata.

property citation_title

Citation block title equivalent to self.title.

create_feature_and_interpretation()[source]

Instantiate new empty WellboreFeature and WellboreInterpretation objects, if a wellboreinterpretation does

not already exist.

Uses the wellboreframe citation title as the well name

create_xml(ext_uuid=None, add_as_part=True, add_relationships=True, title=None, originator=None)[source]

Create a wellbore frame representation node from this WellboreFrame object, optionally add as part.

Note

trajectory xml node must be in place before calling this function

extract_crs_uuid()[source]

Returns the uuid of the coordinate reference system used by the related trajectory.

extract_log_collection(refresh=False)[source]

Returns collection of well logs (nodes properties) for this frame, creating if refresh or not already established.

extract_property_collection()[source]

Returns property collection for the frame, creating attribute if not already established.

interval_for_md(md)[source]

Returns wellbore frame interval index and fractional way along interval, for given md.

Parameters

md (float) – measured depth, in units used by trajectory mds

Returns

(int, float) where int is the index of the wellbore frame interval containing md, and float is a fraction

way through that interval of md, in range 0.0 to 1.0

Note

if md is outside the range covered by the wellbore frame intervals, an index of -1 is returned and the fraction will be 0.0 for an md shallower than the frame intervals, 1.0 for deeper

property part

Standard part name corresponding to self.uuid.

property root

XML node corresponding to self.uuid.

try_reuse()

Look for an equivalent existing RESQML object and modify the uuid of this object if found.

Returns

boolean – True if an equivalent object was found, False if not

Note

by design this method may change this object’s uuid as a side effect

write_hdf5(file_name=None, mode='a')[source]

Create or append to an hdf5 file, writing datasets for the measured depths.

title

Citation title

originator

Creator of object. By default, user id.

uuid

Unique identifier