OFEST: The Offin Estimation of Soil Transfer parameters

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

This function uses philip or sw with lass3, ksat and vg to estimate water retention and hydraulic conductivity curves. See datails below.

Usage

 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
OFEST(data = NULL, time, I, n = NULL, m = "b", pb = 1.2, tho = 0.169,
  thr = 0, ths = NULL, theta = NULL, PSD = NULL, Ks = NULL,
  h = seq(0, 1500, by = 5), model = "philip", type = "nonlinear",
  hg = "BEST", K = "BC")

## Default S3 method:
OFEST(data = NULL, time, I, n = NULL, m = "b",
  pb = 1.2, tho = 0.169, thr = 0, ths = NULL, theta = NULL,
  PSD = NULL, Ks = NULL, h = NULL, model = "philip",
  type = "nonlinear", hg = "BEST", K = "BC")

group.OFEST(data = NULL, time, I, n = NULL, m = "b", pb = 1.2,
  tho = 0.169, thr = 0, ths = NULL, theta = NULL, PSD = NULL,
  Ks = NULL, h = NULL, model = "all", type = "nonlinear", hg = "BEST",
  group, plot = TRUE, hlog = NULL, klog = NULL, layout = c(2, 2),
  opar = par(mar = c(2, 2, 1.8, 2)))

cal.OFEST(data = NULL, time, I, n = NULL, m = "b", pb = c(1, 1.8, 0.1),
  tho = c(0.01, 0.8, 0.05), thr = c(0, 0.2, 0.05), ths = NULL,
  theta = NULL, PSD = NULL, Ks = NULL, hg = "BEST", h = NULL,
  model = "all", type = "nonlinear", group = NULL)

gof.OFEST(x = NULL, obs = NULL, est = NULL, P = NULL)

## S3 method for class 'OFEST'
coef(object, ...)

## S3 method for class 'OFEST'
predict(object, h = NULL, ...)

## S3 method for class 'OFEST'
plot(x, main = NULL, xlab = "Water Content", ylab = "",
  ylab2 = "", layout = NULL, hlog = NULL, klog = NULL,
  kcol = "darkgreen", col = c("blue", "red", "darkgreen", "gold"),
  units = c("s", "mm"), mfrow = c(2, 2), type = "all", legend = TRUE,
  opar = par(mar = c(2, 2, 1.5, 2)), ...)

Arguments

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].

n

numeric. A shaping parameter for water retention curve. This can be calibrated. If the parameter "PSD" is not set NULL lass3 will be automatically used to estimate it.

m

character. The water retention curve condition. It takes either "b" for Burdine condition or "m" for Mualem condition.

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.

ths

numeric. The saturated soil water content [m3/m3].

theta

The measured soil water content[m3m-3] at the modelled pressure levels. It is used to check the fitness of the model.

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.

Ks

saturated hydraulic conductivity

h

list. The range of metric head desired or measured [mm].

model

character. Either "philip" or "sw" (Swartzendruber) or "valiantzas" or "brutsaert". The model for estimation of sorptivity (S) and hydraulic conductivity (Ks).

type

character. Whether "linear" or "nonlinear" philip based equation to be applied.

hg

character "rawls" or "BEST" bubbling capillary pressure algorithm. It takes either Rawls (1993) as in Dingman(2002) or BEST

K

character. The type of hydraulic conductivity model. It takes "BC" for Brooks and Corey (1964) and VG for van Genuchten (1980).

group

character. The name of the group variables if the data is from different areas.

plot

whether a plot should be performed.

hlog

TRUE or FALSE. Whether metric potential should be log transformed

klog

TRUE or FALSE. Whether hydraulic conductivity should be log transformed

layout

plot layout

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)

kcol

colour of hydraulic conductivity

col

Color of the plot

units

Units of the plot

mfrow

The graphical layout of the plots

legend

A legend of the plot

Details

The function first estimates sorptivity and Ks from 3D or early part of vertical cumulative infiltration data with philip or sw or valiantzas or brutsaert. Second, lass3 is used to estimate pore-size parameters, e.g. n, b. Mualem or Burdine condition is applied to estimate m parameter of van Genuchten hydraulic conductivity curve. Third, a bubbling capillary pressure hb is estimated with Ks and S. Fourth, van Genuchten (1980) water retention curve and hydraulic conductivity are estimated. Finally, the predicted infiltration rate (q) is estimated.

Value

For the output of PSD see lass3. For the output of goodness of fit tests see gof.OFEST. In the case of cal.OFEST the output can be assesed with mod object. The return parameters can be assessed with coef.OFEST. The predicted soil water can be assessed with predict.OFEST

Author(s)

George Owusu

References

See Also

BEST

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
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"))
ofin1<-OFEST(data=data,time="time",I="I",h=hf$h,PSD=psd)
pred=predict(ofin1)
coefficients=coef(ofin1)
plot(ofin1,type="h")
plot(ofin1,type="all")
plot(ofin1,type="all",hlog=TRUE,klog=TRUE,kcol="green")

#with measured theta
ofin2<-OFEST(data=data,time="time",I="I",h=hf$h,PSD=psd,model="sw",theta=ofin1$mod_theta)
print(gof.OFEST(ofin2))
ofin1$K
## Not run: 
#calibration
ofin2.cal<-cal.OFEST(data=data,time="time",I="I",h=hf$h,PSD=psd,model="sw",theta=ofin1$mod_theta)
coef2=coef(ofin2.cal)
predict=predict(ofin2.cal,h=500)
 
## End(Not run)

gowusu/vadose documentation built on May 17, 2019, 7:59 a.m.