Backstrip
Overview
The backstrip
module is used to find tectonic subsidence from paleo water depths, and sediment decompaction over time.
Running backstrip
You can either run backstrip
as a built-in script, specifying parameters as command-line options (...
):
python -m pybacktrack.backstrip_cli ...
…or import pybacktrack
into your own script, calling its functions and specifying parameters as function arguments (...
):
import pybacktrack
pybacktrack.backstrip_and_write_well(...)
Note
You can run python -m pybacktrack.backstrip_cli --help
to see a description of all command-line options available, or
see the backstripping reference section for documentation on the function parameters.
Example
To backstrip the sunrise drill site (located on shallower continental crust), and output all available parameters (via the -d
option), we can run it from the command-line as:
python -m pybacktrack.backstrip_cli \
-w pybacktrack_examples/example_data/sunrise_lithology.txt \
-l primary extended \
-d age compacted_depth compacted_thickness decompacted_thickness decompacted_density decompacted_sediment_rate decompacted_depth min_tectonic_subsidence max_tectonic_subsidence average_tectonic_subsidence min_water_depth max_water_depth average_water_depth lithology \
-slm Haq87_SealevelCurve_Longterm \
-o sunrise_backstrip_amended.txt \
-- \
sunrise_backstrip_decompacted.txt
…or write some Python code to do the same thing:
import pybacktrack
# Input and output filenames.
input_well_filename = 'pybacktrack_examples/example_data/sunrise_lithology.txt'
amended_well_output_filename = 'sunrise_backstrip_amended.txt'
decompacted_output_filename = 'sunrise_backstrip_decompacted.txt'
# Read input well file, and write amended well and decompacted results to output files.
pybacktrack.backstrip_and_write_well(
decompacted_output_filename,
input_well_filename,
lithology_filenames=[pybacktrack.PRIMARY_BUNDLE_LITHOLOGY_FILENAME,
pybacktrack.EXTENDED_BUNDLE_LITHOLOGY_FILENAME],
sea_level_model=pybacktrack.BUNDLE_SEA_LEVEL_MODELS['Haq87_SealevelCurve_Longterm'],
decompacted_columns=[pybacktrack.BACKSTRIP_COLUMN_AGE,
pybacktrack.BACKSTRIP_COLUMN_COMPACTED_DEPTH,
pybacktrack.BACKSTRIP_COLUMN_COMPACTED_THICKNESS,
pybacktrack.BACKSTRIP_COLUMN_DECOMPACTED_THICKNESS,
pybacktrack.BACKSTRIP_COLUMN_DECOMPACTED_DENSITY,
pybacktrack.BACKSTRIP_COLUMN_DECOMPACTED_SEDIMENT_RATE,
pybacktrack.BACKSTRIP_COLUMN_DECOMPACTED_DEPTH,
pybacktrack.BACKSTRIP_COLUMN_MIN_TECTONIC_SUBSIDENCE,
pybacktrack.BACKSTRIP_COLUMN_MAX_TECTONIC_SUBSIDENCE,
pybacktrack.BACKSTRIP_COLUMN_AVERAGE_TECTONIC_SUBSIDENCE,
pybacktrack.BACKSTRIP_COLUMN_MIN_WATER_DEPTH,
pybacktrack.BACKSTRIP_COLUMN_MAX_WATER_DEPTH,
pybacktrack.BACKSTRIP_COLUMN_AVERAGE_WATER_DEPTH,
pybacktrack.BACKSTRIP_COLUMN_LITHOLOGY],
# Might be an extra stratigraphic well layer added from well bottom to ocean basement...
ammended_well_output_filename=amended_well_output_filename)
Note
The drill site file pybacktrack_examples/example_data/sunrise_lithology.txt
is part of the example data.
Backstrip output
For each stratigraphic layer in the input drill site file, backstrip
can write one or more parameters to an output file.
Running the above example on the sunrise drill site:
# SiteLatitude = -9.5901
# SiteLongitude = 128.1538
# SurfaceAge = 0.0000
#
## bottom_age bottom_depth min_water_depth max_water_depth lithology
2.000 462.000 0.000 100.000 Shale 0.20 Limestone 0.75 Dolostone 0.05
10.000 525.000 0.000 100.000 Shale 0.20 Limestone 0.75 Dolostone 0.05
24.000 822.000 0.000 100.000 Shale 0.10 Limestone 0.80 Sand 0.10
30.000 1062.000 0.000 100.000 Shale 0.30 Limestone 0.55 Dolostone 0.05 Sand 0.10
34.000 1086.000 0.000 100.000 Shale 0.20 Limestone 0.10 Sand 0.70
45.000 1366.000 0.000 100.000 Shale 0.10 Limestone 0.75 Dolostone 0.05 Sand 0.10
58.000 1442.000 0.000 100.000 Shale 0.15 Limestone 0.15 Sand 0.70
68.000 1494.000 50.000 200.000 Shale 0.45 Limestone 0.50 Sand 0.05
83.000 1521.000 20.000 200.000 Shale 0.30 Limestone 0.65 Sand 0.05
86.000 1545.000 20.000 200.000 Shale 0.55 Limestone 0.35 Sand 0.10
88.000 1582.000 20.000 200.000 Shale 0.35 Limestone 0.65
90.000 1620.000 20.000 200.000 Shale 0.70 Limestone 0.15 Sand 0.15
95.000 1890.000 20.000 200.000 Shale 0.70 Limestone 0.15 Sand 0.15
100.000 2036.000 20.000 200.000 Shale 0.70 Limestone 0.15 Sand 0.15
107.000 2062.000 20.000 200.000 Shale 0.64 Limestone 0.18 Sand 0.18
125.000 2066.000 0.000 100.000 Shale 0.40 Chalk 0.10 Sand 0.50
160.000 2068.000 0.000 100.000 Shale 0.40 Limestone 0.30 Sand 0.30
165.000 2130.000 0.000 100.000 Shale 0.40 Limestone 0.30 Sand 0.30
170.000 2176.000 0.000 100.000 Shale 0.50 Sand 0.50
177.000 2187.000 -10.000 25.000 Shale 0.30 Sand 0.70
180.000 2237.000 -10.000 25.000 Shale 0.30 Sand 0.70
190.000 2311.000 -10.000 20.000 Shale 0.30 Sand 0.70
…produces an amended drill site output file, and a decompacted output file containing the decompacted output parameters like sediment thickness and tectonic subsidence.
Amended drill site output
The amended drill site output file:
# SiteLatitude = -9.5901
# SiteLongitude = 128.1538
# SurfaceAge = 0.0000
#
## bottom_age bottom_depth min_water_depth max_water_depth lithology
2.000 462.000 0.000 100.000 Shale 0.20 Limestone 0.75 Dolostone 0.05
10.000 525.000 0.000 100.000 Shale 0.20 Limestone 0.75 Dolostone 0.05
24.000 822.000 0.000 100.000 Shale 0.10 Limestone 0.80 Sand 0.10
30.000 1062.000 0.000 100.000 Shale 0.30 Limestone 0.55 Dolostone 0.05 Sand 0.10
34.000 1086.000 0.000 100.000 Shale 0.20 Limestone 0.10 Sand 0.70
45.000 1366.000 0.000 100.000 Shale 0.10 Limestone 0.75 Dolostone 0.05 Sand 0.10
58.000 1442.000 0.000 100.000 Shale 0.15 Limestone 0.15 Sand 0.70
68.000 1494.000 50.000 200.000 Shale 0.45 Limestone 0.50 Sand 0.05
83.000 1521.000 20.000 200.000 Shale 0.30 Limestone 0.65 Sand 0.05
86.000 1545.000 20.000 200.000 Shale 0.55 Limestone 0.35 Sand 0.10
88.000 1582.000 20.000 200.000 Shale 0.35 Limestone 0.65
90.000 1620.000 20.000 200.000 Shale 0.70 Limestone 0.15 Sand 0.15
95.000 1890.000 20.000 200.000 Shale 0.70 Limestone 0.15 Sand 0.15
100.000 2036.000 20.000 200.000 Shale 0.70 Limestone 0.15 Sand 0.15
107.000 2062.000 20.000 200.000 Shale 0.64 Limestone 0.18 Sand 0.18
125.000 2066.000 0.000 100.000 Shale 0.40 Chalk 0.10 Sand 0.50
160.000 2068.000 0.000 100.000 Shale 0.40 Limestone 0.30 Sand 0.30
165.000 2130.000 0.000 100.000 Shale 0.40 Limestone 0.30 Sand 0.30
170.000 2176.000 0.000 100.000 Shale 0.50 Sand 0.50
177.000 2187.000 -10.000 25.000 Shale 0.30 Sand 0.70
180.000 2237.000 -10.000 25.000 Shale 0.30 Sand 0.70
190.000 2311.000 -10.000 20.000 Shale 0.30 Sand 0.70
Note
No extra base sediment layer is added from the bottom of the drill site (2311 metres) to the total sediment thickness at the drill site (1298.15 metres), because the former (bottom of drill site) is already deeper than the latter (total sediment thickness). This happens because the default total sediment thickness grid is not as accurate near continental margins (compared to deeper ocean basins).
Decompacted output
The decompacted output file:
# SiteLatitude = -9.5901
# SiteLongitude = 128.1538
# SurfaceAge = 0.0000
#
# age compacted_depth compacted_thickness decompacted_thickness decompacted_density decompacted_sediment_rate decompacted_depth min_tectonic_subsidence max_tectonic_subsidence average_tectonic_subsidence min_water_depth max_water_depth average_water_depth lithology
0.000 0.000 2311.000 2311.000 2089.479 245.712 0.000 1236.930 1336.930 1286.930 0.000 100.000 50.000 Shale 0.20 Limestone 0.75 Dolostone 0.05
2.000 462.000 1849.000 1984.750 2057.304 8.922 491.425 1038.610 1138.610 1088.610 0.000 100.000 50.000 Shale 0.20 Limestone 0.75 Dolostone 0.05
10.000 525.000 1786.000 1936.640 2052.112 24.613 562.801 956.290 1056.290 1006.290 0.000 100.000 50.000 Shale 0.10 Limestone 0.80 Sand 0.10
24.000 822.000 1489.000 1703.149 2018.885 50.826 907.389 846.332 946.332 896.332 0.000 100.000 50.000 Shale 0.30 Limestone 0.55 Dolostone 0.05 Sand 0.10
30.000 1062.000 1249.000 1493.707 1994.320 7.743 1212.348 678.295 778.295 728.295 0.000 100.000 50.000 Shale 0.20 Limestone 0.10 Sand 0.70
34.000 1086.000 1225.000 1472.172 1991.762 32.462 1243.321 653.467 753.467 703.467 0.000 100.000 50.000 Shale 0.10 Limestone 0.75 Dolostone 0.05 Sand 0.10
45.000 1366.000 945.000 1223.986 1937.093 7.857 1600.399 515.129 615.129 565.129 0.000 100.000 50.000 Shale 0.15 Limestone 0.15 Sand 0.70
58.000 1442.000 869.000 1153.349 1921.307 7.583 1702.542 546.589 696.589 621.589 50.000 200.000 125.000 Shale 0.45 Limestone 0.50 Sand 0.05
68.000 1494.000 817.000 1100.849 1911.363 2.517 1778.370 443.659 623.659 533.659 20.000 200.000 110.000 Shale 0.30 Limestone 0.65 Sand 0.05
83.000 1521.000 790.000 1074.658 1904.627 12.270 1816.128 439.905 619.905 529.905 20.000 200.000 110.000 Shale 0.55 Limestone 0.35 Sand 0.10
86.000 1545.000 766.000 1049.084 1900.276 26.459 1852.938 423.355 603.355 513.355 20.000 200.000 110.000 Shale 0.35 Limestone 0.65
88.000 1582.000 729.000 1012.260 1890.539 31.590 1905.856 388.195 568.195 478.195 20.000 200.000 110.000 Shale 0.70 Limestone 0.15 Sand 0.15
90.000 1620.000 691.000 968.032 1884.877 92.186 1969.037 343.109 523.109 433.109 20.000 200.000 110.000 Shale 0.70 Limestone 0.15 Sand 0.15
95.000 1890.000 421.000 625.158 1845.618 51.506 2429.968 160.243 340.243 250.243 20.000 200.000 110.000 Shale 0.70 Limestone 0.15 Sand 0.15
100.000 2036.000 275.000 412.490 1835.863 6.452 2687.497 111.343 291.343 201.343 20.000 200.000 110.000 Shale 0.64 Limestone 0.18 Sand 0.18
107.000 2062.000 249.000 373.048 1835.892 0.375 2732.658 109.605 209.605 159.605 0.000 100.000 50.000 Shale 0.40 Chalk 0.10 Sand 0.50
125.000 2066.000 245.000 367.097 1835.856 0.090 2739.405 145.550 245.550 195.550 0.000 100.000 50.000 Shale 0.40 Limestone 0.30 Sand 0.30
160.000 2068.000 243.000 364.308 1835.425 19.655 2742.563 198.479 298.479 248.479 0.000 100.000 50.000 Shale 0.40 Limestone 0.30 Sand 0.30
165.000 2130.000 181.000 276.308 1821.056 15.434 2840.839 117.435 217.435 167.435 0.000 100.000 50.000 Shale 0.50 Sand 0.50
170.000 2176.000 135.000 205.283 1822.654 2.458 2918.011 116.777 151.777 134.277 -10.000 25.000 7.500 Shale 0.30 Sand 0.70
177.000 2187.000 124.000 189.178 1820.541 26.161 2935.218 133.251 168.251 150.751 -10.000 25.000 7.500 Shale 0.30 Sand 0.70
180.000 2237.000 74.000 114.644 1810.669 11.696 3013.701 74.454 104.454 89.454 -10.000 20.000 5.000 Shale 0.30 Sand 0.70
190.000 2311.000 0.000 0.000 0.000 0.000 3130.665 -10.000 20.000 5.000 -10.000 20.000 5.000 Shale 1.00
The age, compacted_depth, min_water_depth, max_water_depth and lithology columns are the same as the bottom_age, bottom_depth, min_water_depth, max_water_depth and lithology columns in the input drill site (except there is also a row associated with the surface age).
The compacted_thickness column is the bottom depth of the drill site (2311 metres - noting that there is no base sediment layer in the amended drill site above) minus compacted_depth. The decompacted_thickness column is the thickness of all sediment at the associated age. In other words, at each consecutive age another stratigraphic layer is essentially removed, allowing the underlying layers to expand (due to their porosity). At present day (or the surface age) the decompacted thickness is just the compacted thickness. And note that because no extra base sediment layer was added to the bottom of the drill site (2311 metres) the thickness and density is zero there. The decompacted_density column is the average density integrated over the decompacted thickness of the drill site (each stratigraphic layer contains a mixture of water and sediment according to its porosity at the decompacted depth of the layer). The decompacted_sediment_rate column is the rate of sediment deposition in units of metres/Ma. At each time it is calculated as the fully decompacted thickness (ie, using surface porosity only) of the surface stratigraphic layer (whose deposition ends at the specified time) divided by the layer’s deposition time interval. The decompacted_depth column is similar to decompacted_sediment_rate in that the stratigraphic layers are fully decompacted (using surface porosity only) as if no portion of any layer had ever been buried. It is also similar to compacted_depth except all effects of compaction have been removed.
Finally, average_water_depth is just the average min_water_depth and max_water_depth. And min_tectonic_subsidence, max_tectonic_subsidence and average_tectonic_subsidence are obtained from min_water_depth and max_water_depth and average_water_depth by adding an isostatic correction of the decompacted sediment thickness (to obtain the deeper isostatically compensated, sediment-free water depth also known as tectonic subsidence).
Note
The output columns are specified using the -d
command-line option (run python -m pybacktrack.backstrip_cli --help
to see all options), or
using the decompacted_columns argument of the pybacktrack.backstrip_and_write_well()
function.
By default, only age and decompacted_thickness are output.
Sea level variation
A model of the variation of sea level relative to present day can optionally be used when backstripping. This adjusts the isostatic correction of the decompacted sediment thickness to take into account sea-level variations.
There are two built-in sea level models bundled inside backstrip
:
Haq87_SealevelCurve
- The Phanerozoic Record of Global Sea-Level ChangeHaq87_SealevelCurve_Longterm
- Normalised to start at zero at present-day.
A sea-level model is optional. If one is not specified then sea-level variation is assumed to be zero.
Note
A built-in sea-level model can be specified using the -slm
command-line option (run python -m pybacktrack.backstrip_cli --help
to see all options), or
using the sea_level_model argument of the pybacktrack.backstrip_and_write_well()
function.
Note
It is also possible to specify your own sea-level model. This can be done by providing your own text file containing a column of ages (Ma) and a
corresponding column of sea levels (m), and specifying the name of this file to the -sl
command-line option or to the sea_level_model argument
of the pybacktrack.backstrip_and_write_well()
function.
Geohistory analysis
The Decompacting Stratigraphic Layers notebook shows how to visualize the decompaction of stratigraphic layers at a drill site.
Note
The example notebooks are installed as part of the example data which can be installed by following these instructions.
One of the examples in that notebook demonstrates decompaction of a shallow continental drill site using backstripping. The paleo water depths (blue fill) are recorded in the drill site file and the tectonic subsidence (black dashed line) is backstripped using the paleo water depths and sediment decompaction. Note that, unlike backtracking, dynamic topography does not affect tectonic subsidence (because backstripping does not have a model of tectonic subsidence). So the image below is simply plotting dynamic topography alongside backstripped tectonic subsidence.
