diff --git a/R/constructNWISURL.r b/R/constructNWISURL.r index 3866056d20a5edf07a5aea0d0abb90454e117825..212f996d9965cb3ebf9966f56f2c4b7828c085a2 100644 --- a/R/constructNWISURL.r +++ b/R/constructNWISURL.r @@ -44,6 +44,17 @@ constructNWISURL <- function(siteNumber,parameterCd,startDate="",endDate="", service <- match.arg(service, c("dv","uv","iv","qw","gwlevels","rating","peak","meas")) + pcodeCheck <- all(nchar(parameterCd) == 5) & all(!is.na(suppressWarnings(as.numeric(parameterCd)))) + + if(!pcodeCheck){ + badIndex <- which(parameterCd %in% parameterCdFile$parameter_cd) + if(length(badIndex) > 0){ + badPcode <- parameterCd[-badIndex] + } else { + badPcode <- parameterCd + } + message("The following pCodes may be unavailable:",paste(badPcode,collapse=",")) + } multipleSites <- length(siteNumber) > 1 @@ -189,7 +200,12 @@ constructNWISURL <- function(siteNumber,parameterCd,startDate="",endDate="", if(url.exists(url)){ return(url) } else { - stop("The following url doesn't seem to exist:\n",url) + if(!(parameterCd %in% parameterCdFile$parameter_cd)){ + + message("The following url doesn't seem to exist:\n",url) + return(url) + } + }