Skip to content

Releases: EarthByte/pyBacktrack

PyBacktrack 1.5.0

07 May 12:10

Choose a tag to compare

Changes since version 1.4:

  • Installation:
    • Can now install pyBacktrack using conda:
    • Dropped support for Python 2.7 (reached end-of-life in 2020).
      • Currently require Python 3.8 or above.
  • Backtracking:
    • Can now output the reconstructed well location at each stratigraphic age.
      • These are two new columns (paleo_longitude and paleo_latitude) in the decompacted output file.
      • By default uses same static polygons and rotation model as paleobathymetry (but can be overridden).
    • Added three new lithology-related columns in the decompacted output file.
      • These are compacted_density, composite_porosity and composite_decay.
      • Containing the final density, porosity and porosity decay of the mixture of lithologies in the single stratigraphic layer (of each row).
    • Can now specify your own decompaction output times.
      • By default the decompaction times (in the decompacted output file) match the stratigraphic ages in the input drill site.
    • Optionally print the optimal rift stretching (beta) factor (calculated internally).
  • Backstripping:
    • Like backtracking, can now output the reconstructed well location and layer density/porosity at each stratigraphic age, and specify your own decompaction output times.
  • Paleobathymetry:
    • Can now merge traditional paleobathymetry (produced by an external workflow).
      • The traditional grids fill in missing paleobathymetry (on subducted crust) that is not covered by the reconstructed (present day) sediment-deposited crust generated by pyBacktrack.
      • Previously was a supplementary script but is now built directly into the pyBacktrack (its command-line and function API).
    • Removed bathymetry landward of trenches.
      • Particularly along Western side of North and South America.
      • For example, removes thin strip of bathymetry inside the South America continent (that was particularly noticeable for times prior to Andes deformation).
    • Paleobathymetry gridding now defaults to Average_ocean_floor_sediment lithology (instead of Shale).
      • This differs from the base lithology of a drill site where the undrilled portion is usually below the Carbonate Compensation Depth (CCD) where Shale dominates.
    • Specifying the oldest time (to generate paleobathymetry grids) is now optional.
      • Defaults to oldest of all ocean crust ages and all continental rift start ages at the grid points.
    • Optionally override builtin rift grids with a constant rift period.
      • Only really useful for regional reconstructions (not global) since rift periods would no longer vary spatially.
    • Optionally output the optimal rift stretching (beta) factors to a grid file when generating paleobathymetry grids.
      • Each present day grid point, reconstructed through the time-sequence of paleobathymetry grids, has an optimal rift stretching (beta) factor.
  • Reconstruction:
    • Changed the default reconstruction model from Muller 2019 to Zahirovic 2022.
      • This model is used for reconstructing paleobathymetry and drill site locations.
      • However you can override it by providing your own rotation and static polygons files.
    • Note that the Zahirovic 2022 model supports a mantle reference frame and a paleomag reference frame.
      • The mantle frame is enabled by default (anchor plate 0) and the paleomag frame is enabled by specifying anchor plate 701701.
      • The previous model (Muller 2019) only supported a mantle reference frame (anchor plate 0).
  • Dynamic topography:
  • Sea level:
  • Added stratigraphic_depth_to_age module to convert stratigraphic depths to ages using a depth-to-age model.
    • Depth-to-age model is a piecewise linear function of age with depth:
      • specified as a file containing a column of ages and a column of depths.
    • When converting depths outside the depth range of the model, the corresponding ages can be excluded, clamped or extrapolated.
  • Supplementary scripts:
    • Added script to reconstruct paleobathymetry at a location:
      • Very similar to reconstructing paleobathymetry grids, except at a single longitude/latitude location.
      • And output is written to a single text file (instead of a time-sequence of grid files).
    • Added script to reconstruct the location of a drill site back through time (in 1 Myr increments).
      • This is similar to backtracking/backstripping (which can now output paleo_longitude and paleo_latitude columns), but
        • uses uniform ages across an age range (instead of the ages of the stratigraphic units in a drill site), and
        • does not output any of the regular backtracking/backstripping outputs.
      • Optionally outputs distance from each reconstructed drill site location to
        • reconstructed continental-oceanic boundaries (COBs) at each time step.
    • Added script to convert a range of ages (in 1 Myr increments) to basement depth using a specific oceanic age/depth model.
      • This is similar to using age_to_depth_cli (see python -m pybacktrack.age_to_depth_cli --help), but
      • uses uniform ages across an age range (instead of requiring an input file containing ages).
  • Separated the example data from the test data:
    • Example data now contains only input data (like drill site files), not output data (like decompacted output files).
  • The --help description in each command now includes links to the online documentation:
    • Describing the bundled data that's used in each command (by default).
  • Updated example notebooks:
  • Updated functions and classes (API reference):
Read more

PyBacktrack 1.4.0

21 Jun 11:40

Choose a tag to compare

PyBacktrack 1.4 adds support for generating paleobathymetry grids from submerged present-day crust.

