Learn R Programming

soilhypfit (version 0.1-8)

hc_model: Models for Soil Hydraulic Conductivity Functions

Description

The functions hc_model and hcrel_model compute, for given capillary pressure head \(h\), the hydraulic conductivity \(K(h)\) and the relative hydraulic conductivity \(k(h)\) respectively, of a soil by parametrical models.

Usage

hcrel_model(h, nlp, precBits = NULL, hcc_model = "vgm")

hc_model(h, nlp, lp, precBits = NULL, hcc_model = "vgm")

Value

A numeric vector with values of (relative) hydraulic conductivity.

Arguments

h

a mandatory numeric vector with values of capillary pressure head for which to compute the hydraulic conductivity. For consistency with other quantities, the unit of head should be meter [m].

nlp

a mandatory named numeric vector, currently with elements named "alpha", "n" and "tau", which are the nonlinear parameters \(\boldsymbol{\nu}^\mathrm{T} = (\alpha, n, \tau)\), where \(\alpha\), \(n\) and \(\tau\) are the inverse air entry pressure, the shape and the tortuosity parameters, see Details. For consistency with other quantities, the unit of \(\alpha\) should be 1/meter [\(\mathrm{m}^{-1}\)].

lp

a mandatory named numeric vector, currently with a single element named "k0", which is the saturated hydraulic conductivity \(K_0\), the only linear parameter of the model, see Details. For consistency with other quantities, the unit of \(K_0\) should be meter/day [\(\mathrm{m}\,\mathrm{d}^{-1}\)].

precBits

an optional integer scalar defining the maximal precision (in bits) to be used in high-precision computations by mpfr. If equal to NULL (default) then mpfr is not used and the result of the function call is of storage mode double, see soilhypfitIntro.

hcc_model

a keyword denoting the parametrical model for the hydraulic conductivity function. Currently, only the Van Genuchten-Mualem model (wrc_model = "vgm") is implemented, see Details.

Author

Andreas Papritz papritz@retired.ethz.ch.

Details

The functions hcrel_model and hc_model currently model soil hydraulic conductivity functions only by the simplified form of the Van Genuchten-Mualem model (Van Genuchten, 1980) with the restriction \(m = 1 - \frac{1}{n}\), i.e. by $$ k_\mathrm{VGM}(h; \boldsymbol{\nu}) = S_\mathrm{VG}(h; \boldsymbol{\nu})^\tau \, \left[ 1 - \left( 1 - S_\mathrm{VG}(h; \boldsymbol{\nu})^\frac{n}{n-1} \right)^\frac{n-1}{n} \right]^2, $$ $$ K_\mathrm{VGM}(h; \mbox{$\mu$}, \boldsymbol{\nu}) = K_0 \, k_\mathrm{VGM}(h; \boldsymbol{\nu}), $$ where \(\mu = K_0\) is the saturated hydraulic conductivity (\(K_0 > 0\)), \(\boldsymbol{\nu}^\mathrm{T} = (\alpha, n, \tau)\) are the inverse air entry pressure (\(\alpha > 0\)), the shape (\(n > 1\)) and tortuosity parameter (\(\tau > -2\)), and \(S_\mathrm{VG}(h; \boldsymbol{\nu})\) is the the volumetric water saturation, see sat_model for an expression.

Note that \(\mu\) and \(\boldsymbol{\nu}^\mathrm{} \) are passed to the functions by the arguments lp and nlp, respectively.

References

Van Genuchten, M. Th. (1980) A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil Science Society of America Journal, 44, 892--898, tools:::Rd_expr_doi("10.2136/sssaj1980.03615995004400050002x").

See Also

soilhypfitIntro for a description of the models and a brief summary of the parameter estimation approach;

fit_wrc_hcc for (constrained) estimation of parameters of models for soil water retention and hydraulic conductivity data;

control_fit_wrc_hcc for options to control fit_wrc_hcc;

soilhypfitmethods for common S3 methods for class fit_wrc_hcc;

vcov for computing (co-)variances of the estimated nonlinear parameters;

evaporative-length for physically constraining parameter estimates of soil hydraulic material functions.

Examples

Run this code
## define capillary pressure head (unit meters)
h <- c(0.01, 0.1, 0.2, 0.3, 0.5, 1., 2., 5.,10.)

## compute (relative) hydraulic conductivity
hcrel <- hcrel_model(h, nlp = c(alpha = 1.5, n = 2, tau = 0.5))
hc <- hc_model(h, nlp = c(alpha = 1.5, n = 2, tau = 0.5), lp = c(k0 = 5))

## display hydraulic conductivity function
op <- par(mfrow = c(1, 2))
plot(hcrel ~ h, log = "xy", type = "l")
plot(hc ~ h, log = "xy", type = "l")
on.exit(par(op))

Run the code above in your browser using DataLab