pybacktrack.Well

class pybacktrack.Well(attributes=None, stratigraphic_units=None)

Class containing all the stratigraphic units in a well sorted by age (from youngest to oldest).

longitude

Longitude of the well location.

Note

This attribute is available provided pybacktrack.backtrack_well() or pybacktrack.backstrip_well() (or any function calling them) have been called.

Type:

float, optional

latitude

Latitude of the well location.

Note

This attribute is available provided pybacktrack.backtrack_well() or pybacktrack.backstrip_well() (or any function calling them) have been called.

Type:

float, optional

stratigraphic_units

List of stratigraphic units in this well sorted by age (from youngest to oldest).

Type:

list of pybacktrack.StratigraphicUnit

__init__(attributes=None, stratigraphic_units=None)

Create a well from optional stratigraphic units.

Parameters:
  • attributes (dict, optional) – Attributes to store on this well object. If specified then must be a dictionary mapping attribute names to values.

  • stratigraphic_units (sequence of pybacktrack.StratigraphicUnit, optional) – Sequence of StratigraphicUnit objects. They can be unsorted (by age) but will be added in sorted order.

Raises:

ValueError

If:

  1. Youngest unit does not have zero depth, or

  2. adjacent units do not have matching top and bottom ages and depths.

…this ensures the units are contiguous in depth from the surface (ie, no gaps).

Notes

Stratigraphic units can also be added using pybacktrack.Well.add_compacted_unit()

Methods

__init__([attributes, stratigraphic_units])

Create a well from optional stratigraphic units.

add_compacted_unit(top_age, bottom_age, ...)

Add the next deeper stratigraphic unit.

decompact([age])

Finds decompacted total sediment thickness at age (if specified), otherwise at each (top) age in all stratigraphic units.

add_compacted_unit(top_age, bottom_age, top_depth, bottom_depth, lithology_components, lithologies, other_attributes=None)

Add the next deeper stratigraphic unit.

Units must be added in order of age.

Parameters:
  • top_age (float) – Age of top of stratigraphic unit (in Ma).

  • bottom_age (float) – Age of bottom of stratigraphic unit (in Ma).

  • top_depth (float) – Depth of top of stratigraphic unit (in metres).

  • bottom_depth (float) – Depth of bottom of stratigraphic unit (in metres).

  • lithology_components (sequence of tuples (str, float)) – Sequence of tuples (name, fraction) containing a lithology name and its fraction of contribution.

  • lithologies (dict) – A dictionary mapping lithology names to pybacktrack.Lithology objects.

  • other_attributes (dict, optional) – A dictionary of attribute name/value pairs to set on stratigraphic unit object (using setattr). For example, backstripping will add the min_water_depth and max_water_depth attributes (when pybacktrack.backstrip_well() or pybacktrack.backstrip_and_write_well() has been called).

Raises:

ValueError

If:

  1. Youngest unit does not have zero depth, or

  2. adjacent units do not have matching top and bottom ages and depths.

…this ensures the units are contiguous in depth from the surface (ie, no gaps).

decompact(age=None)

Finds decompacted total sediment thickness at age (if specified), otherwise at each (top) age in all stratigraphic units.

Parameters:

age (optional) – If specified, then it’s the age (in Ma) to decompact at. Otherwise decompact at the top age of each stratigraphic unit. This is the default.

Returns:

If age is specified then returns the decompacted well at that age, otherwise a list of decompacted wells with one per age in same order (and ages) as the well units (youngest to oldest).

Return type:

pybacktrack.DecompactedWell, or list of pybacktrack.DecompactedWell

Notes

Changed in version 1.4: Added the age argument.

Changed in version 1.5: No longer returns None when age is specified but is older than bottom age of the well.