Changes since version 1.3:

  • Can now generate paleobathymetry grids:
    • Submerged oceanic and continental present-day crust is backtracked and reconstructed.
      • Similar to drill sites, but 2D instead of 1D.
    • Continental subsidence model obtains rifting period from builtin rift grids:
    • All submerged crust is assigned a single lithology, whereas drill sites have multiple stratigraphic layers.
    • Water depths are negative (below sea level) in paleobathymetry grids, but positive in backtracked drill site output.
    • Supports multiple CPUs to reduce running time.
  • Supplementary scripts can be installed:
    • Previously was misc/ folder in Github repository, but is now installable.
    • Added script to preferentially merge paleobathymetry grids produced by pybacktrack with externally produced paleobathymetry grids (after adding dynamic topography to external grids).
    • Added script to generate rift start/end time grids from a global deforming model (used to generate builtin rift grids).
    • Added script to extract present day trenches from a global deforming model (used internally to avoid deep bathymetry near trenches).
    • Added script to convert sediment thickness into water thickness based on porosity assuming a single “average ocean floor sediment” lithology.
  • Backtracking:
  • Updated example notebooks:
  • Updated functions and classes (API reference):
    • New paleobathymetry functions to:
      • Generate paleobathymetry by reconstructing and backtracking sediment-covered crust through time,
      • write reconstructed paleobathymetry as NetCDF grids.
    • Can decompact at any age (not just ages at stratigraphic boundaries).
      • Assumes a constant sediment deposition rate within each stratigraphic layer.
    • Dynamic topography:
      • Now supports multiple point locations:
        • Previously supported just a single drill site location.
      • Slight change in how grids are interpolated (see notes under DynamicTopography.sample).
        • Note: there is only a difference when interpolating between grid times (no difference at grid times).
      • New class InterpolateDynamicTopography:
        • For just interpolating time-dependent dynamic topography mantle frame grids.
          • Used in above-mentioned script for merging paleobathymetry grids.
        • Existing class DynamicTopography both reconstructs and interpolates.

PyBacktrack 1.3.0

31 Mar 03:24

Choose a tag to compare

Changes since version 1.2:

  • Supports Python 3:
    • please also use the recent pyGPlates Python 3 release.
  • Added the following output columns:
    • dynamic_topography:
      • change in dynamic topography elevation since present day
    • decompacted_depth:
      • depth from fully decompacted layers (using surface porosity only)
      • as if no portion of any layer had ever been buried
    • decompacted_sediment_rate:
      • fully decompacted surface layer thickness divided by its deposition interval
  • Option to force continental subsidence model:
    • if well site is in age grid (oceanic crust) but known to be on continental crust.
  • Option to ignore total sediment thickness grid:
    • if well site is known to be drilled to basement.
  • Fixed missing last row of output:
    • when well depth exceeds total sediment thickness.
  • Fixed bug in syn-rift subsidence equation:
    • affected tectonic subsidence by less than 1%.

PyBacktrack 1.2.0

31 Mar 03:07

Choose a tag to compare

Changes since version 1.1:

  • Added example notebooks:
    • Backstripped subsidence
    • Visualizing decompaction of stratigraphic layers
  • Fixed backstripping example:
    • Original sunrise well depths in metres (not feet).
    • Hence no longer a base sediment layer.
  • Added script to convert original sunrise well format to pyBacktrack format.
  • Updated functions and classes (API reference):
    • Dynamic topography:
      • Can now access built-in dynamic topography data
        • Previously only available internally in backtracking subsidence model.
        • Access independently of whether you’re backtracking or backstripping.
      • Sampling dynamic topography grids made easier
    • Sea level:
      • Can now access built-in sea level data
      • Fixed bug when age of a stratigraphic layer in well is older than sea-level model.
    • Lithologies:
      • Added function to read and merge multiple lithology definition files
    • Stratigraphic layers:
      • Added tectonic subsidence function
        • Backtracking: returns tectonic subsidence model.
        • Backstripping: returns backstripped subsidence.
      • Added paleo-water depth function
        • Backtracking: returns backtracked water depth.
        • Backstripping: returns average recorded water depth.
      • Added sea-level function
        • Returns sea-level of model specified to backtracking or backstripping.
      • Added dynamic topography function
        • Backtracking: returns dynamic topography relative to present day.
        • Backstripping: returns zero.
    • See usage in example notebooks.

PyBacktrack 1.1.0

31 Mar 02:58

Choose a tag to compare

Changes since version 1.0.0:

  • The example data is now included in the Python package.
    • So you can install it without needing to download from Github.
    • Includes notebooks (such as plotting paleo-water depths for various dynamic topography models).
  • Added Docker image.
  • Added new inbuilt dynamic topography models ngrand, s20rts and smean (from Müller et al., 2008).
  • Can specify more than one lithology definition file.
  • Added inbuilt extended lithologies for shallow water (to complement primary lithologies in pyBacktrack 1.0 paper).
  • Added “sunrise” backstripping example (uses extended lithologies).
  • Can now specify your own oceanic age-to-depth model (instead of just the inbuilt models).
  • Fixed bug specifying your own dynamic topography model (inbuilt models were fine though).

PyBacktrack 1.0.0

31 Mar 02:39

Choose a tag to compare

PyBacktrack is a tool for reconstructing paleobathymetry on oceanic and continental crust.

PyBacktrack is a Python package that backtracks the paleo-water depth of ocean drill sites through time by combining a model of tectonic subsidence with decompaction of the site stratigraphic lithologies. PyBacktrack can also include the effects of mantle-convection driven dynamic topography on paleo-water depth, as well as sea-level variations. PyBacktrack provides a model of tectonic subsidence on both oceanic and continental crust. Ocean crust subsidence is based on a user-selected lithospheric age-depth model and the present-day unloaded basement depth. Continental crust subsidence is based on syn-rift and post-rift subsidence that is modelled using the total sediment thickness at the site and the timing of the transition from rifting to thermal subsidence. On sites that did not penetrate to basement, the age-coded stratigraphy is supplemented with a synthetic stratigraphic section that represents the undrilled section, whose thickness is estimated using a global sediment thickness map. This is essential for estimating the decompacted thickness of the total sedimentary section, and thus bathymetry, through time.