From e9b8e77b1a9a513766e34e9d4937bbd0b5cf71d8 Mon Sep 17 00:00:00 2001
From: unknown <ldecicco@usgs.gov>
Date: Fri, 7 Nov 2014 12:05:17 -0600
Subject: [PATCH] Added check for bad pcodes, changed error to warning.

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

diff --git a/R/constructNWISURL.r b/R/constructNWISURL.r
index 3866056d..212f996d 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)
+    }
+    
   }
 
   
-- 
GitLab