Title: | Estimating Water Retention and Infiltration Model Parameters using Experimental Data |
---|---|
Description: | Contains functions for estimating the parameters of infiltration and water retention models using the curve-fitting methods as discussed in Omuto and Gumbe (2009) ("Estimating water infiltration and retention characteristics using a computer program in R"<doi:10.1016/j.cageo.2008.08.011>). The models considered are those that are commonly used in soil science. Version 2 of the package has new models for water retention characteristic curves. |
Authors: | Christian Thine Omuto [aut, cre] |
Maintainer: | Christian Thine Omuto <[email protected]> |
License: | GPL (>= 3.5.0) |
Version: | 2.1.1 |
Built: | 2024-12-14 06:23:12 UTC |
Source: | CRAN |
This is a four-parameter function to determine water retention hydraulic parameters contained in the Brooks-Corey water retention model
Brook(x, thr, ths, alp, nscal)
Brook(x, thr, ths, alp, nscal)
x |
Suction potential/head as contained in the x-column of the xy water retention table or data |
thr |
This is the residual moisture content. It's the moisture content when suction potential is very high (almost at the drying point) |
ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's the inverse of air-entry potential or bubbling pressure |
nscal |
This is a parameter or index for the pore-size distribution |
A Brooks-Corey model is a type of nonlinear curve fitting model for fitting water retention characteristics using experimental data. It requires initial parameter estimates for the model to work. This can be obtained using Dstart function (e.g. thr=Dstart(data)[1]). If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Brooks RH and Corey AT.1964. Hydraulic properties of porous medium. Hydrology Paper Number 3. Colorado State University, USA
## Attach sample data (isric data) from the package data(isric) pf <- subset(isric, Sample=="Benin2") library(minpack.lm) brook.ns <- nlsLM(y ~ Brook(x,thr,ths,alp,nscal), data=pf, control = nls.lm.control(maxiter=200), start = c(thr= Dstart(pf)[1], ths = Dstart(pf)[2], alp= Dstart(pf)[3], nscal=Dstart(pf)[4]-1)) summary(brook.ns)## To produce a summary of modelling results
## Attach sample data (isric data) from the package data(isric) pf <- subset(isric, Sample=="Benin2") library(minpack.lm) brook.ns <- nlsLM(y ~ Brook(x,thr,ths,alp,nscal), data=pf, control = nls.lm.control(maxiter=200), start = c(thr= Dstart(pf)[1], ths = Dstart(pf)[2], alp= Dstart(pf)[3], nscal=Dstart(pf)[4]-1)) summary(brook.ns)## To produce a summary of modelling results
This is a three-parameter function to determine water retention hydraulic parameters contained in the Campbell water retention model
Campbel(x, ths, alp, nscal)
Campbel(x, ths, alp, nscal)
x |
Suction potential/head as contained in the x-column of the xy water retention table or data |
ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's the inverse of air-entry potential or bubbling pressure |
nscal |
This is a parameter or index for the pore-size distribution. nscal=1/b, where b is empirical parameter in the original Campbel model |
A Campbell model is a type of nonlinear curve fitting model for fitting water retention characteristics using experimental data. It requires initial parameter estimates for the model to work. This can be obtained using Dstart function (e.g. thr=Dstart(data)[1]). If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Warnings: Choice of starting values for Campbel function parameter estimation needs a careful thought. Sometimes it may be necessary to use alp=1/Dstart(data)[3] or Dstart(data)[3] and nscal=Dstart(data)[4]-1 or nscal=Dstart(data)[4]. One has to try the starting variables that will work for the given data
Christian Thine Omuto
Campbell GS. 1974. A simple method for determining unsaturated conductivity from moisture retention data. Soil Science 117: 311-314
data(isric) pf <- subset(isric, Sample=="Nicaragua38") library(minpack.lm) campbel.ns <- nlsLM(y ~ Campbel(x,ths,alp,nscal), data=pf, control = nls.lm.control(maxiter=200), start = c(ths = Dstart(pf)[2], alp=Dstart(pf)[3], nscal=-1*(Dstart(pf)[4]-1))) plot(fitted(campbel.ns),pf$y) coef(campbel.ns)
data(isric) pf <- subset(isric, Sample=="Nicaragua38") library(minpack.lm) campbel.ns <- nlsLM(y ~ Campbel(x,ths,alp,nscal), data=pf, control = nls.lm.control(maxiter=200), start = c(ths = Dstart(pf)[2], alp=Dstart(pf)[3], nscal=-1*(Dstart(pf)[4]-1))) plot(fitted(campbel.ns),pf$y) coef(campbel.ns)
This function determines the starting values for estimation of parameters in the water retention models. The input data must contain at least the x (suction potential) and y(moisture contents) variables. It gives the starting values as close to the expected estimates as possible.
Dstart(data)
Dstart(data)
data |
This is the water retention data with at least x (suction potential) and y(moisture contents) variables. The number of rows of the data should be at least 4 entries/levels of suction potential |
The data contains x columns and y columns which are used by the function. The initial x value should not be zero but something close like 0.001
A vector of five values: pars[1]: thr- The residual moisture content, pars[2]: ths- The saturated moisture content, Pars[3]: alp- Inverse of air entry potential, pars[4]: nscal-index of pore-size distribution, and pars[5]: mscal-scaling parameter related to nscal
Christian Thine Omuto
data(isric) pf=subset(isric, Sample=="Benin3") Dstart(pf)[1]## thr initial value
data(isric) pf=subset(isric, Sample=="Benin3") Dstart(pf)[1]## thr initial value
This is a three- parameter function to determine water retention hydraulic parameters contained in the Exponential water retention model
Expo(x, thr, ths, alp)
Expo(x, thr, ths, alp)
x |
Suction potential/head as contained in the x-column of the xy water retention table or data |
thr |
This is the residual moisture content. It's the moisture content when suction potential is very high (almost at the drying point) |
ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's the inverse of air-entry potential or bubbling pressure |
An exponential model is a type of nonlinear curve fitting model for fitting water retention characteristics using experimental data. It requires initial parameter estimates for the model to work. This can be obtained using Dstart function (e.g. thr=Dstart(data)[1]). If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Omuto CT. 2009. Biexponential model for water retention characteristics. Geoderma 149:235-242
##Attach sample data (isric data) from the package data(isric) pf <- subset(isric, Sample=="Benin2") library(minpack.lm) expo.ns <- nlsLM(y ~ Expo(x,thr,ths,alp), data=pf, control = nls.lm.control(maxiter=200), start = c(thr=Dstart(pf)[1],ths=Dstart(pf)[2], alp=Dstart(pf)[3])) cor(fitted(expo.ns),pf$y)^2
##Attach sample data (isric data) from the package data(isric) pf <- subset(isric, Sample=="Benin2") library(minpack.lm) expo.ns <- nlsLM(y ~ Expo(x,thr,ths,alp), data=pf, control = nls.lm.control(maxiter=200), start = c(thr=Dstart(pf)[1],ths=Dstart(pf)[2], alp=Dstart(pf)[3])) cor(fitted(expo.ns),pf$y)^2
This is part of a dataset from a PhD study which measured water infiltration characteristics from the Upper Athi River basin in Eastern Kenya. It contains rate of infiltration (y) at different levels of cummulative Time intervals (x)
data(infilt)
data(infilt)
A data frame with 1105 observations on the following 6 variables.
Sample
which is a numeric vector
PlotNo
which is a factor with levels such as: 10lP3
11lP3
12lP3
13lP3
14lP3
15lP3
16lP3
17lP3
18lP3
19lP3
1lP3
20lP3
21lP3
22lP3
23lP3
24lP3
25lP3
26lP3
27lP3
28lP3
29lP3
2lP3
30lP3
3lP3
4lP3
5lP3
6lP3
7lP3
8lP3
9lP3
Erosion
which is a factor with levels such as: E0
E1
E2
Time
which is a numeric vector of cumulative infiltration time
Rate
which is a numeric vector of instantaneous infiltration rate
Cumrate
which is a numeric vector of cumulative infiltration rate
The data is grouped according to plots (given the name PlotNo) from where the data were collected
Omuto CT. 2006. Large-area soil physical degradation assessment using gis, remote sensing, and infrared spectroscopy in arid and semi-arid Kenya. PhD Dissertation, University of Nairobi, Kenya
Omuto CT. 2006. Large-area soil physical degradation assessment using gis, remote sensing, and infrared spectroscopy in arid and semi-arid Kenya.PhD Dissertation, University of Nairobi, Kenya
data(infilt) str(infilt)
data(infilt) str(infilt)
This is part of world dataset of measured water retention characteristics. It contains soil moisture contents (y) at eight (8) levels of suction pressure heads (x).
data(isric)
data(isric)
A data frame with 320 observations on the following 6 variables.
Sample
which is a factor with levels such as: Benin1
Benin2
Benin3
Italy4
Italy5
Italy6
Italy7
Nicaragua21
Nicaragua22
Nicaragua23
Nicaragua24
Nicaragua25
Nicaragua26
Nicaragua27
Nicaragua28
Nicaragua29
Nicaragua30
Nicaragua31
Nicaragua32
Nicaragua33
Nicaragua34
Nicaragua35
Nicaragua36
Nicaragua37
Nicaragua38
Nicaragua39
Nicaragua40
Poland10
Poland11
Poland8
Poland9
Rwanda16
Rwanda17
Rwanda18
Rwanda19
Rwanda20
Togo12
Togo13
Togo14
Togo15
Country
which is a factor with levels such as: Benin
Italy
Nicaragua
Poland
Rwanda
Togo
BD
which is a numeric vector for bulk density
x
which is a numeric vector for suction potential
lnx
which is a numeric vector for log(e)
y
which is a numeric vector of moisture contents
The data is grouped according to samples from each country from where the data were collected. In addition, it also contains surface bulk density (BD) for each sample. The whole dataset can be obtained from www.isric.org
data(isric) str(isric)
data(isric) str(isric)
This is a three- parameter function to determine water retention hydraulic parameters contained in the McKee and Bumb water retention model
MB(x,thr,ths,alp)
MB(x,thr,ths,alp)
x |
Suction potential/head as contained in the x-column of the xy water retention table or data |
thr |
This is the residual moisture content.It's the moisture content when suction potential is very high (almost at the drying point) |
ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
This is the inverse of air-entry potential or bubbling pressure |
McKee and Bumb model is a type of nonlinear curve fitting model for fitting water retention characteristics using experimental data. It requires initial parameter estimates for the model to work. This can be obtained using Dstart function (e.g. thr=Dstart(data)[1]). If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Warnings: Choice of starting values for SSMB function parameter estimation needs a careful thought. Sometimes it may be necessary to use alp=1/Dstart(data)[3] or Dstart(data)[3]. One has to try the starting variables that will work for the given data.
Christian Thine Omuto
McKee CR and Bumb AC.1987. Flow-testing coalbed methane production wells in presence of water and gas. SPE Formation Evaluation,vol. 2, no. 4, pp. 599–608
##Attach sample data (isric data) from the package data(isric) library(minpack.lm) pf <- subset(isric, Sample=="Italy5") mb.ns=nlsLM(y~MB(x,thr,ths,alp),data=pf, control=nls.lm.control(maxiter=200), start=c(thr=Dstart(pf)[1],ths=Dstart(pf)[2], alp=Dstart(pf)[3])) summary(mb.ns) coef(mb.ns)
##Attach sample data (isric data) from the package data(isric) library(minpack.lm) pf <- subset(isric, Sample=="Italy5") mb.ns=nlsLM(y~MB(x,thr,ths,alp),data=pf, control=nls.lm.control(maxiter=200), start=c(thr=Dstart(pf)[1],ths=Dstart(pf)[2], alp=Dstart(pf)[3])) summary(mb.ns) coef(mb.ns)
This is a four- parameter function to determine water retention hydraulic parameters contained in the Russo water retention model
Ruso(x, thr, ths, alp, nscal)
Ruso(x, thr, ths, alp, nscal)
x |
Suction potential/head as contained in the x-column of the xy water retention table or data |
thr |
This is the residual moisture content. It's the moisture content when suction potential is very high (almost at the drying point) |
ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's the inverse of air-entry potential or bubbling pressure |
nscal |
This is a parameter or index for the pore-size distribution |
A Russo model is a type of nonlinear curve fitting model for fitting water retention characteristics using experimental data. It requires initial parameter estimates for the model to work. This can be obtained using Dstart function (e.g. thr=Dstart(data)[1]). If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Russo D. 1988. Determining soil hydraulic properties by parameter estimation: on the selection of a model for the hydraulic properties. Water Resources Research 24(3): 453-459
## Attach sample data (isric data) from the package data(isric) pf <- subset(isric, Sample=="Italy5") library(minpack.lm) ruso.ns <- nlsLM(y ~ Ruso(x,thr,ths,alp,nscal), data=pf, control = nls.lm.control(maxiter=200), start = c(thr= Dstart(pf)[1], ths = Dstart(pf)[2], alp= Dstart(pf)[3], nscal=Dstart(pf)[4])) coef(ruso.ns)
## Attach sample data (isric data) from the package data(isric) pf <- subset(isric, Sample=="Italy5") library(minpack.lm) ruso.ns <- nlsLM(y ~ Ruso(x,thr,ths,alp,nscal), data=pf, control = nls.lm.control(maxiter=200), start = c(thr= Dstart(pf)[1], ths = Dstart(pf)[2], alp= Dstart(pf)[3], nscal=Dstart(pf)[4])) coef(ruso.ns)
This is a five- parameter function to determine water retention hydraulic parameters contained in the Fredlund-Xing water retention model
SSfredlund(x, thr, ths, alp, nscal, mscal)
SSfredlund(x, thr, ths, alp, nscal, mscal)
x |
Suction potential/head as contained in the x-column of the xy water retention table or data |
thr |
This is the residual moisture content. It's the moisture content when suction potential is very high (almost at the drying point) |
ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's the inverse of air-entry potential or bubbling pressure |
nscal |
This is a parameter or index for the pore-size distribution |
mscal |
This is a scaling parameter which is also related to the index for the pore-size distribution |
A Fredlund-Xing model is a self-starting type of nonlinear curve fitting model for fitting water retention characteristics using experimental data. If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Fredlund DG and Xing A. 1994. Equations for the soil-water characteristic curve. Canadian Geotechnical Journal 31: 521-532
## Attach sample data (isric data) from the package data(isric) pf <- subset(isric, Sample=="Benin2") library(minpack.lm) suppressWarnings( fredlund.ns <- nlsLM(y ~ SSfredlund(x,thr,ths,alp,nscal,mscal), data=pf, control = nls.lm.control(maxiter=200))) coef(fredlund.ns) plot(fitted(fredlund.ns)~pf$y)
## Attach sample data (isric data) from the package data(isric) pf <- subset(isric, Sample=="Benin2") library(minpack.lm) suppressWarnings( fredlund.ns <- nlsLM(y ~ SSfredlund(x,thr,ths,alp,nscal,mscal), data=pf, control = nls.lm.control(maxiter=200))) coef(fredlund.ns) plot(fitted(fredlund.ns)~pf$y)
This is a two- parameter function to determine water infiltration parameters contained in the Green-Ampt infiltration model
SSgampt(input, ks, A)
SSgampt(input, ks, A)
input |
Instantaneous infiltration rate |
ks |
Saturated hydraulic conductivity |
A |
Constant incorporating matric suction potential, wetting front, and antecedent moisture content |
This is a self-starting model for estimating Green-Ampt infiltration model using instantaneous and cumulative infiltration data
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Green WA and Ampt GA. 1911. Studies on soil physics: 1. The flow of air and water through soils. Journal of Agricultural Science 4: 1-24
## Load the data data(infilt) library(minpack.lm) gamp.ns <- nlsLM(Cumrate ~ SSgampt(Rate,ks,A), infilt) summary(gamp.ns)
## Load the data data(infilt) library(minpack.lm) gamp.ns <- nlsLM(Cumrate ~ SSgampt(Rate,ks,A), infilt) summary(gamp.ns)
This is a four-parameter function to determine water retention hydraulic parameters contained in the Gardner water retention model
SSgard(input, Thr, Ths, alp, scal)
SSgard(input, Thr, Ths, alp, scal)
input |
Suction potential/head as contained in the x-column of the xy water retention table or data |
Thr |
This is the residual moisture content. It's the moisture content when suction potential is very high (almost at the drying point) |
Ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's the inverse of air-entry potential or bubbling pressure |
scal |
This is a parameter or index for the pore-size distribution |
A Gardner model is a type of self-starting nonlinear curve fitting model for fitting water retention characteristics using grouped experimental data. If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Gardner WR. 1958. Some steady state solutions of the unsaturated moisture flow equation with application to evaporation from a water table. Soil Science 85, 228-232
data(isric) isric1 <- isric[1:32,] library(nlme) library(minpack.lm) gardner <- nlsLM(y ~ SSgard(x,thr,ths,alp,nscal), isric1) gardner gard <- nlsList(y ~ SSgard(x,thr,ths,alp,scal) | Sample, isric1) coef(gard)
data(isric) isric1 <- isric[1:32,] library(nlme) library(minpack.lm) gardner <- nlsLM(y ~ SSgard(x,thr,ths,alp,nscal), isric1) gardner gard <- nlsList(y ~ SSgard(x,thr,ths,alp,scal) | Sample, isric1) coef(gard)
This is a four- parameter function to determine water retention hydraulic parameters contained in the Gardner water retention model
SSgardner(x, thr, ths, alp, nscal)
SSgardner(x, thr, ths, alp, nscal)
x |
Suction potential/head as contained in the x-column of the xy water retention table or data |
thr |
This is the residual moisture content. It's the moisture content when suction potential is very high (almost at the drying point) |
ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's the inverse of air-entry potential or bubbling pressure |
nscal |
This is a parameter or index for the pore-size distribution |
A Gardner model is a type of nonlinear curve fitting model for fitting water retention characteristics using experimental data. It requires initial parameter estimates for the model to work. This can be obtained using Dstart function (e.g. thr=Dstart(data)[1]). If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Gardner WR. 1958. Some steady state solutions of the unsaturated moisture flow equation with application to evaporation from a water table. Soil Science 85: 228-232
data(isric) isric1 <- isric[1:32,] library(minpack.lm) gardner <- nlsLM(y ~ SSgardner(x,thr,ths,alp,nscal), isric1) gardner
data(isric) isric1 <- isric[1:32,] library(minpack.lm) gardner <- nlsLM(y ~ SSgardner(x,thr,ths,alp,nscal), isric1) gardner
This is a three- parameter function to determine water infiltration parameters contained in the Horrton infiltration model
SShorton(input, fc, f0, lrk)
SShorton(input, fc, f0, lrk)
input |
Time |
fc |
Steady infiltration rate |
f0 |
Initial infiltration rate |
lrk |
Shape factor related to soil pore continuity |
This is a self-starting model for estimating parameters in the Horton infiltration model using instantaneous infiltration rates (here known as Rate) and time data (Time)
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Horton RE. 1940. An approach towards a physical interpretation of infiltration capacity. Soil Science Society of America Proceedings 5: 227-237
data(infilt) infil <- infilt[319:751,] library(nlme) hort.lis <- nlsList(log(Rate) ~ SShorton(Time,fc,f0,lrk) | PlotNo, infil) # Rate is the y variable hort.lis
data(infilt) infil <- infilt[319:751,] library(nlme) hort.lis <- nlsList(log(Rate) ~ SShorton(Time,fc,f0,lrk) | PlotNo, infil) # Rate is the y variable hort.lis
This is a four- parameter function to determine water retention hydraulic parameters contained in the Kosugi water retention model
SSkosugi(x, thr, ths, alp, nscal)
SSkosugi(x, thr, ths, alp, nscal)
x |
Suction potential/head as contained in the x-column of the xy water retention table or data |
thr |
This is the residual moisture content. It's the moisture content when suction potential is very high (almost at the drying point) |
ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's the inverse of air-entry potential or bubbling pressure |
nscal |
This is a parameter or index for the pore-size distribution |
A Kosugi model is a type of self-starting nonlinear curve fitting model for fitting water retention characteristics using experimental data. If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Kosugi, K. 1996. Lognormal distribution model for unsaturated soil hydraulic properties. Water Resources Research 32: 2697-2703
data(isric) library(minpack.lm) suppressWarnings( kosugi.ns <- nlsLM(y ~ SSkosugi(x,thr,ths,alp,nscal), data = subset(isric, Sample=="Benin2"), control = nls.lm.control(maxiter=200))) summary(kosugi.ns)
data(isric) library(minpack.lm) suppressWarnings( kosugi.ns <- nlsLM(y ~ SSkosugi(x,thr,ths,alp,nscal), data = subset(isric, Sample=="Benin2"), control = nls.lm.control(maxiter=200))) summary(kosugi.ns)
This is a four- parameter function to determine water retention hydraulic parameters contained in a bimodal pore-size distribution developed by Omuto. The parameters are for the first and second compartments
SSomuto(input, Ths1, alp1, Ths2, alp2)
SSomuto(input, Ths1, alp1, Ths2, alp2)
input |
Suction potential/head as contained in the x-column of the xy water retention table or data |
Ths1 |
This is saturated moisture content in the first compartment of a bimodal pore-size distribution water retention characteristics |
alp1 |
This is the inverse of air-entry potential in the first compartment of a bimodal pore-size distribution water retention characteristics |
Ths2 |
This is saturated moisture content in the second compartment of a bimodal pore-size distribution water retention characteristics |
alp2 |
This is the inverse of air-entry potential in the second compartment of a bimodal pore-size distribution water retention characteristics |
Omuto model is a self-starting biexponential model for nonlinear curve fitting model to water retention data. If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
This function can also be used to fit water retention characteristics for a grouped dataset as well as with mixed-effects modelling
Christian Thine Omuto
Omuto CT. 2009. Biexponential model for water retention characteristics. Geoderma 149:235-242
data(isric) isric1 <- isric[1:32,] library(nlme) omuto <- nlsList(y ~ SSomuto(x,ths1,alp1,ths2,alp2) | Sample, isric1) omuto.nlme <- nlme(omuto)## for fitting mixed-effects models summary(omuto.nlme)
data(isric) isric1 <- isric[1:32,] library(nlme) omuto <- nlsList(y ~ SSomuto(x,ths1,alp1,ths2,alp2) | Sample, isric1) omuto.nlme <- nlme(omuto)## for fitting mixed-effects models summary(omuto.nlme)
This is a two- parameter function to determine water infiltration parameters contained in the Philip's infiltration model
SSphilip(input, fc, S)
SSphilip(input, fc, S)
input |
Time |
fc |
Steady infiltration rate |
S |
Sorptivity |
This is a self-starting model for estimating Philip's infiltration model using instantaneous infiltration rates (here known as Rate) and time (Time) data
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Philip JR. 1957. The theory of infiltration.: 4 Sorptivity and algebraic infiltration equations. Soil Science 84: 257-264
data(infilt) library(nlme) philip.nis <- nlsList(log(Rate) ~ SSphilip(Time,fc,S) | PlotNo, data=infilt) coef(philip.nis)
data(infilt) library(nlme) philip.nis <- nlsList(log(Rate) ~ SSphilip(Time,fc,S) | PlotNo, data=infilt) coef(philip.nis)
This is a five- parameter function to determine water retention hydraulic parameters contained in the van Genuchten water retention model
SSvgm(input, thr, ths, alp, nscal, mscal)
SSvgm(input, thr, ths, alp, nscal, mscal)
input |
Suction potential/head as contained in the x-column of the xy water retention table or data |
thr |
This is the residual moisture content. It's the moisture content when suction potential is very high (almost at the drying point) |
ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's the inverse of air-entry potential or bubbling pressure |
nscal |
This is a parameter or index for the pore-size distribution |
mscal |
This is a scaling parameter which is also related to index for pore-size distribution |
Van Genuchten model is a type of self-starting nonlinear curve fitting model for fitting water retention characteristics using experimental data. In this model, the restriction of m=1-1/n has been relaxed so that m is estimated as an independent parameter of the water retention characteristics. If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
van Genuchten MT. 1980. A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil Science Society of America Journal 44: 892-898
data(isric) library(minpack.lm) pf1=subset(isric,Sample=="Nicaragua21") suppressWarnings( vn.ns <- nlsLM(y ~ SSvgm(x,thr,ths,alp,nscal,mscal), data = pf1, control = nls.lm.control(maxiter=200))) coef(vn.ns) plot(fitted(vn.ns)~pf1$y) abline(a=0,b=1,lty=20, col="blue")
data(isric) library(minpack.lm) pf1=subset(isric,Sample=="Nicaragua21") suppressWarnings( vn.ns <- nlsLM(y ~ SSvgm(x,thr,ths,alp,nscal,mscal), data = pf1, control = nls.lm.control(maxiter=200))) coef(vn.ns) plot(fitted(vn.ns)~pf1$y) abline(a=0,b=1,lty=20, col="blue")
This is a four-parameter function to determine water retention hydraulic parameters contained in the van Genuchten water retention model
SSvgm4(input, Thr, Ths, alp, nscal)
SSvgm4(input, Thr, Ths, alp, nscal)
input |
Suction potential/head as contained in the x-column of the xy water retention table or data |
Thr |
This is the residual moisture content. It's the moisture content when suction potential is very high (almost at the drying point) |
Ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's natural logarithm of the inverse of air-entry potential or bubbling pressure |
nscal |
This is a parameter or index for the pore-size distribution |
Van Genuchten model is a type of self-starting nonlinear curve fitting model for fitting water retention characteristics using experimental data. In this model, the restriction of m=1-1/n has been imposed on the water retention characteristics. Air-entry potential = exp(alp). If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
van Genuchten MT. 1980. A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil Science Society of America Journal 44: 892-898
data(isric) library(nlme) library(minpack.lm) pfdata=subset(isric,Country=="Benin") suppressWarnings( vn4.ns <- nlsList(y ~ SSvgm4(x,thr,ths,alp,nscal)|Sample, data = pfdata, control = nls.lm.control(maxiter=200))) coef(vn4.ns) plot(fitted(vn4.ns)~pfdata$y) cor(fitted(vn4.ns),pfdata$y)^2
data(isric) library(nlme) library(minpack.lm) pfdata=subset(isric,Country=="Benin") suppressWarnings( vn4.ns <- nlsList(y ~ SSvgm4(x,thr,ths,alp,nscal)|Sample, data = pfdata, control = nls.lm.control(maxiter=200))) coef(vn4.ns) plot(fitted(vn4.ns)~pfdata$y) cor(fitted(vn4.ns),pfdata$y)^2
This is a three- parameter function to determine water retention hydraulic parameters contained in the Tani water retention model
Tani(x, thr, ths, alp)
Tani(x, thr, ths, alp)
x |
Suction potential/head as contained in the x-column of the xy water retention table or data |
thr |
This is the residual moisture content. It's the moisture content when suction potential is very high (almost at the drying point) |
ths |
This is the saturated moisture content. It's the moisture content when suction potential is very low (almost at the saturation point) |
alp |
It's the inverse of air-entry potential or bubbling pressure |
Tani model is a type of nonlinear curve fitting model for fitting water retention characteristics using experimental data. It requires initial parameter estimates for the model to work. This can be done using Dstart function (e.g. thr=Dstart(data)[1]). If warnings are given during the estimation process, try to increase the iteration limit using control function. Sometimes the warnings can be suppressed using (warn=-1)/ignored since they do not terminate the process
A list of objects returned by standard R regression functions such as nls and lm
Christian Thine Omuto
Tani M. 1982. The properties of water-table rise produced by a one-dimensional, vertical, unsaturated flow. Journal of Japan Forestry Society 64: 409-418
data(isric) pf <- subset(isric, Sample=="Italy4") library(minpack.lm) tani.ns <- nlsLM(y ~ Tani(x,thr,ths,alp), data = pf, control = nls.lm.control(maxiter=200), start = c(thr=Dstart(pf)[1],ths=Dstart(pf)[2], alp=Dstart(pf)[3])) coef(tani.ns)
data(isric) pf <- subset(isric, Sample=="Italy4") library(minpack.lm) tani.ns <- nlsLM(y ~ Tani(x,thr,ths,alp), data = pf, control = nls.lm.control(maxiter=200), start = c(thr=Dstart(pf)[1],ths=Dstart(pf)[2], alp=Dstart(pf)[3])) coef(tani.ns)