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()orpybacktrack.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()orpybacktrack.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.Lithologyobjects.other_attributes (dict, optional) – A dictionary of attribute name/value pairs to set on stratigraphic unit object (using
setattr). For example, backstripping will add themin_water_depthandmax_water_depthattributes (whenpybacktrack.backstrip_well()orpybacktrack.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.
Calculate average decompacted density when top of this stratigraphic unit is at a decompacted depth.
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
unitbut with the top part stripped off according totop_age.Return fully decompacted sediment rate.
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:
decompacted_thickness (float) – Decompacted thickness of this stratigraphic unit as returned by
pybacktrack.StratigraphicUnit.calc_decompacted_thickness().decompacted_depth_to_top (float) – Decompacted depth of the top of this stratigraphic unit.
- 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
unitbut with the top part stripped off according totop_age.Essentially sediment deposited from
top_ageto the top age ofunitis stripped off (assuming a constant sediment deposition rate forunit). And sotop_ageis expected to be older/earlier than the top age ofunit(and younger than the bottom age ofunit).- Parameters:
unit (
pybacktrack.StratigraphicUnit) – Stratigraphic unit to create new unit from.top_age (float) – Top age of new stratigraphic unit.
- Raises:
ValueError – If
top_ageis outside the top/bottom age range ofunit.ValueError – If top age of
unitis greater than the bottom age ofunit.
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.