#' Read mHM discharge data in zoo object.
#'
#' @param Qpath path to folder containing the file daily_discharge (mHM constrain or output).
#' @param dischargeFile name of discharge file, default = "daily_discharge.out"
#' @param inFile boolean, is given discharge file in mHM constraining data, default = FALSE
#'
#' @return daily zoo object including observed and simulated discharge.
#'
#' @examples
#' outQ <- mHM_readQ(Qpath="your/path")
#'
#' @author Johannes Brenner \email{johannes.brenner@ufz.de}
#'
#' @references
#'
#' @seealso
#'
#' @keywords
#'
#' @export mHM_readQ
mHM_readQ <- function(Qpath, dischargeFile = "daily_discharge.out", inFile=FALSE)
{
if (inFile) {
# read daily_discharge.in file
qin <- readr::read_table(file = file.path(Qpath, dischargeFile),
na = c("NA", "-9999", "-9999.000", "99.000", "999.000", "9999.000"),
skip = 5, col_names = F)
# make negative values NA
qin$X6 <- ifelse(qin$X6 < 0, NA, qin$X6)
# make time series / zoo object
days <- as.Date(paste(qin$X1, qin$X2, qin$X3, sep="-"), format = "%Y-%m-%d")
qout_zoo <- zoo::zoo(qin$X6, days)
} else {
# read daily_discharge.out file
qout <- readr::read_table(file = file.path(Qpath, dischargeFile),
na = c("-9999", "-9999.00"))
# make negative values NA
names(qout)[5] = "obs"; names(qout)[6] = "sim"
qout$obs <- ifelse(qout$obs < 0, NA, qout$obs)
qout$sim <- ifelse(qout$sim < 0, NA, qout$sim)
# make time series / zoo object
days <- as.Date(paste(qout$Year, qout$Mon, qout$Day, sep="-"), format = "%Y-%m-%d")
qout_zoo <- zoo::zoo(qout[,c(5,6)], days)
}
return(qout_zoo)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.