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:
BaseResqpyClass 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.WellLogCollectionof all logs in the frame.Public Data Attributes:
resqml_typeInherited from
BaseResqpyDefinition of which RESQML object the class represents.
Standard part name corresponding to self.uuid.
XML node corresponding to self.uuid.
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:
Returns the uuid of the coordinate reference system used by the related trajectory.
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.
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__(model[, uuid, title, originator, ...])Load an existing resqml object, or create new.
Look for an equivalent existing RESQML object and modify the uuid of this object if found.
create_xml([title, originator, ...])Write citation block to XML.
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 touuid (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 depthsmds (
optional numpy 1D array,tupleorlistoffloats) – ordered list of measured depths which will constitute the frame; ignored if uuid is not None; units are those of trajectory mdsrepresented_interp (
wellbore interpretation object, optional) – if present, is noted as the wellbore interpretation object which this frame relates to; ignored if uuid is not Nonetitle (
str, optional) – the citation title to use for a new wellbore frame; ignored if uuid is not Noneoriginator (
str, optional) – the name of the person creating the wellbore frame, defaults to login id; ignored if uuid is not Noneextra_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