Description Usage Arguments Details Value Author(s) References Examples
These functions compute the various versions of BEST.
BEST
computes all the 3 versions of BEST:Lassabatere etal(2006), Yilmaz et al(2010) and Bagarello et al (2014).
BESTlass
implements Lassabatere algorithm
BESTyb
implements Lassabatere algorithms of Yilmaz and Bagarello et al. et al.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | BEST(data = NULL, time, I, S = 0.1, n = NULL, m = "b", y = 0.75,
b = 0.6, r = 75, pb = 1.2, tho = 0.169, thr = 0, PSD = NULL,
h = NULL, theta = NULL, steady = 3, init = 5, ths = NULL)
## Default S3 method:
BEST(data = NULL, time, I, S = 0.1, n = NULL, m = "b",
y = 0.75, b = 0.6, r = 75, pb = 1.2, tho = 0.169, thr = 0,
PSD = NULL, h = NULL, theta = NULL, steady = 3, init = 5,
ths = NULL)
BESTlass(data = NULL, time, I, S = 0.1, n = NULL, m = "b", y = 0.75,
b = 0.6, r = 75, pb = 1.2, tho = 0.169, thr = 0, PSD = NULL,
h = NULL, theta = NULL, steady = 3, init = 5, ths = NULL)
BESTyb(data = NULL, time, I, S = 0.1, n = NULL, m = "b", y = 0.75,
b = 0.6, r = 75, pb = 1.2, tho = 0.169, thr = 0, PSD = NULL,
h = NULL, theta = NULL, steady = 3, init = 5, ths = NULL)
group.BEST(data = NULL, time, I, S = 0.1, n = NULL, m = "b", y = 0.75,
b = 0.6, r = 75, pb = 1.2, tho = 0.169, thr = 0, PSD = NULL,
h = NULL, theta = NULL, steady = 3, init = 5, ths = NULL, group,
plot = TRUE, layout = c(2, 2), hlog = NULL, klog = NULL,
opar = par(mar = c(2, 2, 1.8, 2)))
cal.BEST(data = NULL, time, I, S = 0.1, n = NULL, m = "b", y = c(0.6,
0.8, 0.05), b = c(0.1, 0.9, 0.1), r = 75, pb = c(1, 1.8, 0.1),
tho = c(0.01, 0.8, 0.05), thr = c(0, 0.2, 0.05), PSD = NULL, h = NULL,
theta = NULL, steady = c(2, 10, 1), init = c(5, 7, 1), ths = NULL,
model = "all", group = NULL)
gof.BEST(x = NULL, obs = NULL, est = NULL, P = NULL)
## S3 method for class 'BEST'
coef(object, ...)
## S3 method for class 'BEST'
predict(object, h = NULL, ...)
## S3 method for class 'BEST'
plot(x, main = NULL, xlab = "Water Content", ylab = "",
ylab2 = "", hlog = NULL, klog = NULL, col = c("blue", "red",
"darkgreen"), units = c("s", "mm"), mfrow = c(2, 2), type = "all",
legend = TRUE, opar = par(mar = c(2, 2, 1.5, 2)), ...)
|
data |
dataframe. It can contain data with column names of "time" and "I" |
time |
character or numeric. The name of time variable in the dataframe. If the "data" parameter contains "time", this will be ignored. The unit must be in seconds. |
I |
character or numeric. The name of cumulative infiltration variable in the dataframe. If the "data" parameter contains "I", this will be ignored. The unit must be in millimetres [mm]. |
S |
Initial value of soil sorptivity [L T^(-1/2)]. The default is 0.1. This will be optimise |
n |
numeric. A shaping parameter for water retention curve. This can be calibrated.
If the parameter "PSD" is not set NULL |
m |
character. The water retention curve condition. It takes either "b" for Burdine condition or "m" for Mualem condition. |
y |
numeric. coefficient of BEST A parameter, commonly set at 0.75[-] This can be calibrated. |
b |
numeric. coefficient of BEST B parameter, commonly set at 0.6[-]. This can be calibrated. |
r |
numeric. Radius of infiltrometer ring [mm]. The default is 75 mm |
pb |
numeric. Bulk density[g cm^-3]. This can be calibrated. |
tho |
numeric. initial volumetric soil water content. This can be calibrated. |
thr |
numeric. Residual volumetric soil water content. This can be calibrated. |
PSD |
dataframe. Particle Size Distribution. A dataframe of two columns. The first column should be labeled "D" in the range of 0.001 to 2 mm. The second column should be named as "fr" i.e.' the fraction of Diameter. The range should be 0-1. |
h |
list. The range of metric head desired or measured [mm]. |
theta |
The measured soil water content[m3m-3] at the modelled pressure levels. It is used to check the fitness of the model. |
steady |
The number of data points that should be used for steady state. This can be observed during infiltration measurement |
init |
numeric. The number of data points that should be initially used for optimisation of Best equation. |
ths |
numeric. The saturated soil water content [m3/m3]. |
group |
character. The name of the group variables if the data is from different areas. |
plot |
whether a plot should be performed. |
layout |
plot layout |
hlog |
TRUE or FALSE. Whether metric potential should be log transformed |
klog |
TRUE or FALSE. Whether hydraulic conductivity should be log transformed |
model |
A calibration model parameter. It takes "all" for |
x |
a return object of the function. |
obs |
Observed data |
est |
Estimated or modelled data |
P |
Number of Parameters |
object |
Model output object |
... |
Any other graphical parameter |
main |
Title of the plot |
xlab |
x label of the plot |
ylab |
y label of the plot |
ylab2 |
y label of the second plot (K) |
col |
Color of the plot |
units |
Units of the plot |
mfrow |
The graphical layout of the plots |
type |
The type of plot. It takes "all" or "h"or "hk" or "k" |
legend |
A legend of the plot |
The function can perform normal BEST computation with BEST
.
The return parameters can be assessed with coef.BEST
.
The predicted soil water can be assessed with predict.BEST
.
In all the function returns BEST parameters A, B, C, Ks, S, slope, intercept, mod_theta, hg.
Because BEST
combines BESTlass
and BESTyb
'l', 'y',
and 'b' can be used to access Lassabatere etal(2006), Yilmaz et al(2010)
and Bagarello et al (2014) parameters, respectively.
For the definitions of the output of PSD see lass3
.
For the definitions of the output of goodness of fit tests see gof
A: constant[L^-1]
B: constant[L^-1]
C: constant[L^-1]
Ks,Ksl,Ksy,Ksb: saturated hydraulic conductivity for various algorithms [LT^-1]
S,Sl,Sy,Sb: Sorptivity for various algorithms [LT^-0.5]
slope,slopel,slopey: slope of steady state data for variousalgorithms
intercept,interceptl,intercepty: intercept of steady state data for variousalgorithms
mod_theta,mod_thetal,mod_thetay,mod_thetab: The estimated soil water content at different metric potentials for variousalgorithms
theta: The observed soil water content at different metric potentials
K,Kl,Ky,Kb: The unsaturated hydraulic conductivity [LT^-1]
Kr,Krl,Kry,Krb: The ratio of K and Ks
hg,hgl,hgy,hgb: bubbling capillary pressure for various algorithms [L]
init: the number of data points that should be initially used for optimisation of Best equation [T]
q: infiltration rates [LT^-1]
George Owusu
Lassabatere, L., Angulo-Jaramillo, R., Soria Ugalde, J. M., Cuenca, R., Braud, I., & Haverkamp, R. (2006). Beerkan Estimation of Soil Transfer Parameters through Infiltration Experiments-BEST. Soil Sci. Soc. Am. J., 70(2), 521-532. doi: 10.2136/sssaj2005.0026
Yilmaz, D., Lassabatere, L., Angulo-Jaramillo, R., Deneele, D., & Legret, M. (2010). Hydrodynamic Characterization of Basic Oxygen Furnace Slag through an Adapted BEST Method. Vadose Zone J., 9(1), 107-116. doi: 10.2136/vzj2009.0039
Aiello, R., Bagarello, V., Barbagallo, S., Consoli, S., Di Prima, S., Giordano, G., & Iovino, M. (2014). An assessment of the Beerkan method for determining the hydraulic properties of a sandy loam soil. Geoderma, 235-236(0), 300-307. doi: http://dx.doi.org/10.1016/j.geoderma.2014.07.024
Bagarello, V., Di Prima, S., & Iovino, M. (2014). Comparing Alternative Algorithms to Analyze the Beerkan Infiltration Experiment. Soil Sci. Soc. Am. J., 78(3), 724-736. doi: 10.2136/sssaj2013.06.0231
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | ## Not run:
psd=read.csv(system.file("ext","sys","psd.csv",package="vadose"))
hf=read.csv(system.file("ext","sys","h.csv",package="vadose"))
data=read.csv(system.file("ext","sys","exampleBEST.csv",package="vadose"))
mod1<-BEST(data=data,time="time",I="I",h=hf$h,PSD=psd)
pred=predict(mod1)
coefficients=coef(mod1)
# with measured theta and h
mod<-BEST(data=data,time="time",I="I",h=hf$h,theta=mod1$mod_thetab,PSD=psd,y=0.7,b=0.6)
print(gof.BEST(mod))
plot(mod,hlog="yes",klog=TRUE)
par(mfrow=c(1,2))
plot(mod,type="h")
plot(mod,type="psd")
gof1=gof.BEST(mod)
print(gof1)
#calibration
cal.mod<-cal.BEST(data=data,time="time",I="I",h=hf$h,theta=mod1$mod_thetab,PSD=psd,steady=3,
init=5,thr=0,ths=NULL,tho=0.162)
#calibrate all, set the model to 'all' Lassabatere etal(2006),
Yilmaz et al(2010) and Bagarello et al (2014)
cal.modall<-cal.BEST(data=data,time="time",I="I",h=hf$h,theta=mod1$mod_thetab,PSD=psd,steady=3,
init=5,thr=0,ths=NULL,tho=0.162,model="all")
#get the parameters
parameters=coef.BEST(cal.modall)
S=parameters$S
A=parameters$A
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.