deltametrics.strat.compute_sedimentograph

deltametrics.strat.compute_sedimentograph(sediment_volume, sediment_bins=None, num_sections=10, last_section_radius=None, background=None, **kwargs)

Compute the sedimentograph.

The sedimentograph [1] is a measure of sand fraction of delta stratigraphy. In this implementation, a series of concentric CircularSection are drawn with increasing radius, so the sedimentograph is a function of space.

Hint

To compute the sedimentograph as a function of time and space, loop over stratigraphic volumes computed from a subset of the timeseries, and apply this metric.

Parameters:
  • sediment_volume (xarray or ndarray) – The deposit voxel array. First dimension is vertical spatial dimension.

  • sediment_bins (ndarray) – Threshold values to use for splitting out the sediment grain size or sand fraction bins. Lower bound is inclusive for all bins, and upper bound is inclusive (but not unbounded) for last bin. If no value is supplied, the unweighted midpoint of the sediment_volume distribution will divide two bins (i.e., [min, (max + min)/2, max]).

  • num_sections (int, optional) – Number of sections to calculate for the sedimentograph. Default is 10.

  • last_section_radius (float, optional) – Radius of the last section for the sedimentograph. If no value is supplied, last section will be placed at the half the maximum coordinate of the dim1 axis (first spatial coordinate) of the sediment_volume volume.

  • background (xarray, ndarray, or float, optional) – Value indicating the background or basin voxels that should be excluded from computation. If an array matching the size of sediment_volume is supplied, this array is assumed to be a binary array indicating the voxels to be excluded (i.e., the deposit is the inverse of background). If a float is passed, this is treated as a “no-data” value, and used to determine the background voxels. If no value is supplied, no voxels are excluded.

  • **kwargs – Passed to CircularSection instantiation. Hint: You likely want to supply the origin parameter.

Returns:

  • sedimentograph (ndarray) – A num x len(sediment_bins) array of sediment volume fraction in each bin (columns) for each CircularSection with increasing distance from the origin.

  • section_radii (ndarray) – Radii where the CircularSection for the sedimentograph were located.

  • sediment_bins (ndarray) – Bins used to classify values in sediment_volume.

Examples

Compute the sedimentograph for the golf data sandfrac, using the default bins. Note that this yields two bins, which are simply ` (1-other)`, so we only plot the second bin — indicating the sandy fraction of the deposit for the golf sandfrac data.

golfcube = dm.sample_data.golf()
golfstrat = dm.cube.StratigraphyCube.from_DataCube(golfcube, dz=0.1)

background = (golfstrat.Z < np.min(golfcube['eta'].data, axis=0))

(sedimentograph, radii, bins) = dm.strat.compute_sedimentograph(
    golfstrat['sandfrac'],
    num_sections=50,
    last_section_radius=2750,
    background=background,
    origin_idx=[3, 100])

fig, ax = plt.subplots()
ax.plot(
    radii,
    sedimentograph[:, 1],
    marker='o', ls='-')
ax.set_xlabel('section radius (m)')
ax.set_ylabel(f'fraction > {bins[1]}')
plt.show()

(png, hires.png)

../_images/deltametrics-strat-compute_sedimentograph-1.png