View source: R/model_bedload.R
model_bedload | R Documentation |
The function calculates a seismic spectrum as predicted by the model of Tsai et al. (2012) for river bedload transport. The code was written to R by Sophie Lagarde and integrated to the R package 'eseis' by Michael Dietze.
model_bedload(
gsd,
d_s,
s_s,
r_s,
q_s,
h_w,
w_w,
a_w,
f = c(1, 100),
r_0,
f_0,
q_0,
e_0,
v_0,
p_0,
n_0,
n_c,
res = 100,
adjust = TRUE,
eseis = FALSE,
...
)
gsd |
|
d_s |
|
s_s |
|
r_s |
|
q_s |
|
h_w |
|
w_w |
|
a_w |
|
f |
|
r_0 |
|
f_0 |
|
q_0 |
|
e_0 |
|
v_0 |
|
p_0 |
|
n_0 |
|
n_c |
|
res |
|
adjust |
|
eseis |
|
... |
Further arguments passed to the function. |
The model uses a set of predefined constants. These can also be changed
by the user, using the ...
argument:
g = 9.81
, gravitational acceleration (m/s^2)
r_w = 1000
, fluid specific density (kg/m^3)
k_s = 3 * d_50
, roughness length (m)
log_lim = c(0.0001, 100), limits of grain-size distribution
function template (m)
log_length = 10000, length of grain-size distribution
function template
nu = 10^(-6)
, specific density of the fluid (kg/m^3)
power_d = 3
, grain-size power exponent
gamma = 0.9
, gamma parameter, after Parker (1990)
s_c = 0.8
, drag coefficient parameter
s_p = 3.5
, drag coefficient parameter
c_1 = 2 / 3
, inter-impact time scaling, after
Sklar & Dietrich (2004)
When no user defined grain-size distribution function is provided,the
function calculates the raised cosine distribution function as defined
in Tsai et al. (2012) using the default range and resolution as specified
by log_lim
and log_length
(see additional arguments list
above). These default values are appropriate for mean sediment sizes
between 0.001 and 10 m and log standard deivations between 0.05 and 1.
When more extreme distributions are to be used, it is necessary to either
adjust the arguments log_lim
and log_length
or use a
user defined distribution function.
The adjustment option (implemented with package version 0.6.0) is only
relevant for wide grain-size distributions, i.e., s_s
> 0.2. In
such cases, the unadjusted version tends to underestimate seismic power.
eseis
object containing the modelled spectrum.
Sophie Lagarde, Michael Dietze
Tsai, V. C., B. Minchew, M. P. Lamb, and J.-P. Ampuero (2012), A physical model for seismic noise generation from sediment transport in rivers, Geophys. Res. Lett., 39, L02404, doi:10.1029/2011GL050255.
## calculate spectrum (i.e., fig. 1b in Tsai et al., 2012)
p_bedload <- model_bedload(d_s = 0.7,
s_s = 0.1,
r_s = 2650,
q_s = 0.001,
h_w = 4,
w_w = 50,
a_w = 0.005,
f = c(0.1, 20),
r_0 = 600,
f_0 = 1,
q_0 = 20,
e_0 = 0,
v_0 = 1295,
x_0 = 0.374,
n_0 = 1,
res = 100,
eseis = TRUE)
## plot spectrum
plot_spectrum(data = p_bedload,
ylim = c(-170, -110))
## define empiric grain-size distribution
gsd_empiric <- data.frame(d = c(0.70, 0.82, 0.94, 1.06, 1.18, 1.30),
p = c(0.02, 0.25, 0.45, 0.23, 0.04, 0.00))
## calculate spectrum
p_bedload <- model_bedload(gsd = gsd_empiric,
r_s = 2650,
q_s = 0.001,
h_w = 4,
w_w = 50,
a_w = 0.005,
f = c(0.1, 20),
r_0 = 600,
f_0 = 1,
q_0 = 20,
e_0 = 0,
v_0 = 1295,
x_0 = 0.374,
n_0 = 1,
res = 100,
eseis = TRUE)
## plot spectrum
plot_spectrum(data = p_bedload,
ylim = c(-170, -110))
## define mean and sigma for parametric distribution function
d_50 <- 1
sigma <- 0.1
## define raised cosine distribution function following Tsai et al. (2012)
d_1 <- 10^seq(log10(d_50 - 5 * sigma),
log10(d_50 + 5 * sigma),
length.out = 20)
sigma_star <- sigma / sqrt(1 / 3 - 2 / pi^2)
p_1 <- (1 / (2 * sigma_star) *
(1 + cos(pi * (log(d_1) - log(d_50)) / sigma_star))) / d_1
p_1[log(d_1) - log(d_50) > sigma_star] <- 0
p_1[log(d_1) - log(d_50) < -sigma_star] <- 0
p_1 <- p_1 / sum(p_1)
gsd_raised_cos <- data.frame(d = d_1,
p = p_1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.