Class StraMesh

class sed.stratplex.STRAMesh[source]

This class encapsulates all the functions related to underlying stratigraphic information. As mentionned previously, gospl has the ability to track different types of clastic sediment size and one type of carbonate (still under development). Sediment compaction in stratigraphic layers geometry and properties change are also considered.

Initialise

__init__()

The initialisation of STRAMesh class related to stratigraphic informations.

Public Methods

deposeStrat(stype)

Add deposition on top of an existing stratigraphic layer.

erodeStrat()

This function removes eroded sediment thicknesses from the stratigraphic pile.

elevStrat()

This function updates the current stratigraphic layer elevation.

getCompaction()

This function computes the changes in sedimentary layers porosity and thicknesses due to compaction.

readStratLayers()

When stratigraphic layers are turned on, this function reads any initial stratigraphic layers provided by within the YAML input file (key: npstrata).

stratalRecord(indices, weights, onIDs)

Once the interpolation has been performed, the following function updates the stratigraphic records based on the advected mesh.

Private Methods

_depthPorosity(depth)

This function uses the depth-porosity relationships to compute the porosities for each lithology and then the solid phase to get each layer thickness changes due to compaction.

Public functions

STRAMesh.deposeStrat(stype)[source]

Add deposition on top of an existing stratigraphic layer. The following variables will be recorded:

  • thickness of each stratigrapic layer stratH accounting for both erosion & deposition events.

  • proportion of fine sediment stratF contains in each stratigraphic layer.

  • proportion of weathered sediment stratW contains in each stratigraphic layer.

  • porosity of coarse sediment phiS in each stratigraphic layer computed at center of each layer.

  • porosity of fine sediment phiF in each stratigraphic layer computed at center of each layer.

  • porosity of weathered sediment phiW in each stratigraphic layer computed at center of each layer.

  • proportion of carbonate sediment stratC contains in each stratigraphic layer if the carbonate module is turned on.

  • porosity of carbonate sediment phiC in each stratigraphic layer computed at center of each layer when the carbonate module is turned on.

Parameters

stype – sediment type (integer)

STRAMesh.erodeStrat()[source]

This function removes eroded sediment thicknesses from the stratigraphic pile. The function takes into account the porosity values of considered lithologies in each eroded stratigraphic layers.

It follows the following assumptions:

  • Eroded thicknesses from stream power law and hillslope diffusion are considered to encompass both the solid and void phase.

  • Only the solid phase will be moved dowstream by surface processes.

  • The corresponding deposit thicknesses for those freshly eroded sediments correspond to uncompacted thicknesses based on the porosity at surface given from the input file.

STRAMesh.elevStrat()[source]

This function updates the current stratigraphic layer elevation.

STRAMesh.getCompaction()[source]

This function computes the changes in sedimentary layers porosity and thicknesses due to compaction.

Note

We assume simple depth-porosiy relationships for each sediment type available in each layers.

STRAMesh.readStratLayers()[source]

When stratigraphic layers are turned on, this function reads any initial stratigraphic layers provided by within the YAML input file (key: npstrata).

The following variables will be read from the file:

  • thickness of each stratigrapic layer strataH accounting for both erosion & deposition events.

  • proportion of fine sediment strataF contains in each stratigraphic layer.

  • proportion of weathered sediment strataW contains in each stratigraphic layer.

  • elevation at time of deposition, considered to be to the current elevation for the top stratigraphic layer strataZ.

  • porosity of coarse sediment phiS in each stratigraphic layer computed at center of each layer.

  • porosity of fine sediment phiF in each stratigraphic layer computed at center of each layer.

  • porosity of weathered sediment phiW in each stratigraphic layer computed at center of each layer.

  • proportion of carbonate sediment strataC contains in each stratigraphic layer if the carbonate module is turned on.

  • porosity of carbonate sediment phiC in each stratigraphic layer computed at center of each layer when the carbonate module is turned on.

STRAMesh.stratalRecord(indices, weights, onIDs)[source]

Once the interpolation has been performed, the following function updates the stratigraphic records based on the advected mesh.

The function relies on 3 fortran subroutines (for loop performance purposes):

  1. strataonesed

  2. stratathreesed

  3. stratafullsed

Parameters
  • indices – indices of the closest nodes used for interpolation

  • weights – weights based on the distances to closest nodes

  • onIDs – index of nodes remaining at the same position.

Private functions

STRAMesh._depthPorosity(depth)[source]

This function uses the depth-porosity relationships to compute the porosities for each lithology and then the solid phase to get each layer thickness changes due to compaction.

Note

We assume that porosity cannot increase after unloading.

Parameters

depth – depth below basement for each sedimentary layer

Returns

newH updated sedimentary layer thicknesses after compaction