From f3eaae4b6baeaef983f30d7308fbbaa20e1938a4 Mon Sep 17 00:00:00 2001
From: unknown <ldecicco@usgs.gov>
Date: Fri, 7 Nov 2014 12:10:24 -0600
Subject: [PATCH] Added pcode check.

---
 R/whatNWISData.r | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/R/whatNWISData.r b/R/whatNWISData.r
index 2ee6bbd5..66855541 100644
--- a/R/whatNWISData.r
+++ b/R/whatNWISData.r
@@ -8,7 +8,7 @@
 #'      "gw"(groundwater levels), "ad" (sites included in USGS Annual Water Data Reports External Link), 
 #'      "aw" (sites monitored by the USGS Active Groundwater Level Network External Link), "id" (historical 
 #'      instantaneous values), "
-#' @param pCode string
+#' @param pCode string vector
 #' @keywords data import USGS web service
 #' @return retval dataframe with all information found in the expanded site file
 #' @export
@@ -29,6 +29,21 @@ whatNWISdata <- function(siteNumbers,service="all",pCode="all",statCd="all"){
     service <- match.arg(service, c("dv","uv","qw","ad","id","pk","sv","gw","aw","all","ad","iv","rt"), several.ok = TRUE)
   }
   
+  if(!("all" %in% pCode){
+    pcodeCheck <- all(nchar(pCode) == 5) & all(!is.na(suppressWarnings(as.numeric(pCode))))
+    
+    if(!pcodeCheck){
+      goodIndex <- which(pCode %in% parameterCdFile$parameter_cd)
+      if(length(goodIndex) > 0){
+        badPcode <- pCode[-goodIndex]
+      } else {
+        badPcode <- pCode
+      }
+      message("The following pCodes seem mistyped:",paste(badPcode,collapse=","), "and will be ignored.")
+      pCode <- pCode[goodIndex]
+    }
+  }
+  
   
   urlSitefile <- paste("http://waterservices.usgs.gov/nwis/site/?format=rdb&seriesCatalogOutput=true&sites=",siteNumber,sep = "")
  
-- 
GitLab