Skip to content
Snippets Groups Projects
Commit adf56b53 authored by Laura A DeCicco's avatar Laura A DeCicco
Browse files

Updating names.

parent af7ab104
No related branches found
No related tags found
1 merge request!39Overhaul of function names. Move some functionality to EGRET.
......@@ -2,23 +2,23 @@
export(constructNWISURL)
export(constructWQPURL)
export(getNWISData)
export(getNWISDataAvailability)
export(getNWISPcodeInfo)
export(getNWISSiteInfo)
export(getNWISSites)
export(getNWISdvData)
export(getNWISqwData)
export(getNWISunitData)
export(getRDB1Data)
export(getWQPData)
export(getWQPSites)
export(getWQPqwData)
export(getWaterML1Data)
export(getWaterML2Data)
export(importRDB1)
export(importWQP)
export(importWaterML1)
export(importWaterML2)
export(padVariable)
export(parseWQPData)
export(readNWISdata)
export(readNWISdv)
export(readNWISpCode)
export(readNWISqw)
export(readNWISsite)
export(readNWISunit)
export(readWQPdata)
export(readWQPqw)
export(renameColumns)
export(whatNWISData)
export(whatNWISsites)
export(whatWQPsites)
import(RCurl)
import(XML)
import(reshape2)
......
......@@ -21,14 +21,14 @@ dataRetrieval 1.3.3
* Updated getNWISSiteInfo to retrieve multiple site file datasets at once using a vector of siteNumbers as input argument.
* Updated error-handling for Web service calls. More information is returned when errors happen
* Added some basic processing to Water Quality Portal raw data retrievals. Date columns are returned as Date objects, value columns are numeric, and a column is created from the date/time/timezone columns that is POSIXct.
* Added very generalized NWIS and WQP retrieval functions (getNWISData, getNWISSites, getGeneralWQPData, and getWQPSites) which allow the user to use any argument available on the Web service platform.
* Added very generalized NWIS and WQP retrieval functions (getNWISData, getNWISSites, getGeneralWQPData, and whatWQPsites) which allow the user to use any argument available on the Web service platform.
dataRetrieval 1.3.2
===========
* Deprecated getQWData, updated getWQPData to take either parameter code or characteristic name.
* Changed the name of raw data retrievals to: getNWISqwData, getNWISunitData, getNWISdvData, and getWQPqwData (from: getNWISqwData, retrieveUnitNWISData, retrieveNWISData, getRawQWData)
* Deprecated getQWData, updated readWQPdata to take either parameter code or characteristic name.
* Changed the name of raw data retrievals to: readNWISqw, getNWISunitData, getNWISdvData, and getWQPqwData (from: readNWISqw, retrieveUnitNWISData, retrieveNWISData, getRawQWData)
* Added NA warning to getDVData function
* Updated mergeReport to allow for Sample data with different measurements taken on the same day
......@@ -53,4 +53,4 @@ dataRetrieval 1.2.1
* Expanded the capabilities to retrieve raw data from the web services.
* Added Storet data retrievals in getWQPData function
* Added Storet data retrievals in readWQPdata function
......@@ -10,9 +10,9 @@
#' @return retval dataframe
#' @export
#' @examples
#' dataTemp <- getNWISData(stateCd="OH",parameterCd="00010")
#' dataTempUnit <- getNWISData(sites="03086500", service="iv", parameterCd="00010")
getNWISData <- function(service="dv", ...){
#' dataTemp <- readNWISdata(stateCd="OH",parameterCd="00010")
#' dataTempUnit <- readNWISdata(sites="03086500", service="iv", parameterCd="00010")
readNWISdata <- function(service="dv", ...){
matchReturn <- list(...)
......@@ -27,6 +27,6 @@ getNWISData <- function(service="dv", ...){
urlCall <- paste0(urlCall,"&siteOutput=expanded")
}
retval <- getRDB1Data(urlCall)
retval <- importRDB1(urlCall)
return(retval)
}
......@@ -9,12 +9,11 @@
#' @export
#' @import RCurl
#' @examples
#' # These examples require an internet connection to run
#' availableData <- getNWISDataAvailability('05114000')
#' availableData <- whatNWISData('05114000')
#' # To find just unit value ('instantaneous') data:
#' uvData <- getNWISDataAvailability('05114000',type="uv")
#' uvDataMulti <- getNWISDataAvailability(c('05114000','09423350'),type="uv")
getNWISDataAvailability <- function(siteNumber,type=c("uv","dv","qw")){
#' uvData <- whatNWISData('05114000',type="uv")
#' uvDataMulti <- whatNWISData(c('05114000','09423350'),type="uv")
whatNWISData <- function(siteNumber,type=c("uv","dv","qw")){
siteNumber <- paste(siteNumber,collapse=",")
......
......@@ -9,8 +9,8 @@
#' @export
#' @examples
#' # These examples require an internet connection to run
#' paramINFO <- getNWISPcodeInfo(c('01075','00060','00931'))
getNWISPcodeInfo <- function(parameterCd){
#' paramINFO <- readNWISpCode(c('01075','00060','00931'))
readNWISpCode <- function(parameterCd){
parameterCdFile <- parameterCdFile
......
......@@ -8,9 +8,9 @@
#' @export
#' @examples
#' # These examples require an internet connection to run
#' siteINFO <- getNWISSiteInfo('05114000')
#' siteINFOMulti <- getNWISSiteInfo(c('05114000','09423350'))
getNWISSiteInfo <- function(siteNumber){
#' siteINFO <- readNWISsite('05114000')
#' siteINFOMulti <- readNWISsite(c('05114000','09423350'))
readNWISsite <- function(siteNumber){
siteNumber <- paste(siteNumber,collapse=",")
urlSitefile <- paste("http://waterservices.usgs.gov/nwis/site/?format=rdb&siteOutput=Expanded&sites=",siteNumber,sep = "")
......
......@@ -10,8 +10,8 @@
#' @export
#' @import XML
#' @examples
#' siteListPhos <- getNWISSites(stateCd="OH",parameterCd="00665")
getNWISSites <- function(...){
#' siteListPhos <- whatNWISsites(stateCd="OH",parameterCd="00665")
whatNWISsites <- function(...){
matchReturn <- list(...)
......
......@@ -16,29 +16,28 @@
#' @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'
#' rawDailyQ <- getNWISdvData(siteNumber,pCode, startDate, endDate)
#' rawDailyTemperature <- getNWISdvData(siteNumber,'00010',
#' rawDailyQ <- readNWISdv(siteNumber,pCode, startDate, endDate)
#' rawDailyTemperature <- readNWISdv(siteNumber,'00010',
#' startDate, endDate, statCd='00001')
#' rawDailyTemperatureTSV <- getNWISdvData(siteNumber,'00010',
#' rawDailyTemperatureTSV <- readNWISdv(siteNumber,'00010',
#' startDate, endDate, statCd='00001',format='tsv')
#' rawDailyQAndTempMeanMax <- getNWISdvData(siteNumber,c('00010','00060'),
#' rawDailyQAndTempMeanMax <- readNWISdv(siteNumber,c('00010','00060'),
#' startDate, endDate, statCd=c('00001','00003'))
#' rawDailyMultiSites<- getNWISdvData(c("01491000","01645000"),c('00010','00060'),
#' rawDailyMultiSites<- readNWISdv(c("01491000","01645000"),c('00010','00060'),
#' startDate, endDate, statCd=c('00001','00003'))
getNWISdvData <- function (siteNumber,parameterCd,startDate,endDate,statCd="00003",format="tsv"){
readNWISdv <- function (siteNumber,parameterCd,startDate,endDate,statCd="00003",format="tsv"){
url <- constructNWISURL(siteNumber,parameterCd,startDate,endDate,"dv",statCd=statCd,format=format)
if (format == "xml") {
data <- getWaterML1Data(url)
data <- importWaterML1(url)
data$datetime <- as.Date(data$datetime)
} else {
data <- getRDB1Data(url,asDateTime=FALSE)
data <- importRDB1(url,asDateTime=FALSE)
}
return (data)
......
......@@ -15,21 +15,20 @@
#' @return data dataframe with agency, site, dateTime, value, and code columns
#' @export
#' @import reshape2
#' @seealso \code{\link{getWQPData}}, \code{\link{getWQPSites}},
#' \code{\link{getWQPqwData}}, \code{\link{constructNWISURL}}
#' @seealso \code{\link{readWQPdata}}, \code{\link{whatWQPsites}},
#' \code{\link{readWQPqw}}, \code{\link{constructNWISURL}}
#' @examples
#' # These examples require an internet connection to run
#' siteNumber <- c('04024430','04024000')
#' startDate <- '2010-01-01'
#' endDate <- ''
#' pCodes <- c('34247','30234','32104','34220')
#' rawNWISqwData <- getNWISqwData(siteNumber,pCodes,startDate,endDate)
#' rawNWISqwDataExpand <- getNWISqwData(siteNumber,pCodes,startDate,endDate,expanded=TRUE)
getNWISqwData <- function (siteNumber,pCodes,startDate,endDate,expanded=FALSE){
#' rawNWISqwData <- readNWISqw(siteNumber,pCodes,startDate,endDate)
#' rawNWISqwDataExpand <- readNWISqw(siteNumber,pCodes,startDate,endDate,expanded=TRUE)
readNWISqw <- function (siteNumber,pCodes,startDate,endDate,expanded=FALSE){
url <- constructNWISURL(siteNumber,pCodes,startDate,endDate,"qw",expanded=expanded)
data <- getRDB1Data(url,asDateTime=TRUE, qw=TRUE)
data <- importRDB1(url,asDateTime=TRUE, qw=TRUE)
if(expanded){
columnsToMelt <- c("agency_cd","site_no","sample_dt","sample_tm",
......
......@@ -20,17 +20,17 @@
#' startDate <- "2014-10-10"
#' endDate <- "2014-10-10"
#' # These examples require an internet connection to run
#' rawData <- getNWISunitData(siteNumber,parameterCd,startDate,endDate)
#' rawData <- readNWISunit(siteNumber,parameterCd,startDate,endDate)
#' summary(rawData)
#' rawData2 <- getNWISunitData(siteNumber,parameterCd,startDate,endDate,"tsv")
#' rawData2 <- readNWISunit(siteNumber,parameterCd,startDate,endDate,"tsv")
#' summary(rawData2)
getNWISunitData <- function (siteNumber,parameterCd,startDate,endDate,format="xml"){
readNWISunit <- function (siteNumber,parameterCd,startDate,endDate,format="xml"){
url <- constructNWISURL(siteNumber,parameterCd,startDate,endDate,"uv",format=format)
if (format == "xml") {
data <- getWaterML1Data(url)
data <- importWaterML1(url)
} else {
data <- getRDB1Data(url,asDateTime=TRUE)
data <- importRDB1(url,asDateTime=TRUE)
}
return (data)
......
......@@ -16,14 +16,14 @@
#' property <- "00060"
#' obs_url <- constructNWISURL(siteNumber,property,
#' startDate,endDate,"dv",format="tsv")
#' data <- getRDB1Data(obs_url)
#' data <- importRDB1(obs_url)
#' urlMulti <- constructNWISURL("04085427",c("00060","00010"),
#' startDate,endDate,"dv",statCd=c("00003","00001"),"tsv")
#' multiData <- getRDB1Data(urlMulti)
#' multiData <- importRDB1(urlMulti)
#' unitDataURL <- constructNWISURL(siteNumber,property,
#' "2014-10-10","2014-10-10","uv",format="tsv")
#' unitData <- getRDB1Data(unitDataURL, asDateTime=TRUE)
getRDB1Data <- function(obs_url,asDateTime=FALSE, qw=FALSE){
#' unitData <- importRDB1(unitDataURL, asDateTime=TRUE)
importRDB1 <- function(obs_url,asDateTime=FALSE, qw=FALSE){
retval = tryCatch({
h <- basicHeaderGatherer()
......
......@@ -11,9 +11,9 @@
#' @examples
#' \dontrun{
#' nameToUse <- "pH"
#' pHData <- getWQPData(siteid="USGS-04024315",characteristicName=nameToUse)
#' pHData <- readWQPdata(siteid="USGS-04024315",characteristicName=nameToUse)
#' }
getWQPData <- function(...){
readWQPdata <- function(...){
matchReturn <- list(...)
......@@ -36,7 +36,7 @@ getWQPData <- function(...){
urlCall,
"&mimeType=tsv",sep = "")
retVal <- parseWQPData(urlCall)
retVal <- importWQP(urlCall)
return(retVal)
}
\ No newline at end of file
......@@ -9,12 +9,13 @@
#' (subsequent qualifier/value columns could follow depending on requested parameter codes)
#' @export
#' @examples
#'
#' site1 <- whatWQPsites(siteid="USGS-01594440")
#' \dontrun{
#' site1 <- getWQPSites(siteid="USGS-01594440")
#' type <- "Stream"
#' sites <- getWQPSites(statecode="US:55",countycode="US:55:025",siteType=type)
#' sites <- whatWQPsites(statecode="US:55",countycode="US:55:025",siteType=type)
#' }
getWQPSites <- function(...){
whatWQPsites <- function(...){
matchReturn <- list(...)
......
......@@ -17,16 +17,16 @@
#' start and end times.
#' @export
#' @import RCurl
#' @seealso \code{\link{getWQPData}}, \code{\link{getWQPSites}},
#' \code{\link{getNWISqwData}}, and \code{\link{parseWQPData}}
#' @seealso \code{\link{readWQPdata}}, \code{\link{whatWQPsites}},
#' \code{\link{readNWISqw}}, and \code{\link{importWQP}}
#' @examples
#' rawPcode <- getWQPqwData('USGS-01594440','01075', '1985-01-01', '1985-03-31')
#' rawCharacteristicName <- getWQPqwData('WIDNR_WQX-10032762','Specific conductance', '', '')
#' rawPcode <- readWQPqw('USGS-01594440','01075', '1985-01-01', '1985-03-31')
#' rawCharacteristicName <- readWQPqw('WIDNR_WQX-10032762','Specific conductance', '', '')
#'
getWQPqwData <- function(siteNumber,parameterCd,startDate,endDate){
readWQPqw <- function(siteNumber,parameterCd,startDate,endDate){
url <- constructWQPURL(siteNumber,parameterCd,startDate,endDate)
retVal <- parseWQPData(url)
retVal <- importWQP(url)
return(retVal)
}
......@@ -15,20 +15,20 @@
#' property <- '00060'
#' urlBase <- "http://waterservices.usgs.gov/nwis"
#' obs_url <- constructNWISURL(siteNumber,property,startDate,endDate,'dv')
#' data <- getWaterML1Data(obs_url)
#' data <- importWaterML1(obs_url)
#' urlMulti <- constructNWISURL("04085427",c("00060","00010"),
#' startDate,endDate,'dv',statCd=c("00003","00001"))
#' multiData <- getWaterML1Data(urlMulti)
#' multiData <- importWaterML1(urlMulti)
#' groundWaterSite <- "431049071324301"
#' startGW <- "2013-10-01"
#' endGW <- "2014-06-30"
#' groundwaterExampleURL <- constructNWISURL(groundWaterSite, NA,
#' startGW,endGW, service="gwlevels", format="xml")
#' groundWater <- getWaterML1Data(groundwaterExampleURL)
#' groundWater <- importWaterML1(groundwaterExampleURL)
#' unitDataURL <- constructNWISURL(siteNumber,property,
#' "2014-10-10","2014-10-10",'uv',format='xml')
#' unitData <- getWaterML1Data(unitDataURL)
getWaterML1Data <- function(obs_url){
#' unitData <- importWaterML1(unitDataURL)
importWaterML1 <- function(obs_url){
h <- basicHeaderGatherer()
doc = tryCatch({
......
......@@ -14,8 +14,8 @@
#' "endDT=2014-09-08",
#' "statCd=00003",
#' "parameterCd=00060",sep="&")
#' \dontrun{dataReturned3 <- getWaterML2Data(URL)}
getWaterML2Data <- function(obs_url){
#' \dontrun{dataReturned3 <- importWaterML2(URL)}
importWaterML2 <- function(obs_url){
h <- basicHeaderGatherer()
doc = tryCatch({
......
......@@ -13,9 +13,9 @@
#'
#' ## Examples take longer than 5 seconds:
#' rawSampleURL <- constructWQPURL('USGS-01594440','01075', '1985-01-01', '1985-03-31')
#' rawSample <- parseWQPData(rawSampleURL)
#' rawSample <- importWQP(rawSampleURL)
#'
parseWQPData <- function(url){
importWQP <- function(url){
h <- basicHeaderGatherer()
......
......@@ -9,11 +9,11 @@
#' @examples
#' # This example requires an internet connection to run
#' siteNumber <- '05114000'
#' rawData <- getNWISdvData(siteNumber,c("00010","00060","00300"),
#' rawData <- readNWISdv(siteNumber,c("00010","00060","00300"),
#' "2001-01-01","2002-01-01",statCd=c("00001","00003"))
#' rawData <- renameColumns(rawData)
#' date <- "2014-10-10"
#' rawData2 <- getNWISunitData(siteNumber,c("00010","00060"),date,date)
#' rawData2 <- readNWISunit(siteNumber,c("00010","00060"),date,date)
#' rawData2 <- renameColumns(rawData2)
#' head(rawData2)
renameColumns <- function(rawData){
......@@ -27,7 +27,7 @@ renameColumns <- function(rawData){
pCodes <- sapply(strsplit(dataCol_names, "_"), function(x) x[2])
statCd <- sapply(strsplit(dataCol_names, "_"), function(x) x[3])
pcodeINFO <- getNWISPcodeInfo(pCodes)
pcodeINFO <- readNWISpCode(pCodes)
multipleCodes <- anyDuplicated(pCodes)
statCd <- sub("00001", "_Max", statCd)
......
......@@ -14,12 +14,14 @@ Retrieval functions for USGS and EPA hydrologic and water quality data.
| -------------| -------------| ------------- |:-------------|
|NWIS | `getNWISSites` | `getNWISSiteInfo`| `getNWISData` |
| | `getNWISDataAvailability` | | `getNWISdvData` |
| | | `getNWISPcodeInfo` | `getNWISqwData`|
| | | `getNWISPcodeInfo` | `readNWISqw`|
| | | | `getNWISunitData` |
| Water Quality Portal | `getWQPSites` | | `getWQPData` |
| Water Quality Portal* | `whatWQPsites` | | `readWQPdata` |
| | | | `getWQPqwData` |
* Water Quality Portal includes USGS, EPA, and USDA data
Moving `EGRET` specific functions to `EGRET` (version 2.0.0 and greater):
......@@ -53,7 +55,10 @@ To install the dataRetrieval package, you must be using R 3.0 or greater and run
---------------
###dataRetrieval 1.5.0
Changing naming convention one last time. Migrating `EGRET` specific retrievals to `EGRET`.
* Changing naming convention one last time. Migrating `EGRET` specific retrievals to `EGRET`.
* Added back WaterML2 parsing tool
* Added specific groundwater, rating, peak, and surfacewater measurement functions
......@@ -82,13 +87,13 @@ Changed naming convention:
* Updated getNWISSiteInfo to retrieve multiple site file datasets at once using a vector of siteNumbers as input argument.
* Updated error-handling for Web service calls. More information is returned when errors happen
* Added some basic processing to Water Quality Portal raw data retrievals. Date columns are returned as Date objects, value columns are numeric, and a column is created from the date/time/timezone columns that is POSIXct.
* Added very generalized NWIS and WQP retrieval functions (getNWISData, getNWISSites, getGeneralWQPData, and getWQPSites) which allow the user to use any argument available on the Web service platform.
* Added very generalized NWIS and WQP retrieval functions (getNWISData, getNWISSites, getGeneralWQPData, and whatWQPsites) which allow the user to use any argument available on the Web service platform.
###dataRetrieval 1.3.2
* Deprecated getQWData, updated getWQPData to take either parameter code or characteristic name.
* Changed the name of raw data retrievals to: getNWISqwData, getNWISunitData, getNWISdvData, and getWQPqwData (from: getNWISqwData, retrieveUnitNWISData, retrieveNWISData, getRawQWData)
* Deprecated getQWData, updated readWQPdata to take either parameter code or characteristic name.
* Changed the name of raw data retrievals to: readNWISqw, getNWISunitData, getNWISdvData, and getWQPqwData (from: readNWISqw, retrieveUnitNWISData, retrieveNWISData, getRawQWData)
* Added NA warning to getDVData function
* Updated mergeReport to allow for Sample data with different measurements taken on the same day
......
## ----openLibrary, echo=FALSE------------------------------
library(xtable)
options(continue=" ")
options(width=60)
library(knitr)
## ----include=TRUE ,echo=FALSE,eval=TRUE-------------------
opts_chunk$set(highlight=TRUE, tidy=TRUE, keep.space=TRUE, keep.blank.space=FALSE, keep.comment=TRUE, tidy=FALSE,comment="")
knit_hooks$set(inline = function(x) {
if (is.numeric(x)) round(x, 3)})
knit_hooks$set(crop = hook_pdfcrop)
bold.colHeaders <- function(x) {
x <- gsub("\\^(\\d)","$\\^\\1$",x)
x <- gsub("\\%","\\\\%",x)
x <- gsub("\\_"," ",x)
returnX <- paste("\\multicolumn{1}{c}{\\textbf{\\textsf{", x, "}}}", sep = "")
}
addSpace <- function(x) ifelse(x != "1", "[5pt]","")
## ----workflow, echo=TRUE,eval=FALSE-----------------------
# library(dataRetrieval)
# # Choptank River near Greensboro, MD
# siteNumber <- "01491000"
# ChoptankInfo <- getNWISSiteInfo(siteNumber)
# parameterCd <- "00060"
#
# #Raw daily data:
# rawDailyData <- getNWISdvData(siteNumber,parameterCd,
# "1980-01-01","2010-01-01")
# # Data compiled for EGRET analysis
# Daily <- getNWISDaily(siteNumber,parameterCd,
# "1980-01-01","2010-01-01")
#
# # Sample data Nitrate:
# parameterCd <- "00618"
# Sample <- getNWISSample(siteNumber,parameterCd,
# "1980-01-01","2010-01-01")
#
# # Metadata on site and nitrate:
# INFO <- getNWISInfo(siteNumber,parameterCd)
#
# # Merge discharge and nitrate data to one dataframe:
# Sample <- mergeReport()
#
## ----tableParameterCodes, echo=FALSE,results='asis'-------
pCode <- c('00060', '00065', '00010','00045','00400')
shortName <- c("Discharge [ft$^3$/s]","Gage height [ft]","Temperature [C]", "Precipitation [in]", "pH")
data.df <- data.frame(pCode, shortName, stringsAsFactors=FALSE)
print(xtable(data.df,
label="tab:params",
caption="Common USGS Parameter Codes"),
caption.placement="top",
size = "\\footnotesize",
latex.environment=NULL,
sanitize.text.function = function(x) {x},
sanitize.colnames.function = bold.colHeaders,
sanitize.rownames.function = addSpace
)
## ----tableParameterCodesDataRetrieval---------------------
library(dataRetrieval)
parameterCdFile <- parameterCdFile
names(parameterCdFile)
## ----tableStatCodes, echo=FALSE,results='asis'------------
StatCode <- c('00001', '00002', '00003','00008')
shortName <- c("Maximum","Minimum","Mean", "Median")
data.df <- data.frame(StatCode, shortName, stringsAsFactors=FALSE)
print(xtable(data.df,label="tab:stat",
caption="Commonly used USGS Stat Codes"),
caption.placement="top",
size = "\\footnotesize",
latex.environment=NULL,
sanitize.colnames.function = bold.colHeaders,
sanitize.rownames.function = addSpace
)
## ----getSite, echo=TRUE-----------------------------------
siteNumbers <- c("01491000","01645000")
siteINFO <- getNWISSiteInfo(siteNumbers)
## ----siteNames2, echo=TRUE--------------------------------
siteINFO$station.nm
## ----getSiteExtended, echo=TRUE---------------------------
# Continuing from the previous example:
# This pulls out just the daily data:
dailyDataAvailable <- getNWISDataAvailability(siteNumbers,
type="dv")
## ----tablegda, echo=FALSE,results='asis'------------------
tableData <- with(dailyDataAvailable,
data.frame(
siteNumber= site_no,
srsname=srsname,
startDate=as.character(startDate),
endDate=as.character(endDate),
count=as.character(count),
units=parameter_units,
statCd = statCd,
stringsAsFactors=FALSE)
)
tableData$units[which(tableData$units == "ft3/s")] <- "ft$^3$/s"
tableData$units[which(tableData$units == "uS/cm @25C")] <- "$\\mu$S/cm @25C"
print(xtable(tableData,label="tab:gda",
caption="Daily mean data availabile at the Choptank River near Greensboro, MD. [Some columns deleted for space considerations]"),
caption.placement="top",
size = "\\footnotesize",
latex.environment=NULL,
sanitize.text.function = function(x) {x},
sanitize.colnames.function = bold.colHeaders,
sanitize.rownames.function = addSpace
)
## ----label=getPCodeInfo, echo=TRUE------------------------
# Using defaults:
parameterCd <- "00618"
parameterINFO <- getNWISPcodeInfo(parameterCd)
colnames(parameterINFO)
## ----siteNames, echo=TRUE---------------------------------
parameterINFO$parameter_nm
## ----label=getNWISDaily, echo=TRUE, eval=TRUE-------------
# Continuing with our Choptank River example
siteNumber <- "01491000"
parameterCd <- "00060" # Discharge
startDate <- "" # Will request earliest date
endDate <- "" # Will request latest date
discharge <- getNWISdvData(siteNumber,
parameterCd, startDate, endDate)
names(discharge)
## ----label=getNWIStemperature, echo=TRUE------------------
parameterCd <- c("00010","00060") # Temperature and discharge
statCd <- c("00001","00003") # Mean and maximum
startDate <- "2012-01-01"
endDate <- "2012-05-01"
temperatureAndFlow <- getNWISdvData(siteNumber, parameterCd,
startDate, endDate, statCd=statCd)
## ----label=renameColumns, echo=TRUE-----------------------
names(temperatureAndFlow)
temperatureAndFlow <- renameColumns(temperatureAndFlow)
names(temperatureAndFlow)
## ----getNWIStemperaturePlot, echo=TRUE, fig.cap="Temperature and discharge plot of Choptank River in 2012.",out.width='1\\linewidth',out.height='1\\linewidth',fig.show='hold'----
par(mar=c(5,5,5,5)) #sets the size of the plot window
with(temperatureAndFlow, plot(
datetime, Temperature_water_degrees_Celsius_Max_01,
xlab="Date",ylab="Max Temperature [C]"
))
par(new=TRUE)
with(temperatureAndFlow, plot(
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")
mtext(expression(paste("Mean Discharge [ft"^"3","/s]",
sep="")),side=4,line=3,col="red")
title(paste(siteINFO$station.nm[1],"2012",sep=" "))
legend("topleft", c("Max Temperature", "Mean Discharge"),
col=c("black","red"),lty=c(NA,1),pch=c(1,NA))
## ----label=getNWISUnit, echo=TRUE-------------------------
parameterCd <- "00060" # Discharge
startDate <- "2012-05-12"
endDate <- "2012-05-13"
dischargeToday <- getNWISunitData(siteNumber, parameterCd,
startDate, endDate)
## ----dischargeData, echo=FALSE----------------------------
head(dischargeToday)
## ----label=getQW, echo=TRUE-------------------------------
# Dissolved Nitrate parameter codes:
parameterCd <- c("00618","71851")
startDate <- "1985-10-01"
endDate <- "2012-09-30"
dissolvedNitrate <- getNWISqwData(siteNumber, parameterCd,
startDate, endDate, expanded=TRUE)
names(dissolvedNitrate)
## ----getQWtemperaturePlot, echo=TRUE, fig.cap=paste(parameterINFO$parameter_nm, "at", siteINFO$station.nm[1])----
with(dissolvedNitrate, plot(
startDateTime, result_va_00618,
xlab="Date",ylab = paste(parameterINFO$srsname,
"[",parameterINFO$parameter_units,"]")
))
title(siteINFO$station.nm[1])
## ----label=geturl, echo=TRUE, eval=FALSE------------------
# # Dissolved Nitrate parameter codes:
# pCode <- c("00618","71851")
# startDate <- "1964-06-11"
# endDate <- "2012-12-18"
# url_qw <- constructNWISURL(siteNumber,pCode,startDate,endDate,'qw')
# url_dv <- constructNWISURL(siteNumber,"00060",startDate,endDate,
# 'dv',statCd="00003")
# url_uv <- constructNWISURL(siteNumber,"00060",startDate,endDate,'uv')
## ----label=getQWData, echo=TRUE, eval=FALSE---------------
# specificCond <- getWQPqwData('WIDNR_WQX-10032762',
# 'Specific conductance','2011-05-01','2011-09-30')
## ----siteSearch-------------------------------------------
sites <- getNWISSites(bBox="-83.0,36.5,-81.0,38.5",
parameterCd="00010,00060",
hasDataTypeCd="dv")
names(sites)
nrow(sites)
## ----dataExample------------------------------------------
dischargeWI <- getNWISData(stateCd="WI",
parameterCd="00060",
drainAreaMin="50",
statCd="00003")
names(dischargeWI)
nrow(dischargeWI)
## ----NJChloride, eval=FALSE-------------------------------
#
# sitesNJ <- getWQPSites(statecode="US:34",
# characteristicName="Chloride")
#
## ----phData, eval=FALSE-----------------------------------
#
# dataPH <- getWQPData(statecode="US:55",
# characteristicName="pH")
#
## ----helpFunc,eval = FALSE--------------------------------
# ?getNWISPcodeInfo
## ----rawFunc,eval = TRUE----------------------------------
getNWISPcodeInfo
## ----seeVignette,eval = FALSE-----------------------------
# vignette(dataRetrieval)
## ----installFromCran,eval = FALSE-------------------------
# install.packages("dataRetrieval",
# repos=c("http://usgs-r.github.com","http://cran.us.r-project.org"),
# dependencies=TRUE,
# type="both")
## ----openLibraryTest, eval=FALSE--------------------------
# library(dataRetrieval)
## ----label=getSiteApp, echo=TRUE--------------------------
availableData <- getNWISDataAvailability(siteNumber)
dailyData <- availableData["dv" == availableData$service,]
dailyData <- dailyData["00003" == dailyData$statCd,]
tableData <- with(dailyData,
data.frame(
shortName=srsname,
Start=startDate,
End=endDate,
Count=count,
Units=parameter_units)
)
tableData
## ----label=saveData, echo=TRUE, eval=FALSE----------------
# write.table(tableData, file="tableData.tsv",sep="\t",
# row.names = FALSE,quote=FALSE)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment