Description Usage Arguments See Also Examples
GEOtop Goodnes of fit
1 2 3 4 5 6 | geotopGOF(x = NULL, geotop.model = NULL, approx.list = list(),
sim = NULL, obs, layer = c("z0005", "z0020"), obs_field = "mean",
gof.mes = NULL, gof.expected.value.for.optim = NULL, weights = NULL,
output_simulation = FALSE, names_par = NULL,
useSoilIntegratedValues = FALSE, temporary.runpath = FALSE,
multiaggr = TRUE, ...)
|
x |
vector with parameters to calibrate. See |
geotop.model |
a list with arguments for |
approx.list |
list of arguments for |
sim |
simulated data as a object returned by |
obs |
observed data |
layer |
layers corresponding to soil depth at whch GOF indices are calculated |
obs_field |
obs field used in the observation data frame. Deafault is |
gof.mes |
string(s) containing adopted numerical goodness-of-fit measure. If it is |
gof.expected.value.for.optim |
expected value for goodness-of-fit mesure, e.g. 0 or 1. It is used if this function is called by |
weights |
vector of weights to assing to each layer, in case of a weigeted-averaged goodness-of-fit measure over all layers. It is |
output_simulation |
logical value. If it is |
names_par |
names of |
useSoilIntegratedValues |
logical values. Default is |
temporary.runpath |
logical value. If it |
... |
further aguments for |
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | data(MuntatschiniB2)
## OBSERVATION PROCESSING
obs_SWC <- MuntatschiniB2[str_detect(names(MuntatschiniB2),"SWC")]
zvalues <- as.numeric(unlist(lapply(X=str_split(names(obs_SWC), pattern="",
n = Inf),FUN=function (x) {
out <- as.numeric(x)
out <- out[!is.na(out)]
out <- paste(out,collapse="")
return(out)
})))
zformatter = "z%04d"
names(obs_SWC) <- sprintf(zformatter,zvalues)
obs_SWC <- lapply(X=obs_SWC,FUN=function(x){
if (length(dim(x))>1) {
max <- apply(X=x,MARGIN=1,FUN=max,na.rm=TRUE)
min <- apply(X=x,MARGIN=1,FUN=min,na.rm=TRUE)
mean <- apply(X=x,MARGIN=1,FUN=mean,na.rm=TRUE)
sd <- apply(X=x,MARGIN=1,FUN=sd,na.rm=TRUE)
} else {
mean <- as.vector(x)
max <- as.vector(x)
min <- as.vector(x)
sd <- NA
}
out <- data.frame(min=min,mean=mean,max=max,sd=sd)
out <- as.zoo(out)
index(out) <- as.POSIXlt(index(x))
return(out)
})
###########
###########
simpath <- system.file("Muntatschini_pnt_1_225_B2_004",package="geotopOptim")
bin <- '/home/ecor/local/geotop/GEOtop/bin/geotop-2.0.0'
##### '/Ubsers/ecor/local/bin/geotop_zh'
runpath <- "/home/ecor/temp/geotopOptim_tests"
vars <- "SoilLiqContentProfileFile"
sim <- geotopZProfile(bin=bin,simpath=simpath,runpath=runpath,
clean=TRUE,variable=vars,data.frame=TRUE,level=1,zformatter=zformatter,intern=TRUE)
gof <- geotopGOF(obs=obs_SWC,sim=sim[[vars[1]]],layer=c("z0005","z0020"))
gof
### Use geotopGOF with an internal GEOtop simulation
## create a list with arguments for geotopZProfile
x <- param <- c(N=1.4,Alpha=0.0021,ThetaRes=0.05)
geotop.model <- list(bin=bin,simpath=simpath,runpath=runpath,
clean=TRUE,variable=vars,data.frame=TRUE,level=1,zformatter=zformatter,intern=TRUE)
gof_geotop <- geotopGOF(x=x,obs=obs_SWC,geotop.model=geotop.model,layer=c("z0005","z0020"),gof.mes="KGE")
gof_geotop_ <- geotopGOF(x=x,obs=obs_SWC,geotop.model=geotop.model,layer=c("z0005","z0020"),gof.mes="KGE",useSoilIntegratedValues=TRUE,approx.list=list(zrange=c(0,500),rescaleWithDz=TRUE))
#
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.