R/GetQmapFit2.R

Defines functions GetQmapFit2

GetQmapFit2 <- function(obsdata, rcpdata, varnm, monid) {

  #vars = c("prcp", "tmax", "tmin", "wspd", "rhum", "rsds")
  ovarnm <- paste("obs_",varnm,sep="")
  rvarnm <- varnm

  obsmon <- obsdata[which(obsdata[,2]==monid),which(colnames(obsdata)==ovarnm)]
  obsmon <- as.numeric(obsmon[!is.na(obsmon)])
  rcpmon <- rcpdata[which(rcpdata[,2]==monid),which(colnames(rcpdata)==rvarnm)]

  if(varnm == "prcp"){
    qmf <- qmap::fitQmap(obsmon, rcpmon, method="QUANT", qstep=0.01, wet.day=T, na.rm=T)
  } else {
    qmf <- qmap::fitQmap(obsmon, rcpmon, method="QUANT", qstep=0.01, wet.day=F, na.rm=T)
  }
  
  ## Logic for avoding unique values
  tmp <- qmf$par$modq
  if(length(unique(tmp))==1) tmp[1:4] <- c(0.1, 0.075, 0.05, 0.025)
  qmf$par$modq <- tmp
  
  return(qmf)
}

Try the rSQM package in your browser

Any scripts or data that you put into this service are public.

rSQM documentation built on May 2, 2019, 4:14 a.m.