Type: | Package |
Title: | Soil Hydraulic Properties |
Version: | 0.1.7 |
Date: | 2023-02-01 |
Maintainer: | Ullrich Dettmann <ullrich.dettmann@thuenen.de> |
Description: | Provides functions for (1) soil water retention (SWC) and unsaturated hydraulic conductivity (Ku) (van Genuchten-Mualem (vGM or vG) [1, 2], Peters-Durner-Iden (PDI) [3, 4, 5], Brooks and Corey (bc) [8]), (2) fitting of parameter for SWC and/or Ku using Shuffled Complex Evolution (SCE) optimisation and (3) calculation of soil hydraulic properties (Ku and soil water contents) based on the simplified evaporation method (SEM) [6, 7]. Main references: [1] van Genuchten (1980) <doi:10.2136/sssaj1980.03615995004400050002x>, [2] Mualem (1976) <doi:10.1029/WR012i003p00513>, [3] Peters (2013) <doi:10.1002/wrcr.20548>, [4] Iden and Durner (2013) <doi:10.1002/2014WR015937>, [5] Peters (2014) <doi:10.1002/2014WR015937>, [6] Wind G. P. (1966), [7] Peters and Durner (2008) <doi:10.1016/j.jhydrol.2008.04.016> and [8] Brooks and Corey (1964). |
Imports: | data.table (≥ 1.13), lubridate (≥ 1.7.9) |
BugReports: | https://bitbucket.org/UlliD/soilhyp/issues |
Encoding: | UTF-8 |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
Depends: | R (≥ 4.0.0) |
RoxygenNote: | 7.2.0 |
NeedsCompilation: | no |
Packaged: | 2023-02-01 15:55:22 UTC; ullrich |
Author: | Ullrich Dettmann [aut, cre], Felix Andrews [ctb] (For the code copied from the hydromad::SCEoptim function (Version: 0.9-15) which is not on r-cran (https://github.com/floybix/hydromad). The SCEoptim function is adapted, and substantially revised from Brecht Donckels MATLAB code which is in turn adopted from Qingyun Duans MATLAB code), Brecht Donckels [ctb] (For the Matlab code which was adapted and reviesed in the hydromad::SCEoptim function.), Qingyun Duan [ctb] (For the MATLAB code adapted from Brecht Donkels.) |
Repository: | CRAN |
Date/Publication: | 2023-02-02 11:10:07 UTC |
Akaike Information Criterion (AIC)
Description
Akaike Information Criterion with or without correction term. Expression from Ye et al. (2008). Correction term by Hurvich and Tsai (1989).
Usage
AIC_HY(Phi, n.data, n.par, corr = TRUE)
Arguments
Phi |
objective function value |
n.data |
number of measured data |
n.par |
number of adjustable parameters |
corr |
correction term TRUE or FALSE (see details) |
Details
corr:
If number of measurements is small compared to the number of parameters, AIC can be extended by a correction term.
References
Ye, M., P.D. Meyer, and S.P. Neuman (2008): On model selection criteria in multimodel analysis. Water Resources Research 44 (3) W03428, doi:10.1029/2008WR006803.
Hurvich, C., and C. Tsai (1989): Regression and time series model selection in small samples. Biometrika 76 (2), 297–307, doi:10.1093/biomet/76.2.297.
Peters and Durner (2015): SHYPFIT 2.0 User's Manual.
Akaike, H. (1974): A new look at statistical model identification, IEEE Trans. Autom. Control, AC-19, 716–723.
Bayesian Information Criterion (BIC)
Description
Bayesian Information Criterion (Schwarz, 1978) for least square estimations.
Usage
BIC_HY(Phi, n.data, n.par)
Arguments
Phi |
objective function value |
n.data |
number of measured data |
n.par |
number of adjustable parameters |
References
Ye, M., P.D. Meyer, and S.P. Neuman (2008): On model selection criteria in multimodel analysis. Water Resources Research 44 (3) W03428, doi:10.1029/2008WR006803.
Schwarz, G. (1978): Estimating the dimension of a model. The Annals of Statistics 6 (2), 461–464. URL: http://dx. doi. org/10.1214/aos/1176344136.
Peters and Durner (2015): SHYPFIT 2.0 User's Manual.
Calculate Soil Water Content from dielectric constant
Description
Calculate volumetric soil water content (SWC [L³/L³] from dielectric constant (DK) using different equations (e.g. Topp et al. 1980). Contains mainly functions for peat and other organic soils.
Usage
DK_to_SWC(
DK,
FUN = c("topp", "jacobsen", "jacobsen_soil_prop", "pepin_5cm", "pepin", "roth_org",
"malicki_bd", "malicki_ths", "myllys", "myllys_sphagnum", "myllys_carex", "kellner",
"kellner_h2", "kellner_h3", "kellner_h4", "beckwith", "yoshikawa_deadmoss",
"yoshikawa_livemoss", "nagare", "oleszczuk", "gs3"),
bd,
ths,
clay,
SOM
)
Arguments
DK |
dielectric constant |
FUN |
character string specifying the polynominal function. See details. |
bd |
bulk density [g/cm³] (needed for FUN == 'malicki_bd' and 'jacobsen_soil_prop') |
ths |
porosity or saturated water content [L³/L³] (needed for 'malicki_ths') |
clay |
content of clay [percent] (only needed for 'jacobsen') |
SOM |
soil organic matter [percent] (for 'jacobsen_soil_prop') |
Details
Possible functions (FUN) are':
- 'topp'
Topp et al. (1980)
- 'jacobsen'
Jacobsen and Schjonning (1993), equation 2
- 'jacobsen_soil_prop'
Jacobsen and Schjonning (1993), equation 3 (bd, ths and SOM are required as input)
- 'pepin_5cm'
Pepin, S. et al. (1992), Table 2 Depth 5 cm
- 'pepin'
Pepin, S. et al. (1992), Table 2 Pooled data
- 'roth_org'
Roth et al. (1992), Tabel 3c
- 'malicki_bd'
Malicki, M.A. et al. (1996), equation 10 (bd is required as input)
- 'malicki_ths'
Malicki, M.A. et al. (1996), equation 12 (ths is required as input)
- 'myllys'
Myllys M. and Simojoki, A. (1996), Table 2 pooled
- 'myllys_sphagnum'
Myllys M. and Simojoki, A. (1996), Table 2 Sphagnum
- 'myllys_carex'
Myllys M. and Simojoki, A. (1996), Table 2 Carex
- 'kellner'
Kellner E., Lundin L.C. (2001), Table 2 Pooled data
- 'kellner_h2'
Kellner E., Lundin L.C. (2001), Table 2 H2
- 'kellner_h3'
Kellner E., Lundin L.C. (2001), Table 2 H3
- 'kellner_h4'
Kellner E., Lundin L.C. (2001), Table 2 H4
- 'beckwith'
Beckwith C.W. and Baird A.J. (2001), eq. 1
- 'yoshikawa_deadmoss'
from Tabel 1 in Nagare et al. (2001)
- 'yoshikawa_livemoss'
from Tabel 1 in Nagare et al. (2001)
- 'nagare'
Nagare et al. (2011), combined from Table 4
- 'oleszczuk'
from Table 1 in Oleszczuk et al. (2004)
- 'gs3'
Meter group, eq. 7
Value
data.table with columns DK, SWC and FUN.
References
Beckwith C.W., Baird A.J. (2001): Effect of biogenic gas bubbles on water flow through poorly decomposed blanket peat. Water Resour. Res., 37(3), 551-558.
Decagon Device (2016): GS3 Water Content, EC an Temperature Sensors, Operators maual , Decagon Device, Inc 2365 NE Hopkins Court Pullman WA 99163.
Jacobsen, O.H., Schjonning, P. (1993): A laboratory calibration of time domain reflectometry for soil water measurement including effects of bulk density and texture. Journal of Hydrology, 151(2-4), 147-157.
Kellner E., Lundin L.C. (2001): Calibration of Time Domain Reflectometry for Water Content in Peat Soil, Uppsala University, Dept. of Earth Sciences/Hydrology,SE-752 36 Uppsala, Sweden. Hydrology Research, 32(4-5), 315-332.
Malicki, M.A., Plagge, R., Roth, C.H. (1996): Improving the calibration of dielectric TDR soil moisture determination taking into account the solid soil. European Journal of Soil Science, 47:357-366.
Meter group: Operator manual GS3 (http://library.metergroup.com/Manuals/20429_GS3_Web.pdf)
Myllys M., Simojoki, A. (1996): Calibration of time domain reflectometry (TDR) for soil moisture measuremnts in cultivated peat soils, Agricultural Research centre of Finland, Institut of Cropand Soil Science, University of helsinki, Department of Applied Chemistry and Mircrobiology.
Nagare, R.M., Schincariol, R. A., Quinton, W.L., Hayashi, M. (2011): Laboratory calibration of time domain reflectometry to determine moisture content in undisturbed peat samples. European journal of soil science, 62(4), 505-515.
Oleszczuk R., Brandyk T., and Szatylowicz J., 1998: Possibilities of TDR method application to measure moisture content of peat-muck soil (in Polish). Zesz. Prob. Post. Nauk Roln., 458, 263-274.
Oleszczuk, R., Brandyk, T., Gnatowski, T., & Szatylowicz, J. (2004). Calibration of TDR for moisture determination in peat deposits. International agrophysics, 18(2).
Pepin, S., Plamondon, A.P., and Stein, J. (1992): Peat water-content measurement using time domain reflectrometry, Can. J. of Forest Res., Vol. 22, pp. 534-540
Roth C.H., M.A. Malicki, R. Plagge (1992): Empirical evaluation of the relationship between soil dielectric constant and volumetric water content as the basis for calibration soil moisture measurements by TDR; Institute of Ecology, Technical University of Berlin, Berlin, Germany and *Polish Academy of sciences, Institute of Agrophysics, ul. Doswiadczalna 4, 20-236 Lublin, Poland; Journal of Soil Science, 1992, 43, 1-13.
Topp, G.C., Davis, J.L., Annan, A.P. (1980): Electromagnetic determination of soil water content: Measurements in coaxial transmission lines. Water resources research, 16(3), 574-582.
Yoshikawa, K., Overduin, P., Harden, J. (2004): Moisture content measurements of moss (Sphagnum spp.) using commercial sensors. Permafrost Periglac, 15, 309-318.
Relative capillary conductivity
Description
Relative capillary conductivity based on Mualem's conductivity model for unimodal or bimodal van Genuchten-Mualem.
Usage
Kcap(suc, par.shp, suc.negativ = TRUE, modality = "uni")
Arguments
suc |
Suction/pressure heads. Negative if suc.negativ = TRUE |
par.shp |
named parameter in list or vector |
suc.negativ |
set TRUE if suction/pressure heads are negative and FALSE if positive |
modality |
pore size distributions ('uni' or 'bi') |
Details
- par.shp:
-
alfa [1/L]: van Genuchten shape parameter
n [-]: van Genuchten shape parameter
m [-]: shape parameter (m = 1-(1/n) if missing)
tau [-]: tortuosity and connectivity parameter (minimum -1 or -2 for the PDI model; for details see Peters (2014))
h0 [L]: suction at water content of 0 (i.e. oven dryness) (h0 = 10^6.8 if missing, corresponding to oven dryness at 105°C (Schneider and Goss, 2012)) - par.shp: additional parameter for bimodal (modality == 'bi')
-
w2 [-]: weigthing between pore space distribution
alfa2 [1/L]: van Genuchten parameter alfa for second pore space distribution
n2 [-]: van Genuchten parameter n for second pore space distribution
References
Peters, A. (2014). Reply to comment by S. Iden and W. Durner on Simple consistent models for water retention and hydraulic conductivity in the complete moisture range. Water Resour. Res. 50, 7535–7539.
Van Genuchten, M. T. (1980). A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil science society of America journal, 44(5), 892-898.
Mualem, Y. (1976). A new model for predicting the hydraulic conductivity of unsaturated porous media. Water resources research, 12(3), 513-522.
Schneider, M., & Goss, K. U. (2012). Prediction of the water sorption isotherm in air dry soils. Geoderma, 170, 64-69.
See Also
Relative film conductivity
Description
Relative film conductivity described by Peters (2013).
Usage
Kfilm(suc, par.shp, modality = "uni", suc.negativ = TRUE)
Arguments
suc |
Suction/pressure heads. Negative if suc.negativ = TRUE |
par.shp |
named parameter in list or vector |
modality |
pore size distribution ('uni' or 'bi') |
suc.negativ |
set TRUE if suction/pressure heads are negative and FALSE if positive |
Details
- par.shp:
-
ths [-]: saturated water content
thr [-]: residual water content
alfa [1/L]: van Genuchten shape parameter
n [-]: van Genuchten shape parameter
h0 [L]: suction at water content of 0 (i.e. oven dryness) (h0 = 10^6.8 if missing, corresponding to oven dryness at 105°C (Schneider and Goss, 2012))
a: slope at the log scale (a = -1.5 if missing as suggested by Tokunaga (2009) and Peters (2013)) - par.shp: additional parameter for bimodal (modality == 'bi')
-
alfa2 [1/L]: van Genuchten parameter alfa for second pore space distribution
n2 [-]: van Genuchten parameter n for second pore space distribution
References
Peters, A. (2013). Simple consistent models for water retention and hydraulic conductivity in the complete moisture range. Water Resour. Res. 49, 6765–6780. physics-a review. Vadose Zone J. http://dx.doi.org/10.2136/vzj2012.0163.
Tokunaga, T. K. (2009). Hydraulic properties of adsorbed water films in unsaturated porous media. Water resources research, 45(6).
Schneider, M., & Goss, K. U. (2012). Prediction of the water sorption isotherm in air dry soils. Geoderma, 170, 64-69.
See Also
Unsaturated hydraulic conductivity
Description
Calculates unsaturated hydraulic conductivity for a given suction for unimodal or bimodal van Genuchten-Mualem (vg/vgm), Peters-Durner-Iden (PDI) and Brooks and Corey (bc) (only unimodal) parameterisation.
Usage
Ku(suc, FUN.shp = "vG", par.shp, modality = "uni", suc.negativ = TRUE)
Arguments
suc |
Suction/pressure heads. Negative if suc.negativ = TRUE |
FUN.shp |
Funktion for soil hydraulic properties (vGM or PDI) (see details) |
par.shp |
named parameter in list or vector |
modality |
pore size distribution ('uni' or 'bi') |
suc.negativ |
set TRUE if suction/pressure heads are negative and FALSE if positive |
Details
- FUN.shp:
vGM: van Genuchten-Mualem (uni or bimodal) ('vg' works aswell)
PDI: Peters-Durner-Iden with van Genuchtens saturation function (uni or bimodal)
bc: Brooks and Corey (unimodal)
- par.shp (vG and PDI):
-
ths [-]: saturated water content
thr [-]: residual water content
alfa [1/L]: van Genuchten shape parameter
n [-]: van Genuchten shape parameter
m [-]: shape parameter (m = 1-(1/n) if missing)
Ks [L/time]: saturated hydraulic conductivity
tau [-]: tortuosity and connectivity parameter (minimum -1 or -2 for the PDI model; see Peters (2014) for details) - par.shp (additional parameter for 'PDI'):
-
omega: weighting between relative capillary and film conductivity
h0 [L]: suction at water content of 0 (i.e. oven dryness) (h0 = 10^6.8 if missing, corresponding to oven dryness at 105°C (Schneider and Goss, 2012))
a: slope at the log scale (a = -1.5 if missing as suggested by Tokunaga (2009) and Peters (2013)) - par.shp (additional parameter for bimodal (modality = 'bi')):
-
w2 [-]: weigthing between pore space distributions
alfa2 [1/L]: van Genuchten parameter alfa for second pore space distribution
n2 [-]: van Genuchten parameter n for second pore space distribution
- par.shp (BC):
-
ths [-]: saturated water content
thr [-]: residual water content
alfa [1/L]: inverse of the air-entry value or bubbling pressure
lambda [-]: pore size distribution index
tau [-]: tortuosity and connectivity parameter (minimum -1 or -2 for the PDI model; see Peters (2014) for details)
most input works for upper- and lowercase letters
Value
unsaturated hydraulic conductivity (ku)
Author(s)
Ullrich Dettmann
References
Van Genuchten, M. T. (1980). A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil science society of America journal, 44(5), 892-898.
Mualem, Y. (1976). A new model for predicting the hydraulic conductivity of unsaturated porous media. Water resources research, 12(3), 513-522.
Peters, A. (2013). Simple consistent models for water retention and hydraulic conductivity in the complete moisture range. Water Resour. Res. 49, 6765–6780. physics-a review. Vadose Zone J. http://dx.doi.org/10.2136/vzj2012.0163.
Iden, S., Durner, W. (2014). Comment to Simple consistent models for water retention and hydraulic conductivity in the complete moisture range by A. Peters. Water Resour. Res. 50, 7530–7534.
Peters, A. (2014). Reply to comment by S. Iden and W. Durner on Simple consistent models for water retention and hydraulic conductivity in the complete moisture range. Water Resour. Res. 50, 7535–7539.
Tokunaga, T. K. (2009), Hydraulic properties of adsorbed water films in unsaturated porous media, Water Resour. Res., 45, W06415, doi: 10.1029/2009WR007734.
Priesack, E., Durner, W., 2006. Closed-form expression for the multi-modal unsaturated conductivity function. Vadose Zone J. 5, 121–124.
Durner, W. (1994). Hydraulic conductivity estimation for soils with heterogeneous pore structure. Water Resources Research, 30(2), 211-223.
Schneider, M., & Goss, K. U. (2012). Prediction of the water sorption isotherm in air dry soils. Geoderma, 170, 64-69.
Brooks, R.H., and A.T. Corey (1964): Hydraulic properties of porous media. Hydrol. Paper 3. Colorado State Univ., Fort Collins, CO, USA.
See Also
Examples
# --------------------------------------------
# Unimodal van Genuchten
# --------------------------------------------
Ku(suc = seq(1, 1000, by = 1), FUN.shp = 'vGM',
par.shp = list(Ks = 10, ths = 0.5, thr = 0, alfa = 0.02, n = 1.5, tau = 0.5),
modality = 'uni', suc.negativ = FALSE)
# --------------------------------------------
# Bimodal van Genuchten
# --------------------------------------------
Ku(suc = seq(1, 1000, by = 1), FUN.shp = 'vGM',
par.shp = list(Ks = 10, ths = 0.5, thr = 0, alfa = 0.02,
n = 1.5, tau = 0.5, w2 = 0.1, alfa2 = 0.1, n2 = 3),
modality = 'bi', suc.negativ = FALSE)
# --------------------------------------------
# Unimodal Peters-Durner-Iden (PDI)
# --------------------------------------------
Ku(suc = seq(1, 1000, by = 1), FUN.shp = 'PDI', modality = 'uni',
par.shp = list(Ks = 10, ths = 0.5, thr = 0, alfa = 0.02, n = 1.5, tau = 0.5, omega = 0.001),
suc.negativ = FALSE)
# --------------------------------------------
# Brooks and Corey (BC) (only unimodal)
# --------------------------------------------
Ku(suc = seq(1, 1000, by = 1), FUN.shp = 'bc', modality = 'uni',
par.shp = list(ths = 0.4, thr = 0, lambda = 0.211, alfa = 0.1, tau = 0.5, ks = 10),
suc.negativ = FALSE)
# --------------------------------------------
Nash-Sutcliffe efficiency (NSE)
Description
Nash-Sutcliffe efficiency (NSE)
Usage
NSE(obs, sim)
Arguments
obs |
measured values |
sim |
predicted values |
References
Nash, J. E., and J.V. Sutcliffe (1970): River flow forecasting through conceptual models. 1. a discussion of principles. Journal of Hydrology 10, 282–290.
Root mean square error (RMSE)
Description
Calculate Root mean square error (RMSE)
Usage
RMSE(obs, sim, na.rm = FALSE)
Arguments
obs |
measured values |
sim |
predicted values |
na.rm |
logical. Should missing values be removed? |
Shuffled Complex Evolution (SCE) optimisation.
Description
Shuffled Complex Evolution (SCE) optimisation. Designed to have a similar interface to the standard optim
function.
The function is copied from the hydromad package (https://github.com/floybix/hydromad/)
Usage
SCEoptim(FUN, par, lower = -Inf, upper = Inf, control = list(), ...)
Arguments
FUN |
function to optimise (to minimise by default), or the name of one. This should return a scalar numeric value. |
par |
a numeric vector of initial parameter values. |
lower |
lower bounds on the parameters. Should be the same length as |
upper |
upper bounds on the parameters. Should be the same length as |
control |
a list of options as in |
... |
further arguments passed to |
Details
This is an evolutionary algorithm combined with a simplex algorithm.
Options can be given in the list control
, in the same way as with optim
:
- ncomplex
number of complexes. Defaults to
5
.- cce.iter
number of iteration in inner loop (CCE algorithm). Defaults to
NA
, in which case it is taken as2 * NDIM + 1
, as recommended by Duan et al (1994).- fnscale
-
function scaling factor (set to -1 for a maximisation problem). By default it is a minimisation problem.
- elitism
influences sampling of parents from each complex. Duan et al (1992) describe a 'trapezoidal' (i.e. linear weighting) scheme, which corresponds to
elitism = 1
. Higher values give more weight towards the better parameter sets. Defaults to1
.- initsample
sampling scheme for initial values: "latin" (hypercube) or "random". Defaults to
"latin"
.- reltol
-
reltol
is the convergence threshold: relative improvement factor required in an SCE iteration (in same sense asoptim
), and defaults to1e-5
. - tolsteps
-
tolsteps
is the number of iterations where the improvement is withinreltol
required to confirm convergence. This defaults to20
. - maxit
maximum number of iterations. Defaults to
10000
.- maxeval
maximum number of function evaluations. Defaults to
Inf
.- maxtime
maximum duration of optimization in seconds. Defaults to
Inf
.- returnpop
whether to return populations (parameter sets) from all iterations. Defaults to
FALSE
.- trace
an integer specifying the level of user feedback. Defaults to
0
.- REPORT
number of iterations between reports when trace >= 1. Defaults to
1
.
Value
a list of class "SCEoptim"
.
par |
optimal parameter set. |
value |
value of objective function at optimal point. |
convergence |
code, where 0 indicates successful covergence. |
message |
(non-)convergence message. |
counts |
number of function evaluations. |
iterations |
number of iterations of the CCE algorithm. |
time |
number of seconds taken. |
POP.FIT.ALL |
objective function values from each iteration in a matrix. |
BESTMEM.ALL |
best parameter set from each iteration in a matrix. |
POP.ALL |
if |
control |
the list of options settings in effect. |
Author(s)
This code is copied from the hydromad package
https://github.com/floybix/hydromad/
http://hydromad.catchment.org/
and written from Felix Andrews felix@nfrac.org
who adapted, and substantially revised it, from Brecht Donckels' MATLAB code,
which was in turn adapted from Qingyun Duan's MATLAB code:
References
Qingyun Duan, Soroosh Sorooshian and Vijai Gupta (1992). Effective and Efficient Global Optimization for Conceptual Rainfall-Runoff Models Water Resources Research 28(4), pp. 1015-1031.
Qingyun Duan, Soroosh Sorooshian and Vijai Gupta (1994). Optimal use of the SCE-UA global optimization method for calibrating watershed models, Journal of Hydrology 158, pp. 265-284.
See Also
optim
, DEoptim package, rgenoud package
Examples
## reproduced from help("optim")
## Rosenbrock Banana function
Rosenbrock <- function(x){
x1 <- x[1]
x2 <- x[2]
100 * (x2 - x1 * x1)^2 + (1 - x1)^2
}
#lower <- c(-10,-10)
#upper <- -lower
ans <- SCEoptim(Rosenbrock, c(-1.2,1), control = list(trace = 1))
str(ans)
## 'Wild' function, global minimum at about -15.81515
Wild <- function(x)
10*sin(0.3*x)*sin(1.3*x^2) + 0.00001*x^4 + 0.2*x+80
ans <- SCEoptim(Wild, 0, lower = -50, upper = 50,
control = list(trace = 1))
ans$par
Simplified evaporation method (SEM)
Description
Determines unsaturated hydraulic conductivity and water retention characteristics from laboratory evaporation experiments.
Usage
SEM(
suc.up,
suc.low,
weight = NULL,
t,
ths = NULL,
r = 3.6,
L = 6,
z1 = 1.5,
z2 = 4.5,
sd.tens = 0.2,
suc.negativ = TRUE,
suc.out = "weighted"
)
Arguments
suc.up |
a numeric vector containing the measured suctions [cm] of the upper tensiometer |
suc.low |
a numeric vector containing the measured suctions [cm] of the lower tensiometer |
weight |
a numeric vector containing the measured weights [g] |
t |
time in seconds [s] |
ths |
saturated water content (optional) for the calulation of the soil water contents (th) |
r |
sample radius [cm] |
L |
sample height [cm] |
z1 |
depth of upper tensiometer [cm] |
z2 |
depth of lower tensiometer [cm] |
sd.tens |
measurement accuracy of tensiometer [cm] |
suc.negativ |
set TRUE if suction/tensiometer values are negative and FALSE if positive |
suc.out |
'weighted' (default), arithmetic ('ari') or geometric ('geo') mean of the tensiometer readings (see Peters (2015) for details) |
Details
- sd.tens:
-
At the beginning of the experiment when gradients of the hydraulic head are small, hydraulic conductivities cannot be calculated. Following Peters and Durner (2008) hydraulic conductivities calculated from gradients smaller than (6*sd.tens)/(z2-z1) are set to NA.
Value
- data.frame
Ki: unsaturated hydraulic conductivity [cm/day]
th: water content (th) is returned if ths is provided as input
suc: suction, either (1) weighted between arithmetic and geometric mean (default), (2) the arithmetic mean or (3) the geometric mean (see Peters 2015)
Author(s)
Ullrich Dettmann
References
Wind, G. P. (1966). Capillary conductivity data estimated by a simple method (No. 80). [sn].
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.
Peters, A., & Durner, W. (2008). Simplified evaporation method for determining soil hydraulic properties. Journal of Hydrology, 356(1), 147-162.
Schindler, U., 1980. Ein Schnellverfahren zur Messung der Wasserleitfähigkeit im teilgesättigten Boden an Stechzylinderproben. Arch. Acker- Pflanzenbau Bodenkd. 24, 1–7.
Examples
# ----------------------------------------------------------------------------
# Calculate hydraulic properties with the 'Simplified Evaporation Method' (SEM)
# ----------------------------------------------------------------------------
data('dataSEM')
ths <- 0.7 # define saturated water content (ths) (optional)
shp <- SEM(suc.up = dataSEM$tens.up,
suc.low = dataSEM$tens.low,
weight = dataSEM$weight,
t = dataSEM$ts*60*60,
r = 3.6, # radius of sample
L = 6, # height of sample
z1 = 1.5, # depth of upper tensiometer [cm]
z2 = 4.5, # depth of lower tensiometer [cm]
sd.tens = 0.1, # tensiometer accuracy (see ?SEM)
ths = ths,
suc.negativ = TRUE,
suc.out = 'weighted'
)
Soil water content
Description
Calculates the volumetric soil water content for a corresponding suction/pressure head (th(suc)) for unimodal or bimodal van Genuchten (vG), Peters-Durner-Iden (PDI) and Brooks and Corey (bc) (only unimodal) parameterisation.
Usage
SWC(
suc,
par.shp = c(ths = 0.9, thr = 0, alfa = 0.02, n = 2),
FUN.shp = "vg",
modality = "uni",
suc.negativ = TRUE
)
Arguments
suc |
Suction/pressure heads. Negative if suc.negativ = TRUE |
par.shp |
named parameter in list or vector |
FUN.shp |
Funktion for soil hydraulic properties (vG, PDI or bc) (see details) |
modality |
pore size distribution ('uni' or 'bi') |
suc.negativ |
set TRUE if suction/pressure heads are negative and FALSE if positive |
Details
- FUN.shp:
-
vG: van Genuchten (uni or bimodal) (vGM is working aswell)
PDI: Peters-Durner-Iden with saturation function of van Genuchten (uni or bimodal)
bc: Brooks and Corey (unimodal)
- par.shp (vG and PDI):
-
ths [-]: saturated water content
thr [-]: residual water content
alfa [1/L]: van Genuchten shape parameter
n [-]: van Genuchten shape parameter
m [-]: shape parameter (m = 1-(1/n) if missing) - par.shp (additional for 'PDI'):
-
h0 [L]: suction at water content of 0 (i.e. oven dryness) (h0 = 10^6.8 if missing, corresponding to oven dryness at 105°C (Schneider and Goss, 2012))
- par.shp (additional for bimodal (modality = 'bi')):
-
w2 [-]: weigthing between pore space distributions
alfa2 [1/L]: van Genuchten parameter alfa for second pore space distribution
n2 [-]: van Genuchten parameter n for second pore space distribution
m2 [-]: shape parameter (m2 = 1-(1/n2) if missing)
- par.shp (BC):
-
ths [-]: saturated water content
thr [-]: residual water content
alfa [1/L]: inverse of the air-entry value or bubbling pressure
lambda [-]: pore size distribution index
PDI:
theta(h) = (ths - thr) * Scap(h) + thr * Sad(h)
Scap: Rescaled capillary saturation function
Sad: Relative saturation function for adsorbed water
input for FUN.shp and modality works for upper- and lowercase letters
Value
volumetric water content theta (th) [L³/L³]
Author(s)
Ullrich Dettmann
References
Van Genuchten, M. T. (1980). A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil science society of America journal, 44(5), 892-898.
Durner, W. (1994). Hydraulic conductivity estimation for soils with heterogeneous pore structure. Water Resources Research, 30(2), 211-223.
Peters, A. (2013). Simple consistent models for water retention and hydraulic conductivity in the complete moisture range. Water Resour. Res. 49, 6765–6780. physics-a review. Vadose Zone J. http://dx.doi.org/10.2136/vzj2012.0163.
Iden, S., Durner, W. (2014). Comment to Simple consistent models for water retention and hydraulic conductivity in the complete moisture range by A. Peters. Water Resour. Res. 50, 7530–7534.
Peters, A. (2014). Reply to comment by S. Iden and W. Durner on Simple consistent models for water retention and hydraulic conductivity in the complete moisture range. Water Resour. Res. 50, 7535–7539.
Schneider, M., & Goss, K. U. (2012). Prediction of the water sorption isotherm in air dry soils. Geoderma, 170, 64-69.
Brooks, R.H., and A.T. Corey (1964): Hydraulic properties of porous media. Hydrol. Paper 3. Colorado State Univ., Fort Collins, CO, USA.
See Also
Examples
# --------------------------------------------
# Unimodal van Genuchten
# --------------------------------------------
SWC(suc = seq(1, 1000, by = 1), par.shp = c(ths = 0.4, thr = 0, alfa = 0.02, n = 1.5),
FUN.shp = c('vG'), modality = 'uni', suc.negativ = FALSE)
# --------------------------------------------
# Bimodal van Genuchten
# --------------------------------------------
SWC(suc = seq(1, 1000, by = 1),
par.shp = c(ths = 0.4, thr = 0, alfa = 0.02, n = 2, w2 = 0.2, alfa2 = 1, n2 = 10),
FUN.shp = c('vG'), modality = c('bi'), suc.negativ = FALSE)
# --------------------------------------------
# Unimodal PDI
# --------------------------------------------
SWC(suc = seq(1, 1000, by = 1), par.shp = list(ths = 0.4, thr = 0, n = 1.6, alfa = 0.02),
FUN.shp = c('pdi'), modality = c('uni'), suc.negativ = FALSE)
# --------------------------------------------
# Brooks and Corey (BC) (only unimodal)
SWC(suc = seq(1, 1000, by = 1), par.shp = list(ths = 0.4, thr = 0, lambda = 0.211, alfa = 0.1),
FUN.shp = c('bc'), modality = c('uni'), suc.negativ = FALSE)
# --------------------------------------------
Relative saturation function
Description
Relative saturation function for adsorptive water storage described by a piecwise linear function (Iden and Durner, 2014).
Usage
Sad(suc, par.shp, modality = c("uni"), suc.negativ = TRUE)
Arguments
suc |
Suction/pressure heads. Negative if suc.negativ = TRUE |
par.shp |
named parameter of soil hydraulic properties in list or vector (see details) |
modality |
pore size distribution ('uni' or 'bi') |
suc.negativ |
set TRUE if suction/pressure heads are negative and FALSE if positive |
Details
- par.shp:
-
ths [-]: saturated water content
thr [-]: residual water content
alfa [1/L]: van Genuchten shape parameter
n [-]: van Genuchten shape parameter
h0 [L]: suction at water content of 0 (i.e. oven dryness) (h0 = 10^6.8 if missing, corresponding to oven dryness at 105°C (Schneider and Goss, 2012)) - par.shp (additional for bimodal (modality = 'bi')):
-
alfa2 [1/L]: van Genuchten parameter alfa for second pore space distribution
n2 [-]: van Genuchten parameter n for second pore space distribution
Author(s)
Ullrich Dettmann
References
Iden, S., Durner, W. (2014). Comment to Simple consistent models for water retention and hydraulic conductivity in the complete moisture range by A. Peters. Water Resour. Res. 50, 7530–7534.
Schneider, M., & Goss, K. U. (2012). Prediction of the water sorption isotherm in air dry soils. Geoderma, 170, 64-69.
Capillary saturation function
Description
Capillary saturation function of van Genuchten (unimodal or bimodal pore space distributions) and Brooks and Corey (unimodal pore space distribution).
Usage
Sat(suc, par.shp, modality = c("uni"), FUN.shp = "vg", suc.negativ = TRUE)
Arguments
suc |
Suction/pressure heads. Negative if suc.negativ = TRUE |
par.shp |
named parameter in list or vector |
modality |
pore size distribution ('uni' or 'bi') |
FUN.shp |
Funktion for soil hydraulic properties (vG or bc) (see details) |
suc.negativ |
set TRUE if suction/pressure heads are negative and FALSE if positive |
Details
- FUN.shp:
-
vG: van Genuchten (uni or bimodal) (vGM is working aswell)
bc: Brooks and Corey (uni)
- par.shp (van Genuchten):
-
alfa [1/L]: van Genuchten shape parameter
n [-]: van Genuchten shape parameter
m [-]: shape parameter (m = 1-(1/n) if missing) - par.shp (additional for bimodal (modality = 'bi')):
-
w2 [-]: weigthing between pore space distribution
alfa2 [1/L]: van Genuchten parameter alfa for second pore space distribution
n2 [-]: van Genuchten parameter n for second pore space distribution
- par.shp (Brooks and Corey):
-
alfa [1/L]: inverse of the air-entry value or bubbling pressure
lambda [-]: pore size distribution index
References
Van Genuchten, M. T. (1980). A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil science society of America journal, 44(5), 892-898.
Durner, W. (1994). Hydraulic conductivity estimation for soils with heterogeneous pore structure. Water Resources Research, 30(2), 211-223.
Brooks, R.H., and A.T. Corey (1964): Hydraulic properties of porous media. Hydrol. Paper 3. Colorado State Univ., Fort Collins, CO, USA.
Capillary saturation function
Description
Capillary saturation function of van Genuchten for unimodal or bimodal pore space distributions.
Usage
Sat_old(suc, par.shp, modality = c("uni"), suc.negativ = TRUE)
Arguments
suc |
Suction/pressure heads. Negative if suc.negativ = TRUE |
par.shp |
named parameter in list or vector |
modality |
pore size distribution ('uni' or 'bi') |
suc.negativ |
set TRUE if suction/pressure heads are negative and FALSE if positive |
Details
- par.shp:
-
alfa [1/L]: van Genuchten shape parameter
n [-]: van Genuchten shape parameter
m [-]: shape parameter (m = 1-(1/n) if missing) - par.shp (additional for bimodal (modality = 'bi')):
-
w2 [-]: weigthing between pore space distribution
alfa2 [1/L]: van Genuchten parameter alfa for second pore space distribution
n2 [-]: van Genuchten parameter n for second pore space distribution
References
Van Genuchten, M. T. (1980). A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil science society of America journal, 44(5), 892-898.
Durner, W. (1994). Hydraulic conductivity estimation for soils with heterogeneous pore structure. Water Resources Research, 30(2), 211-223.
Rescaled capillary saturation function
Description
Rescaled capillary saturation function by Iden and Durner (2014)
Usage
Scap(suc, par.shp, modality = c("uni"), suc.negativ = FALSE)
Arguments
suc |
Suction/pressure heads. Negative if suc.negativ = TRUE |
par.shp |
named parameter in list or vector |
modality |
pore size distribution ('uni' or 'bi') |
suc.negativ |
set TRUE if suction/pressure heads are negative and FALSE if positive |
Details
- par.shp:
-
alfa [1/L]: van Genuchten shape parameter
n [-]: van Genuchten shape parameter
m [-]: shape parameter (m = 1-(1/n) if missing)
h0 [L]: suction at water content of 0 (i.e. oven dryness) (h0 = 10^6.8 if missing, corresponding to oven dryness at 105°C (Schneider and Goss, 2012)) - par.shp (additional for bimodal (modality = 'bi') pore size distribution:)
-
w2 [-]: weigthing between pore space distribution
alfa2 [1/L]: van Genuchten parameter alfa for second pore space distribution
n2 [-]: van Genuchten parameter n for second pore space distribution
m2 [-]: shape parameter (m = 1-(1/n2) if missing)
Scap(h) = (Gamma(h)- Gamma(h0))/(1 - Gamma(h0))
Gamma descripes the capillary saturation function. Here the saturation function of van Genuchten is used:
gamma(h) = (1/(1 + -suc * alfa)^n)^m (see also Sat
)
References
Iden, S., Durner, W. (2014). Comment to Simple consistent models for water retention and hydraulic conductivity in the complete moisture range by A. Peters. Water Resour. Res. 50, 7530–7534.
Schneider, M., & Goss, K. U. (2012). Prediction of the water sorption isotherm in air dry soils. Geoderma, 170, 64-69.
Saturated hydraulic conductivity
Description
Calculates saturated hydraulic conductivity (ks) following Darcy's law
Usage
calcKS(V, Tmeas, L, A, dP)
Arguments
V |
water volume passed sample [L³] |
Tmeas |
duration of measurement [time] |
L |
length of the sample [L] |
A |
cross-sectional area [L²] |
dP |
pressure difference between top and bottom of the sample during the measurement [L] |
Details
Keep units consistent, e.g: V = cm³, dP = cm, A = cm², L = cm, Tmeas = hour
Value
hydraulic conductivity (ks) [L/time].
Evaporation experiment data
Description
Example data of an Evaporation experiment
Usage
data(dataSEM)
Format
An object of class dataSEM
(inherits from data.frame
) with 332 rows and 4 columns.
Details
- Columns:
-
ts: timestamp [hour]
weight: total weight of soil sample [g]
tens.up: measurements of upper tensiometer [cm]
tens.low: measurements of lower tensiometer [cm]
Soil hydraulic property data
Description
Soil hydraulic property data including soil water contents (th), unsaturated hydraulic conductivities (Ku) and the corresponding suctions/pressure heads.
Usage
data(dataSHP)
Format
An object of class data.frame
with 331 rows and 3 columns.
Details
- Columns:
-
Ku: unsaturated hydraulic conductivity
th: volumetric water content
suc: suction
Dataset of soil hydraulic properties for testthat
Description
List with soil water contents (th) and unsaturated hydraulic conductivity values (ku) for spezific parameter of the uni- and bimodal hydraulic functions of van Genuchten and Peters-Durner-Iden (PDI).
Usage
data(dataSHP)
Format
An object of class list
of length 8.
Details
- List objects:
-
dataTestthat$th.vgm.uni: soil water contents for unimodal van Genuchten for parameter ths = 0.4, thr = 0, alfa = 0.02 and n = 1.5
dataTestthat$th.vgm.bi: soil water contents for bimodal van Genuchten for parameter ths = 0.4, thr = 0, alfa = 0.02, n = 2, w2 = 0.2, alfa2 = 1 and n2 = 10
dataTestthat$th.pdi.uni: soil water contents for unimodal PDI for parameter ths = 0.4, thr = 0, alfa = 0.02 and n = 1.5
dataTestthat$th.pdi.bi: soil water contents for bimodal PDI for parameter ths = 0.4, thr = 0, alfa = 0.02, n = 2, w2 = 0.2, alfa2 = 1 and n2 = 10
dataTestthat$ku.vgm.uni: soil water contents for unimodal van Genuchten for parameter Ks = 10, ths = 0.5, thr = 0, alfa = 0.02, n = 1.5 and tau = 0.5
dataTestthat$ku.vgm.bi: soil water contents for bimodal van Genuchten for parameter Ks = 10, ths = 0.5, thr = 0, alfa = 0.02, n = 1.5, tau = 0.5, w2 = 0.1, alfa2 = 0.1 and n2 = 3
dataTestthat$ku.pdi.uni: soil water contents for unimodal PDI for parameter Ks = 10, ths = 0.5, thr = 0, alfa = 0.02, n = 1.5, tau = 0.5 and omega = 0.001
dataTestthat$ku.pdi.bi: soil water contents for bimodal PDI for parameter Ks = 10, ths = 0.5, thr = 0, alfa = 0.02, n = 1.5, tau = 0.5, omega = 0.001, w2 = 0.2, alfa2 = 1 and n2 = 10
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 |
lower |
lower bounds on the parameters. Should be the same length as |
upper |
upper bounds on the parameters. Should be the same length as |
FUN.shp |
Funktion for soil hydraulic properties (vG, PDI or bc) (see |
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 |
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
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)
Plot dataSEM
Description
Creates plot of object with class 'dataSEM'. If input x is provided as list with more than one elements, the output plot is a grid with multiple plots.
Usage
## S3 method for class 'dataSEM'
plot(
x,
ts = "ts",
tens.up = "tens.up",
tens.low = "tens.low",
weight = "weight",
plot.tens = TRUE,
plot.weight = TRUE,
plot.legend = TRUE,
xlab = "timestamp",
plot.title,
color.tens = c("#00FFFF", "#008B8B"),
color.weight = "#EC382B",
...
)
Arguments
x |
object of class dataSEM (see details) |
ts |
character specifying the column containing the time stamp (format must be numeric or POSIXct) |
tens.up |
character specifying the column containing the measurements of the upper tensiometer |
tens.low |
character specifying the column containing the measurements of the lower tensiometer |
weight |
character specifying the column containing the weight |
plot.tens |
plot tensiometer values (TRUE/FALSE) |
plot.weight |
plot weight values (TRUE/FALSE) |
plot.legend |
plot legend (TRUE/FALSE) |
xlab |
lable for the x axis |
plot.title |
character spezifying plot title. If empty no title will be added. |
color.tens |
colors of the plotted tensiometer values |
color.weight |
color of the plotted weight values |
... |
Graphical arguments (see |
Details
Object x can be:
- class(x): "dataSEM" "data.frame"
- class(x): "dataSEM" "data.table"
- class(x): "dataSEM" (if x is a list)
If x is a list with more than 1 elements, the output plot is a grid with mutliple plots.
Columns and row number can be adjusted with grafical argument mfrow (see par
)
If x has the wrong class, the class can be set with:
class(x) <- c('dataSEM', class(x)) (if x has the class data.frame or data.table) and
class(x) <- 'dataSEM' (if x has the class list).
Author(s)
Ullrich Dettmann
Plot fitSHP object
Description
Creates plot of fitSHP object with measured and fitted SWC, KU or both depending on fitSHP object
Usage
## S3 method for class 'fitSHP'
plot(x, ...)
Arguments
x |
object of class fitSHP |
... |
arguments for plot |
Predict values using fitSHP object
Description
Predicts values using fitSHP object with calibrated paramter of SWC, KU or both depending on the fitSHP object
Usage
## S3 method for class 'fitSHP'
predict(object, suc = NULL, length.out = 100, suc.negativ = FALSE, ...)
Arguments
object |
object of class fitSHP |
suc |
Suction/pressure heads for the prediction of the soil hydraulic properties |
length.out |
output length if suc == NULL |
suc.negativ |
set TRUE if suction/pressure heads are negative and FALSE if positive |
... |
arguments for predict |
Read Evaporation Experiment data from ku-pf Apparatur
Description
Reads multiple ku-pf Apparatur files from a directory and returns them as list of data.tables.
Usage
read.kupf(
path,
colnames.out = c("ts", "tens.up", "tens.low", "weight"),
firstrow.char = "Date/Time\tTension top\tTension bottom\tWeight",
format.time_stamp = "%d.%m.%Y %H:%M:%S",
tz.time_stamp = "GMT",
...
)
Arguments
path |
path to ku-pf files (character) |
colnames.out |
colnames of output (default: c('ts', 'tens.up', 'tens.low', 'weight')) |
firstrow.char |
character in first row of ku-pf files (default: 'Date/Time Tension top Tension bottom Weight') (see details) |
format.time_stamp |
POSIXct format of the time stamp column (column 1, here named 'ts') (see |
tz.time_stamp |
time zone of the time stamp column (column 1, here named 'ts') (default: 'GMT') (see |
... |
arguments to |
Details
- input file format:
The standard file format of ku-pf files looks like:
Date/Time Tension top Tension bottom Weight
kPa kPa g
01.11.2017 14:11:16 -0.48 -0.15 969.02
01.11.2017 14:21:16 -0.47 -0.14 969.00
01.11.2017 14:31:16 -0.46 -0.13 968.98
If the first row of the ku-pf files differs to the expression used here ('Date/Time Tension top Tension bottom Weight"), it can be set with firstrow.char.
- sample_info:
File names are added as attribut to the output (attr(out, 'sample_info')).
The ku-pf software gives the possibility to add sample spezific information in the first row of the file. Depending on the input the ku-pf files than look:
sample_name;project
Date/Time Tension top Tension bottom Weight
kPa kPa g
01.11.2017 14:11:16 -0.48 -0.15 969.02
01.11.2017 14:21:16 -0.47 -0.14 969.00
01.11.2017 14:31:16 -0.46 -0.13 968.98
- For this case the first line is added as attribute to the output (attr(out, 'sample_info')$info)
Value
list of the class dataSEM containing data.tables as list elements.
Author(s)
Ullrich Dettmann