diff --git a/R/getDataAvailability.r b/R/getDataAvailability.r index 18fae0ccc32a8b513a1a528040a9a5d890ff502e..6bc84cbc4916c68f6841c059f17c1fcbae0e8009 100644 --- a/R/getDataAvailability.r +++ b/R/getDataAvailability.r @@ -10,7 +10,7 @@ #' @examples #' # These examples require an internet connection to run #' availableData <- getDataAvailability('05114000') -getDataAvailability <- function(siteNumber="",interactive=TRUE){ +getDataAvailability <- function(siteNumber,interactive=TRUE){ # Checking for 8 digit site ID: siteNumber <- formatCheckSiteNumber(siteNumber,interactive=interactive) @@ -41,6 +41,7 @@ getDataAvailability <- function(siteNumber="",interactive=TRUE){ pcodeINFO <- getParameterInfo(pCodes,interactive) SiteFile <- merge(SiteFile,pcodeINFO,by="parameter_cd") +# SiteFile <- merge(SiteFile,pcodeINFO,by.x="parameter_cd",by.y="parm_cd") return(SiteFile) } diff --git a/R/getParameterInfo.r b/R/getParameterInfo.r index 3b1442337da0f36501373de69c31e185782024ae..171dc9d9dfe81826b48db4dc9c6f524e2791b0d5 100644 --- a/R/getParameterInfo.r +++ b/R/getParameterInfo.r @@ -14,21 +14,22 @@ getParameterInfo <- function(parameterCd,interactive=TRUE){ parameterCd <- formatCheckParameterCd(parameterCd, interactive=interactive) - urlParameterCd <- "http://nwis.waterdata.usgs.gov/nwis/pmcodes/pmcodes?radio_pm_search=param_group&pm_group=All+--+include+all+parameter+groups&pm_search=&casrn_search=&srsname_search=&format=rdb&show=parameter_group_nm&show=parameter_nm&show=casrn&show=srsname&show=parameter_units" - - parameterCdFile <- read.delim( - urlParameterCd, - header = TRUE, - quote="\"", - dec=".", - sep='\t', - colClasses=c('character'), - fill = TRUE, - comment.char="#") - dataType <- parameterCdFile[1,] - parameterCdFile <- parameterCdFile[-1,] +# urlParameterCd <- "http://nwis.waterdata.usgs.gov/nwis/pmcodes/pmcodes?radio_pm_search=param_group&pm_group=All+--+include+all+parameter+groups&pm_search=&casrn_search=&srsname_search=&format=rdb&show=parameter_group_nm&show=parameter_nm&show=casrn&show=srsname&show=parameter_units" +# # urlParameterCd <- "http://help.waterdata.usgs.gov/code/parameter_cd_query?fmt=rdb&group_cd=%" +# parameterCdFile <- read.delim( +# urlParameterCd, +# header = TRUE, +# quote="\"", +# dec=".", +# sep='\t', +# colClasses=c('character'), +# fill = TRUE, +# comment.char="#") +# dataType <- parameterCdFile[1,] +# parameterCdFile <- parameterCdFile[-1,] parameterData <- parameterCdFile[parameterCdFile$parameter_cd %in% parameterCd,] +# parameterData <- parameterCdFile[parameterCdFile$parm_cd %in% parameterCd,] return(parameterData) } diff --git a/R/renameColumns.R b/R/renameColumns.R index ecdb4e221eb8e74039da2c5cbe49ea347a36cf48..fe4bb30e384b4d268871c94763a13425d0c3c5c5 100644 --- a/R/renameColumns.R +++ b/R/renameColumns.R @@ -11,6 +11,9 @@ #' siteNumber <- '05114000' #' rawData <- retrieveNWISData(siteNumber,c("00010","00060","00300"),"2001-01-01","2002-01-01",StatCd=c("00001","00003")) #' rawData <- renameColumns(rawData) +#' today <- as.character(Sys.Date()) +#' rawData2 <- retrieveUnitNWISData(siteNumber,c("00010","00060"),today,today) +#' rawData2 <- renameColumns(rawData2) renameColumns <- function(rawData){ columnNames <- names(rawData) @@ -34,12 +37,14 @@ renameColumns <- function(rawData){ DDnum <- gsub("X","",DDnum) if (!any(duplicated(pCodes))){ - dataColNames <- pcodeINFO$srsname[which(pcodeINFO$parameter_cd %in% pCodes)] + dataColNames <- pcodeINFO$parameter_nm[which(pcodeINFO$parameter_cd %in% pCodes)] +# dataColNames <- pcodeINFO$srsname[which(pcodeINFO$parameter_cd %in% pCodes)] dataColNames <- paste(dataColNames,statCd,sep="") } else { dataColNames <- rep(NA,length(dataCol_names)) for (i in 1:length(dataCol_names)){ - dataColNames[i] <- pcodeINFO$srsname[which(pcodeINFO$parameter_cd %in% pCodes[i])] + dataColNames[i] <- pcodeINFO$parameter_nm[which(pcodeINFO$parameter_cd %in% pCodes[i])] +# dataColNames[i] <- pcodeINFO$srsname[which(pcodeINFO$parameter_cd %in% pCodes[i])] if((!(pCodes[i] %in% duplicated(pCodes))) && (pCodes[i] != pCodes[anyDuplicated(pCodes)])){ dataColNames[i] <- paste(dataColNames[i],statCd[i],sep="") } else { diff --git a/R/retrieveNWISData.r b/R/retrieveNWISData.r index 4d8399fab2c67618111ce574b2373096af2ee74a..2074576bcd48528f3ccd4fe15ce534cc80f9bede 100644 --- a/R/retrieveNWISData.r +++ b/R/retrieveNWISData.r @@ -1,30 +1,30 @@ #' Raw Data Import for USGS NWIS Data #' #' Imports data from NWIS web service. This function gets the data from here: \url{http://waterservices.usgs.gov/} -#' A list of parameter codes can be found here: \url{http://nwis.waterdata.usgs.gov/nwis/pmcodes/} -#' A list of statistic codes can be found here: \url{http://nwis.waterdata.usgs.gov/nwis/help/?read_file=stat&format=table} +#' A list of parameter codes can be found here: \url{http://help.waterdata.usgs.gov/codes-and-parameters/parameters} +#' A list of statistic codes can be found here: \url{http://help.waterdata.usgs.gov/code/stat_code_query?fmt=html} #' #' @param siteNumber string USGS site number. This is usually an 8 digit number #' @param ParameterCd string USGS parameter code. This is usually an 5 digit number. #' @param StartDate string starting date for data retrieval in the form YYYY-MM-DD. #' @param EndDate string ending date for data retrieval in the form YYYY-MM-DD. #' @param StatCd string USGS statistic code. This is usually 5 digits. Daily mean (00003) is the default. -#' @param format string, can be "tsv" or "xml", and is only applicable for daily and unit value requests. "tsv" returns results faster, but there is a possiblitiy that an incomplete file is returned without warning. XML is slower, -#' but will offer a warning if the file was incomplete (for example, if there was a momentary problem with the internet connection). It is possible to safely use the "tsv" option, -#' but the user must carefully check the results to see if the data returns matches what is expected. The default is "tsv". +#' @param format string, can be 'tsv' or 'xml', and is only applicable for daily and unit value requests. 'tsv' returns results faster, but there is a possiblitiy that an incomplete file is returned without warning. XML is slower, +#' but will offer a warning if the file was incomplete (for example, if there was a momentary problem with the internet connection). It is possible to safely use the 'tsv' option, +#' but the user must carefully check the results to see if the data returns matches what is expected. The default is 'tsv'. #' @param interactive logical Option for interactive mode. If true, there is user interaction for error handling and data checks. -#' @keywords data import USGS web service #' @return data dataframe with agency, site, dateTime, value, and code columns #' @export +#' @keywords data import USGS web service #' @examples #' # These examples require an internet connection to run #' siteNumber <- '04085427' #' startDate <- '2012-01-01' #' endDate <- '2012-06-30' -#' pCode <- "00060" +#' pCode <- '00060' #' rawDailyQ <- retrieveNWISData(siteNumber,pCode, startDate, endDate) #' rawDailyTemperature <- retrieveNWISData(siteNumber,'00010', startDate, endDate, StatCd='00001') -#' rawDailyTemperatureTSV <- retrieveNWISData(siteNumber,'00010', startDate, endDate, StatCd='00001',format="tsv") +#' rawDailyTemperatureTSV <- retrieveNWISData(siteNumber,'00010', startDate, endDate, StatCd='00001',format='tsv') #' rawDailyQAndTempMeanMax <- retrieveNWISData(siteNumber,c('00010','00060'), startDate, endDate, StatCd=c('00001','00003')) retrieveNWISData <- function (siteNumber,ParameterCd,StartDate,EndDate,StatCd="00003",format="tsv",interactive=TRUE){ diff --git a/R/tabbedDataRetrievals.R b/R/tabbedDataRetrievals.R index 50873debbef0e92eea9a0c2e747688c7812a0ee3..f73d9e31e985774c794010eddbbb1a03cd933a75 100644 --- a/R/tabbedDataRetrievals.R +++ b/R/tabbedDataRetrievals.R @@ -45,3 +45,12 @@ NULL #' @author Robert M. Hirsch \email{rhirsch@@usgs.gov} #' @keywords water flow data NULL + +#' List of USGS parameter codes +#' +#' Complete list of USGS parameter codes as of September 25, 2013. +#' +#' @name parameterCdFile +#' @docType data +#' @keywords USGS parameterCd +NULL diff --git a/data/parameterCdFile.RData b/data/parameterCdFile.RData new file mode 100644 index 0000000000000000000000000000000000000000..c7fe1a628834a13776eb098978425e22a49998d5 Binary files /dev/null and b/data/parameterCdFile.RData differ diff --git a/man/getDataAvailability.Rd b/man/getDataAvailability.Rd index 4c45fe760d625a04f65b4243a4bca5882f5abd91..29f79bc3de6cb6b8da103aa493be93de13b5eeaa 100644 --- a/man/getDataAvailability.Rd +++ b/man/getDataAvailability.Rd @@ -2,7 +2,7 @@ \alias{getDataAvailability} \title{USGS data availability} \usage{ - getDataAvailability(siteNumber = "", interactive = TRUE) + getDataAvailability(siteNumber, interactive = TRUE) } \arguments{ \item{siteNumber}{string USGS site number. This is diff --git a/man/parameterCdFile.Rd b/man/parameterCdFile.Rd new file mode 100644 index 0000000000000000000000000000000000000000..d6a4416372af38f5db25592a2026d97b8653f192 --- /dev/null +++ b/man/parameterCdFile.Rd @@ -0,0 +1,12 @@ +\docType{data} +\name{parameterCdFile} +\alias{parameterCdFile} +\title{List of USGS parameter codes} +\description{ + Complete list of USGS parameter codes as of September 25, + 2013. +} +\keyword{USGS} +\keyword{datasets} +\keyword{parameterCd} + diff --git a/man/renameColumns.Rd b/man/renameColumns.Rd index 84bdd5cce4db2ebf7c93a0fd8c24dd3e4533b4a7..2ed426adfd8e344186d20be8211cc1ee62d1546c 100644 --- a/man/renameColumns.Rd +++ b/man/renameColumns.Rd @@ -19,6 +19,9 @@ siteNumber <- '05114000' rawData <- retrieveNWISData(siteNumber,c("00010","00060","00300"),"2001-01-01","2002-01-01",StatCd=c("00001","00003")) rawData <- renameColumns(rawData) +today <- as.character(Sys.Date()) +rawData2 <- retrieveUnitNWISData(siteNumber,c("00010","00060"),today,today) +rawData2 <- renameColumns(rawData2) } \keyword{USGS} \keyword{data} diff --git a/man/retrieveNWISData.Rd b/man/retrieveNWISData.Rd index 43181ce116c3620cc2d8267233d4065e37a3e1ed..bfcd0d82d3684f4687c36973b2b89ec992d7057b 100644 --- a/man/retrieveNWISData.Rd +++ b/man/retrieveNWISData.Rd @@ -22,16 +22,16 @@ \item{StatCd}{string USGS statistic code. This is usually 5 digits. Daily mean (00003) is the default.} - \item{format}{string, can be "tsv" or "xml", and is only - applicable for daily and unit value requests. "tsv" + \item{format}{string, can be 'tsv' or 'xml', and is only + applicable for daily and unit value requests. 'tsv' returns results faster, but there is a possiblitiy that an incomplete file is returned without warning. XML is slower, but will offer a warning if the file was incomplete (for example, if there was a momentary problem with the internet connection). It is possible to safely - use the "tsv" option, but the user must carefully check + use the 'tsv' option, but the user must carefully check the results to see if the data returns matches what is - expected. The default is "tsv".} + expected. The default is 'tsv'.} \item{interactive}{logical Option for interactive mode. If true, there is user interaction for error handling and @@ -45,19 +45,19 @@ Imports data from NWIS web service. This function gets the data from here: \url{http://waterservices.usgs.gov/} A list of parameter codes can be found here: - \url{http://nwis.waterdata.usgs.gov/nwis/pmcodes/} A list - of statistic codes can be found here: - \url{http://nwis.waterdata.usgs.gov/nwis/help/?read_file=stat&format=table} + \url{http://help.waterdata.usgs.gov/codes-and-parameters/parameters} + A list of statistic codes can be found here: + \url{http://help.waterdata.usgs.gov/code/stat_code_query?fmt=html} } \examples{ # These examples require an internet connection to run siteNumber <- '04085427' startDate <- '2012-01-01' endDate <- '2012-06-30' -pCode <- "00060" +pCode <- '00060' rawDailyQ <- retrieveNWISData(siteNumber,pCode, startDate, endDate) rawDailyTemperature <- retrieveNWISData(siteNumber,'00010', startDate, endDate, StatCd='00001') -rawDailyTemperatureTSV <- retrieveNWISData(siteNumber,'00010', startDate, endDate, StatCd='00001',format="tsv") +rawDailyTemperatureTSV <- retrieveNWISData(siteNumber,'00010', startDate, endDate, StatCd='00001',format='tsv') rawDailyQAndTempMeanMax <- retrieveNWISData(siteNumber,c('00010','00060'), startDate, endDate, StatCd=c('00001','00003')) } \keyword{USGS} diff --git a/vignettes/dataRetrieval.Rnw b/vignettes/dataRetrieval.Rnw index 0d5b26812692d4185de896098a06de7bf25a67bd..a5f0489a095d67ab7e4dac61b4aff024ad1666c0 100644 --- a/vignettes/dataRetrieval.Rnw +++ b/vignettes/dataRetrieval.Rnw @@ -301,12 +301,12 @@ An example of plotting the above data (Figure \ref{fig:getNWIStemperaturePlot}): par(mar=c(5,5,5,5)) with(temperatureAndFlow, plot( - datetime, Temperature_water_01, + datetime, Temperature_water_degrees_Celsius_Max_01, xlab="Date",ylab="Temperature [C]" )) par(new=TRUE) with(temperatureAndFlow, plot( - datetime, Stream_flow_mean_daily, + datetime, Discharge_cubic_feet_per_second, col="red",type="l",xaxt="n",yaxt="n",xlab="",ylab="",axes=FALSE )) axis(4,col="red",col.axis="red")