pybacktrack.StratigraphicUnit

class pybacktrack.StratigraphicUnit(top_age, bottom_age, top_depth, bottom_depth, lithology_components, lithologies, other_attributes=None)

Class to hold data for a stratigraphic unit.

top_age

Age of top of stratigraphic unit (in Ma).

Type:

float

bottom_age

Age of bottom of stratigraphic unit (in Ma).

Type:

float

top_depth

Depth of top of stratigraphic unit (in metres).

Type:

float

bottom_depth

Depth of bottom of stratigraphic unit (in metres).

Type:

float

decompacted_top_depth

Fully decompacted depth of top of stratigraphic unit (in metres) as if no portion of any layer had ever been buried (ie, using surface porosities only).

Type:

float

decompacted_bottom_depth

Fully decompacted depth of bottom of stratigraphic unit (in metres) as if no portion of any layer had ever been buried (ie, using surface porosities only).

Type:

float

min_water_depth

Minimum paleo-water depth of stratigraphic unit (in metres).

Note

This attribute is only available when backstripping (not backtracking). For example, it is available if pybacktrack.backstrip_well() or pybacktrack.backstrip_and_write_well() has been called.

Type:

float, optional

max_water_depth

Maximum paleo-water depth of stratigraphic unit (in metres).

Note

This attribute is only available when backstripping (not backtracking). For example, it is available if pybacktrack.backstrip_well() or pybacktrack.backstrip_and_write_well() has been called.

Type:

float, optional

lithology_components

Sequence of tuples (name, fraction) containing a lithology name and its fraction of contribution.

Type:

sequence of tuples (str, float)

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

Create a stratigraphic unit from top and bottom age, top and bottom depth and lithology components.

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

Methods

__init__(top_age, bottom_age, top_depth, ...)

Create a stratigraphic unit from top and bottom age, top and bottom depth and lithology components.

calc_decompacted_density(...)

Calculate average decompacted density when top of this stratigraphic unit is at a decompacted depth.

calc_decompacted_thickness(...)

Calculate decompacted thickness when top of this stratigraphic unit is at a decompacted depth.

create_partial_unit(unit, top_age)

Create a new stratigraphic unit equivalent to unit but with the top part stripped off according to top_age.

get_decompacted_sediment_rate()

Return fully decompacted sediment rate.

get_fully_decompacted_thickness()

Get fully decompacted thickness.

calc_decompacted_density(decompacted_thickness, decompacted_depth_to_top)

Calculate average decompacted density when top of this stratigraphic unit is at a decompacted depth.

Parameters:
Returns:

Decompacted density.

Return type:

float

calc_decompacted_thickness(decompacted_depth_to_top)

Calculate decompacted thickness when top of this stratigraphic unit is at a decompacted depth.

Parameters:

decompacted_depth_to_top (float) – Decompacted depth of the top of this stratigraphic unit.

Returns:

Decompacted thickness.

Return type:

float

static create_partial_unit(unit, top_age)

Create a new stratigraphic unit equivalent to unit but with the top part stripped off according to top_age.

Essentially sediment deposited from top_age to the top age of unit is stripped off (assuming a constant sediment deposition rate for unit). And so top_age is expected to be older/earlier than the top age of unit (and younger than the bottom age of unit).

Parameters:
Raises:
  • ValueError – If top_age is outside the top/bottom age range of unit.

  • ValueError – If top age of unit is greater than the bottom age of unit.

Notes

This does not partially decompact unit. It is simply adjusting the top depth of new unit to correspond to its new top age. Then when the returned partial stratigraphic unit is subsequently decompacted it’ll have the correct volume of grains (assuming a constant sediment deposition rate) and hence be decompacted correctly at its new top age.

Added in version 1.4.

get_decompacted_sediment_rate()

Return fully decompacted sediment rate.

This is the fully decompacted thickness of this unit divided by its (deposition) time interval.

Returns:

Decompacted sediment rate (in units of metres/Ma).

Return type:

float

Notes

Fully decompacted is equivalent to assuming this unit is at the surface (ie, no units on top of it) and porosity decay within the unit is not considered (in other words the weight of the upper part of the unit does not compact the lower part of the unit).

get_fully_decompacted_thickness()

Get fully decompacted thickness. It is calculated on first call.

Returns:

Fully decompacted thickness.

Return type:

float

Notes

Fully decompacted is equivalent to assuming this unit is at the surface (ie, no units on top of it) and porosity decay within the unit is not considered (in other words the weight of the upper part of the unit does not compact the lower part of the unit).

Added in version 1.4.