fitSHP: Fit soil hydraulic properties

View source: R/fitSHP.R

fitSHPR Documentation

Fit soil hydraulic properties

Description

Estimate parameter for soil water retention (SWC) and/or unsaturated hydraulic conductivity function (Ku) using Shuffled Complex Evolution (SCE) optimisation. Parameter can be estimated for van Genuchten-Mualem (vg or vgm) or Peters-Durner-Iden (PDI) parameterisation of the soil hydraulic properties.

Usage

fitSHP(
  obs = list(th = NULL, K = NULL),
  suc = list(th = NULL, K = NULL),
  par = NULL,
  lower = NULL,
  upper = NULL,
  FUN.shp = "vg",
  modality = "uni",
  par.shp = NULL,
  fit = "both",
  weighting = "var",
  log = c("alfa", "n", "ks"),
  control = list(ncomplex = 15, reltol = 1e-07, tolsteps = 7),
  suc.negativ = FALSE,
  integral = FALSE,
  L = NULL,
  log_Ku = TRUE,
  print.info = TRUE
)

Arguments

obs

list with named observations (th for water content and K for unsaturated hydraulic conductivity data)

suc

list of named suctions corresponding to th and/or K

par

a numeric vector of initial parameter values (see also SCEoptim). If missing default values are set.

lower

lower bounds on the parameters. Should be the same length as par and as upper, or length 1 if a bound applies to all parameters. If missing default values are set.

upper

upper bounds on the parameters. Should be the same length as par and as lower, or length 1 if a bound applies to all parameters. If missing default values are set.

FUN.shp

Funktion for soil hydraulic properties (vG, PDI or bc) (see SWC or Ku)

modality

pore size distribution ('uni' or 'bi')

par.shp

fixed parameter value named in list or vector

fit

fit parameter for 'SWC', 'Ku' or 'both' simultaneous.

weighting

weighting between SWC and Ku. Used if fit == both ('var', 'norm' or '2step').

log

names of parameter in list or vector which should be logarithmized during optimization

control

a list of options as in optim(), see SCEoptim

suc.negativ

set TRUE if suction/pressure heads are negative and FALSE if positive

integral

th as point value vs. suc(h) (FALSE) or th as mean water content over the column divided by the height (L) vs. suc(h) (TRUE) (see details).

L

sample height [cm]. Only needed for integral == TRUE

log_Ku

logarithmize Ku in the objective function and for weighting (TRUE).

print.info

print information about default values for par, lower, and upper if missing or fitting accuracy (TRUE or FALSE)

Details

weigthing:

var: th and K are weighted in the objective fuction by the measurement variance
norm: th and K are normed in objective fuction
stepwise: the parameter for th are fitted first and the remaining parameter for K afterwards (2step works aswell)

log:

The use of log is suggested for paramter 'alfa', 'n' and 'ks' for modality == 'uni'. For modality 'bi' additional 'alfa2' and 'n2' and for Fun.shp == 'pdi' additional 'omega'. Parameter in output ($par) are not returned logarithmized.
Delfault paramter values for par, lower and upper are logarithmized automatatically
If not the default values for par, lower and upper are taken, parameter which are named in 'log' must be scaled by the user in par, lower and upper.

integral:

The "integral" method is suggested from Peters and Durner (2008, 2015) to fit parameter on data from experiments were water contents are measured as mean water contents (e.g. simplified evaporation method or multi-step outflow experiments). Under the assumption that the water content is distributed linear over the column, the measured mean water content of the column is the integral over the whole column divided by the column length (L). Under hydraulic equilibrium this is equal to the integral of the retention function over the matric heads from the lower boundary to the upper boundary of the column divided by the height of the column (Peters 2008, 2015).

integral == TRUE can be very slow.

Value

"fitSHP" class

Author(s)

Ullrich Dettmann

References

Peters, A., & Durner, W. (2008). Simplified evaporation method for determining soil hydraulic properties. Journal of Hydrology, 356(1), 147-162.

Peters and Durner (2015). SHYPFIT 2.0 User’s Manual

Peters, A., Iden, S. C., & Durner, W. (2015). Revisiting the simplified evaporation method: Identification of hydraulic functions considering vapor, film and corner flow. Journal of Hydrology, 527, 531-542.

See Also

SCEoptim, SWC, Ku

Examples

## Not run: 
data('dataSHP')
# -------------------------------------------------------------------
# fit Soil Hydraulic Properties (SHP)
# -------------------------------------------------------------------
ans <- fitSHP(obs         = list(th = dataSHP$th, K = dataSHP$Ku),
             suc          = list(th = dataSHP$suc, K = dataSHP$suc),
             FUN.shp      = 'vg',
             modality     = 'uni',
             par.shp      =  NULL,
             fit          = 'both',
             weighting    = 'var',
             log          = c('alfa', 'n', 'ks'),
             control      = list(ncomplex = 15, reltol = 1e-07,tolsteps = 7),
             suc.negativ  = TRUE,
             integral     = FALSE,
             L            = 0,
             print.info   = TRUE
)
ans$par
plot(ans)
# --------------------------------------------------------------------
# bimodal van Genuchten-Mualem
ans <- fitSHP(obs         = list(th = dataSHP$th, K = dataSHP$Ku),
             suc          = list(th = dataSHP$suc, K = dataSHP$suc),
             FUN.shp      = 'vg',
             modality     = 'bi',
             par.shp      =  c(),
             fit          = 'both',
             weighting    = 'var',
             log          = c('alfa', 'n', 'ks', 'alfa2', 'n2'),
             suc.negativ  = TRUE,
             integral     = FALSE,
             L            = 0,
             print.info   = TRUE,
             control      = list(ncomplex = 15, reltol = 1e-07,tolsteps = 7)
)
ans$par
plot(ans)

## End(Not run)

SoilHyP documentation built on Feb. 16, 2023, 7:06 p.m.

Related to fitSHP in SoilHyP...