This vignette describes how to quantify stratigraphic order using the metrics defined by Burgess (2016).
First, we define a stratigraphic column:
s = as_stratcol(thickness = runif(90), # random bed thicknesses
facies = rep(c(1,2,3), 30)) # repeat facies 1, 2 and 3
plot(s)
We can then estimate the transition matrix between facies using
m = transition_matrix(s)
m
#> from
#> to 1 2 3
#> 1 0 0 1
#> 2 1 0 0
#> 3 0 1 0
#> attr(,"class")
#> [1] "fa_tran_mat_p"
and estimate the markov order metric (MOM) from it using
The run order metrics (ROM) can be estimated using
To put this value into context, we randomize the section to estimate the distribution of rom values
n = 10000
rom_vals = rep(NA, n)
for (i in seq_len(n)){
randomized_column = shuffle_col(s)
rom_vals[i] = get_rom(randomized_column)
}
hist(rom_vals,
main = "distribution of ROM values")
lines(x = rep(rom_observed, 2), y = c(0,n), col = "red")
Here the red line indicates how extreme the rom value of the
stratigraphic column
s
is compared to the expected
distribution of rom values based on random reordering of the beds.
To estimate markov order metrics, some data preparation is needed to make sure all assumptions on the encoding of the stratigraphic column are met. Let’s start by defining an example stratigraphic column:
set.seed(1)
s = as_stratcol(thickness = runif(30), fa = rep(c(1,2,3), 10)) # uniform bed thickness, ordered facies
s = shuffle_col(s, allow_rep = TRUE) # randomize order of beds, allowing for repetitions
plot(s)
MOM only examines transitions between facies, and ignores beds with identical facies. To meet this criterion, we first need to merge all beds with identical facies:
### Rearrange facies names
The next assumption is that facies are enumerated using integers
based on their order of appearance in the column. We can do this using
order_facies_names
:
### estimating the transition matrix
Now we can estimate the facies transition matrix:
m = transition_matrix(s_ord_names)
m
#> from
#> to 1 2 3
#> 1 0.0000000 0.8333333 0.1666667
#> 2 0.1428571 0.0000000 0.8571429
#> 3 0.7142857 0.2857143 0.0000000
#> attr(,"class")
#> [1] "fa_tran_mat_p"
Note that because we have merged beds with identical facies, entries on the diagonal are 0 - facies do not transition into themselves.
See also
for a description of the classes used in the package and a description of the larger scale structure.
See
for an overview of the available functionalit of the
stratcols
package, including how to create stratigraphic
columns, plot them and modify them.