diff --git a/DESCRIPTION b/DESCRIPTION
index 366ef81c30ee2c6654577de9d4fced1f896a3c52..81898c56dafcf3717e470d306dd928e7318c1447 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -30,4 +30,6 @@ Suggests:
     testthat
 LazyLoad: yes
 LazyData: yes
+VignetteBuilder: knitr
+BuildVignettes: true
 Additional_repositories: http://usgs-r.github.com
diff --git a/inst/doc/dataRetrieval.R b/inst/doc/dataRetrieval.R
index 3d1418521722a21f1bcfb6bee2535609a2cb32b1..e6937e55c196fe9e8a41fb4665b893f69d51d005 100644
--- a/inst/doc/dataRetrieval.R
+++ b/inst/doc/dataRetrieval.R
@@ -258,120 +258,11 @@ nrow(dischargeWI)
 #                   characteristicName="pH")
 #  
 
-## ----ThirdExample-----------------------------------------
-parameterCd <- "00618"
-INFO <- getNWISInfo(siteNumber,parameterCd, interactive=FALSE)
-
-## ----WQPInfo, eval=FALSE----------------------------------
-#  parameterCd <- "00618"
-#  INFO_WQP <- getWQPInfo("USGS-01491000",parameterCd)
-
-## ----addInfo, eval=TRUE, echo=TRUE------------------------
-
-INFO$riverInfo <- "Major tributary of the Chesapeake Bay"
-INFO$GreensboroPopulation <- 1931
-
-
-## ----firstExample-----------------------------------------
-siteNumber <- "01491000"
-startDate <- "2000-01-01"
-endDate <- "2013-01-01"
-# This call will get NWIS (ft3/s) data , and convert it to m3/s:
-Daily <- getNWISDaily(siteNumber, "00060", startDate, endDate)
-
-## ----colNamesDaily, echo=FALSE,results='asis'-------------
-ColumnName <- c("Date", "Q", "Julian","Month","Day","DecYear","MonthSeq","Qualifier","i","LogQ","Q7","Q30")
-Type <- c("Date", "number", "number","integer","integer","number","integer","string","integer","number","number","number")
-Description <- c("Date", "Discharge in m$^3$/s", "Number of days since January 1, 1850", "Month of the year [1-12]", "Day of the year [1-366]", "Decimal year", "Number of months since January 1, 1850", "Qualifying code", "Index of days, starting with 1", "Natural logarithm of Q", "7 day running average of Q", "30 day running average of Q")
-Units <- c("date", "m$^3$/s","days", "months","days","years","months", "character","days","numeric","m$^3$/s","m$^3$/s")
-
-DF <- data.frame(ColumnName,Type,Description,Units)
-
-print(xtable(DF, caption="Daily dataframe",label="tab:DailyDF1"),
-       caption.placement="top",
-       size = "\\footnotesize",
-       latex.environment=NULL,
-       sanitize.text.function = function(x) {x},
-       sanitize.colnames.function =  bold.colHeaders,
-       sanitize.rownames.function = addSpace
-       
-      )
-
-
-## ----secondExample----------------------------------------
-parameterCd <- "00618"
-Sample <-getNWISSample(siteNumber,parameterCd,
-      startDate, endDate)
-
-## ----STORET,echo=TRUE,eval=FALSE--------------------------
-#  site <- 'WIDNR_WQX-10032762'
-#  characteristicName <- 'Specific conductance'
-#  Sample <-getWQPSample(site,characteristicName,
-#        startDate, endDate)
-
-## ----label=tab:exampleComplexQW, echo=FALSE, eval=TRUE,results='asis'----
-cdate <- c("2003-02-15","2003-06-30","2004-09-15","2005-01-30","2005-05-30","2005-10-30")
-rdp <- c("", "<","<","","","")
-dp <- c(0.02,0.01,0.005,NA,NA,NA)
-rpp <- c("", "","<","","","")
-pp <- c(0.5,0.3,0.2,NA,NA,NA)
-rtp <- c("","","","","<","<")
-tp <- c(NA,NA,NA,0.43,0.05,0.02)
-
-DF <- data.frame(cdate,rdp,dp,rpp,pp,rtp,tp,stringsAsFactors=FALSE)
-
-xTab <- xtable(DF, caption="Example data",digits=c(0,0,0,3,0,3,0,3),label="tab:exampleComplexQW")
-
-print(xTab,
-       caption.placement="top",
-       size = "\\footnotesize",
-       latex.environment=NULL,
-       sanitize.colnames.function =  bold.colHeaders,
-       sanitize.rownames.function = addSpace
-      )
-
-
-## ----thirdExample,echo=FALSE------------------------------
-  compressedData <- compressData(DF)
-  Sample <- populateSampleColumns(compressedData)
-
-## ----thirdExampleView,echo=TRUE---------------------------
-  Sample
-
-## ----openDaily, eval = FALSE------------------------------
-#  fileName <- "ChoptankRiverFlow.txt"
-#  filePath <-  "C:/RData/"
-#  Daily <-getFileDaily(filePath,fileName,
-#                      separator="\t")
-
-## ----openSample, eval = FALSE-----------------------------
-#  fileName <- "ChoptankRiverNitrate.csv"
-#  filePath <-  "C:/RData/"
-#  Sample <-getUserSample(filePath,fileName,
-#                                  separator=",")
-
-## ----openSample2, eval = FALSE----------------------------
-#  fileName <- "ChoptankPhosphorus.txt"
-#  filePath <-  "C:/RData/"
-#  Sample <-getUserSample(filePath,fileName,
-#                                  separator="\t")
-
-## ----mergeExample-----------------------------------------
-siteNumber <- "01491000"
-parameterCd <- "00631"  # Nitrate
-startDate <- "2000-01-01"
-endDate <- "2013-01-01"
-
-Daily <- getNWISDaily(siteNumber, "00060", startDate, endDate)
-Sample <- getNWISSample(siteNumber,parameterCd, startDate, endDate)
-Sample <- mergeReport(Daily,Sample)
-names(Sample)
-
 ## ----helpFunc,eval = FALSE--------------------------------
-#  ?removeDuplicates
+#  ?getNWISPcodeInfo
 
 ## ----rawFunc,eval = TRUE----------------------------------
-removeDuplicates
+getNWISPcodeInfo
 
 ## ----seeVignette,eval = FALSE-----------------------------
 #  vignette(dataRetrieval)
diff --git a/inst/doc/dataRetrieval.Rnw b/inst/doc/dataRetrieval.Rnw
index bc52720f90eaacf7ffe93f134999ff849f5be8b5..866a27962dd18beeeec2a8ca3101bc99b3a4ab93 100644
--- a/inst/doc/dataRetrieval.Rnw
+++ b/inst/doc/dataRetrieval.Rnw
@@ -661,485 +661,6 @@ dataPH <- getWQPData(statecode="US:55",
 
 \FloatBarrier
 
-%------------------------------------------------------------
-\section{Data Retrievals Structured For Use In The EGRET Package}
-\label{sec:EGRETdfs}
-%------------------------------------------------------------ 
-Rather than using the raw data as retrieved by the Web, the dataRetrieval package also includes functions that return the data in a structure that has been designed to work with the EGRET R package (\url{https://github.com/USGS-R/EGRET/wiki}). In general, these dataframes may be much more \enquote{R-friendly} than the raw data, and will contain additional date information that allows for efficient data analysis.
-
-In this section, we use 3 dataRetrieval functions to get sufficient data to perform an EGRET analysis.  We will continue analyzing the Choptank River. We retrieve essentially the same data that were retrieved in section \ref{sec:genRetrievals}, but in this case the data are structured into three EGRET-specific dataframes.  The daily discharge data are placed in a dataframe called Daily.  The nitrate sample data are placed in a dataframe called Sample.  The data about the site and the parameter are placed in a dataframe called INFO.  Although these dataframes were designed to work with the EGRET R package, they can be very useful for a wide range of hydrology studies that don't use EGRET.
-
-%------------------------------------------------------------
-\subsection{INFO Data}
-\label{INFOsubsection}
-%------------------------------------------------------------
-
-The \texttt{getNWISInfo}, \texttt{getWQPInfo}, and \texttt{getUserInfo} functions obtain metadata, or data about the streamgage and measured parameters. Any number of columns can be included in this dataframe. Table \ref{tab:INFOtable} describes fields are required for EGRET functions. 
-
-\begin{table}[!ht]
-\begin{minipage}{\linewidth}
-{\footnotesize
-\caption{INFO columns required in EGRET functions} 
-\label{tab:INFOtable}
-\begin{tabular}{lll}
-  \hline
-\multicolumn{1}{c}{\textbf{\textsf{Column Name}}} &
-\multicolumn{1}{c}{\textbf{\textsf{Type}}} &
-\multicolumn{1}{c}{\textbf{\textsf{Description}}} \\  [0pt]
-  \hline
-  constitAbbrev & string & Constituent abbreviation, used for saving the workspace in EGRET\\
-  [5pt] drainSqKm & numeric & Drainage area in square kilometers \\
-  [5pt] paramShortName & string & Parameter name to use on graphs \\
-  [5pt] param.units & string & Parameter units \\
-  [5pt] shortName & string & Station name to use on graphs\\
-  [5pt] staAbbrev & string & Station Abbreviation \\
-   \hline
-\end{tabular}
-}
-\end{minipage}
-\end{table}
-
-The function \texttt{getNWISInfo} combines \texttt{getNWISSiteInfo} and \texttt{getNWISPcodeInfo}, producing one dataframe called INFO.
-
-<<ThirdExample>>=
-parameterCd <- "00618"
-INFO <- getNWISInfo(siteNumber,parameterCd, interactive=FALSE)
-@
-
-It is also possible to create the INFO dataframe using information from the Water Quality Portal:
-
-<<WQPInfo, eval=FALSE>>=
-parameterCd <- "00618"
-INFO_WQP <- getWQPInfo("USGS-01491000",parameterCd)
-@
-
-Finally, the function \texttt{getUserInfo} can be used to convert comma separated files into an INFO dataframe. 
-
-Any supplemental column that would be useful can be added to the INFO dataframe. 
-
-<<addInfo, eval=TRUE, echo=TRUE>>=
-
-INFO$riverInfo <- "Major tributary of the Chesapeake Bay"
-INFO$GreensboroPopulation <- 1931
-
-@
-
-
-\FloatBarrier
-
-%------------------------------------------------------------
-\subsection{Daily Data}
-\label{Dailysubsection}
-%------------------------------------------------------------
-The \texttt{getNWISDaily} function retrieves the daily values (discharge in this case).  It requires the inputs siteNumber, parameterCd, startDate, endDate, interactive, and convert. Most of these arguments are described in section \ref{sec:genRetrievals}, however \texttt{"}convert\texttt{"} is a new argument (that defaults to TRUE). The convert argument tells the program to convert the values from cubic feet per second (ft\textsuperscript{3}/s) to cubic meters per second (m\textsuperscript{3}/s) as shown in the example Daily data frame in Table \ref{tab:DailyDF1}. For EGRET applications with NWIS Web retrieval, do not use this argument (the default is TRUE), EGRET assumes that discharge is always stored in units of cubic meters per second. If you don't want this conversion and are not using EGRET, set convert=FALSE in the function call. 
-
-<<firstExample>>=
-siteNumber <- "01491000"
-startDate <- "2000-01-01"
-endDate <- "2013-01-01"
-# This call will get NWIS (ft3/s) data , and convert it to m3/s:
-Daily <- getNWISDaily(siteNumber, "00060", startDate, endDate)
-@
-
-
-
-<<colNamesDaily, echo=FALSE,results='asis'>>=
-ColumnName <- c("Date", "Q", "Julian","Month","Day","DecYear","MonthSeq","Qualifier","i","LogQ","Q7","Q30")
-Type <- c("Date", "number", "number","integer","integer","number","integer","string","integer","number","number","number")
-Description <- c("Date", "Discharge in m$^3$/s", "Number of days since January 1, 1850", "Month of the year [1-12]", "Day of the year [1-366]", "Decimal year", "Number of months since January 1, 1850", "Qualifying code", "Index of days, starting with 1", "Natural logarithm of Q", "7 day running average of Q", "30 day running average of Q")
-Units <- c("date", "m$^3$/s","days", "months","days","years","months", "character","days","numeric","m$^3$/s","m$^3$/s")
-
-DF <- data.frame(ColumnName,Type,Description,Units)
-
-print(xtable(DF, caption="Daily dataframe",label="tab:DailyDF1"),
-       caption.placement="top",
-       size = "\\footnotesize",
-       latex.environment=NULL,
-       sanitize.text.function = function(x) {x},
-       sanitize.colnames.function =  bold.colHeaders,
-       sanitize.rownames.function = addSpace
-       
-      )
-
-@
-
-
-If discharge values are negative or zero, the code will set all of these values to zero and then add a small constant to all of the daily discharge values.  This constant is 0.001 times the mean discharge.  The code will also report on the number of zero and negative values and the size of the constant.  Use EGRET analysis only if the number of zero values is a very small fraction of the total days in the record (say less than 0.1\% of the days), and there are no negative discharge values.  Columns Q7 and Q30 are the 7 and 30 day running averages for the 7 or 30 days ending on this specific date. Table \ref{tab:DailyDF1} lists details of the Daily data frame.
-
-Notice that the \enquote{Day of the year} column can span from 1 to 366. The 366 accounts for leap years. Every day has a consistent day of the year. This means, February 28\textsuperscript{th} is always the 59\textsuperscript{th} day of the year, Feb. 29\textsuperscript{th} is always the 60\textsuperscript{th} day of the year, and March 1\textsuperscript{st} is always the 61\textsuperscript{st} day of the year whether or not it is a leap year.
-
-User-generated Sample dataframes can also be created using the \texttt{getUserDaily} function. This is discused in detail in section \ref{sec:DailyFile}.
-
-\FloatBarrier
-
-%------------------------------------------------------------
-\subsection{Sample Data}
-\label{Samplesubsection}
-%------------------------------------------------------------
-The \texttt{getNWISSample} function retrieves USGS sample data from NWIS. The arguments for this function are also siteNumber, parameterCd, startDate, endDate, interactive. These are the same inputs as \texttt{getWQPqwData} or \texttt{getWQPData} as described in the previous section.
-
-<<secondExample>>=
-parameterCd <- "00618"
-Sample <-getNWISSample(siteNumber,parameterCd,
-      startDate, endDate)
-@
-
-The \texttt{getWQPSample} function retrieves Water Quality Portal sample data (STORET, NWIS, STEWARDS). The arguments for this function are siteNumber, characteristicName, startDate, endDate, interactive. Table \ref{tab:SampleDataframe} lists details of the Sample data frame. 
-
-<<STORET,echo=TRUE,eval=FALSE>>=
-site <- 'WIDNR_WQX-10032762'
-characteristicName <- 'Specific conductance'
-Sample <-getWQPSample(site,characteristicName,
-      startDate, endDate)
-@
-
-User-generated Sample dataframes can also be created using the \texttt{getUserSample} function. This is discused in detail in section \ref{sec:SampleFile}.
-
-\pagebreak
-
-
-\begin{table}
-{\footnotesize
-  \begin{threeparttable}[b]
-  \caption{Sample dataframe}
-  \label{tab:SampleDataframe}
-  \begin{tabular}{llll}
-  \hline
-\multicolumn{1}{c}{\textbf{\textsf{ColumnName}}} & 
-\multicolumn{1}{c}{\textbf{\textsf{Type}}} & 
-\multicolumn{1}{c}{\textbf{\textsf{Description}}} & 
-\multicolumn{1}{c}{\textbf{\textsf{Units}}} \\ 
-  \hline
-  Date & Date & Date & date \\ 
-  [5pt]ConcLow & number & Lower limit of concentration & mg/L \\ 
-  [5pt]ConcHigh & number & Upper limit of concentration & mg/L \\ 
-  [5pt]Uncen & integer & Uncensored data (1=true, 0=false) & integer \\ 
-  [5pt]ConcAve & number & Average of ConcLow and ConcHigh & mg/L \\ 
-  [5pt]Julian & number & Number of days since January 1, 1850 & days \\ 
-  [5pt]Month & integer & Month of the year [1-12] & months \\ 
-  [5pt]Day & integer & Day of the year [1-366] & days \\ 
-  [5pt]DecYear & number & Decimal year & years \\ 
-  [5pt]MonthSeq & integer & Number of months since January 1, 1850 & months \\ 
-  [5pt]SinDY & number & Sine of DecYear & numeric \\ 
-  [5pt]CosDY & number & Cosine of DecYear & numeric \\ 
-  [5pt]Q \tnote{1} & number & Discharge & m\textsuperscript{3}/s \\ 
-  [5pt]LogQ \tnote{1} & number & Natural logarithm of discharge & numeric \\ 
-   \hline
-\end{tabular}
-
-  \begin{tablenotes}
-    \item[1] Discharge columns are populated from data in the Daily dataframe after calling the \texttt{mergeReport} function.
-  \end{tablenotes}
- \end{threeparttable}
-}
-\end{table}
-
-Notice that the \enquote{Day of the year} column can span from 1 to 366. The 366 accounts for leap years. Every day has a consistent day of the year. This means, February 28\textsuperscript{th} is always the 59\textsuperscript{th} day of the year, Feb. 29\textsuperscript{th} is always the 60\textsuperscript{th} day of the year, and March 1\textsuperscript{st} is always the 61\textsuperscript{st} day of the year whether or not it is a leap year.
-
-Section \ref{sec:cenValues} is about summing multiple constituents, including how interval censoring is used. Since the Sample data frame is structured to only contain one constituent, when more than one parameter codes are requested, the \texttt{getNWISSample} function will sum the values of each constituent as described below.
-
-\FloatBarrier
-
-
-%------------------------------------------------------------
-\subsection{Censored Values: Summation Explanation}
-\label{sec:cenValues}
-%------------------------------------------------------------
-In the typical case where none of the data are censored (that is, no values are reported as \enquote{less-than} values), the ConcLow = ConcHigh = ConcAve and Uncen = 1 are equal to the reported value.  For the most common type of censoring, where a value is reported as less than the reporting limit, then ConcLow = NA, ConcHigh = reporting limit, ConcAve = 0.5 * reporting limit, and Uncen = 0.
-
-To illustrate how the dataRetrieval package handles a more complex censoring problem, let us say that in 2004 and earlier, we computed total phosphorus (tp) as the sum of dissolved phosphorus (dp) and particulate phosphorus (pp). From 2005 and onward, we have direct measurements of total phosphorus (tp). A small subset of this fictional data looks like Table \ref{tab:exampleComplexQW}.
-
-
-
-<<label=tab:exampleComplexQW, echo=FALSE, eval=TRUE,results='asis'>>=
-cdate <- c("2003-02-15","2003-06-30","2004-09-15","2005-01-30","2005-05-30","2005-10-30")
-rdp <- c("", "<","<","","","")
-dp <- c(0.02,0.01,0.005,NA,NA,NA)
-rpp <- c("", "","<","","","")
-pp <- c(0.5,0.3,0.2,NA,NA,NA)
-rtp <- c("","","","","<","<")
-tp <- c(NA,NA,NA,0.43,0.05,0.02)
-
-DF <- data.frame(cdate,rdp,dp,rpp,pp,rtp,tp,stringsAsFactors=FALSE)
-
-xTab <- xtable(DF, caption="Example data",digits=c(0,0,0,3,0,3,0,3),label="tab:exampleComplexQW")
-
-print(xTab,
-       caption.placement="top",
-       size = "\\footnotesize",
-       latex.environment=NULL,
-       sanitize.colnames.function =  bold.colHeaders,
-       sanitize.rownames.function = addSpace
-      )
-
-@
-
-The dataRetrieval package will \enquote{add up} all the values in a given row to form the total for that sample when using the Sample dataframe. Thus, you only want to enter data that should be added together. If you want a dataframe with multiple constituents that are not summed, do not use getNWISSample, getWQPSample, or getUserSample. The raw data functions: \texttt{getWQPData}, \texttt{getNWISqwData}, \texttt{getWQPqwData}, \texttt{getWQPData} will not sum constituents, but leave them in their individual columns. 
-
-For example, we might know the value for dp on 5/30/2005, but we don't want to put it in the table because under the rules of this data set, we are not supposed to add it in to the values in 2005.
-
-For every sample, the EGRET package requires a pair of numbers to define an interval in which the true value lies (ConcLow and ConcHigh). In a simple uncensored case (the reported value is above the detection limit), ConcLow equals ConcHigh and the interval collapses down to a single point. In a simple censored case, the value might be reported as \verb@<@0.2, then ConcLow=NA and ConcHigh=0.2. We use NA instead of 0 as a way to elegantly handle future logarithm calculations.
-
-For the more complex example case, let us say dp is reported as \verb@<@0.01 and pp is reported as 0.3. We know that the total must be at least 0.3 and could be as much as 0.31. Therefore, ConcLow=0.3 and ConcHigh=0.31. Another case would be if dp is reported as \verb@<@0.005 and pp is reported \verb@<@0.2. We know in this case that the true value could be as low as zero, but could be as high as 0.205. Therefore, in this case, ConcLow=NA and ConcHigh=0.205. The Sample dataframe for the example data would be:
-
-<<thirdExample,echo=FALSE>>=
-  compressedData <- compressData(DF)
-  Sample <- populateSampleColumns(compressedData)
-@
-
-<<thirdExampleView,echo=TRUE>>=
-  Sample
-@
-
-Section \ref{sec:userFiles} discusses inputting user-generated files. The functions \texttt{getUserSample} and \texttt{getNWISSample} assume summation with interval censoring inputs, and are discussed in sections \ref{sec:DailyFile} and \ref{sec:SampleFile}.
-
-\FloatBarrier
-
-%------------------------------------------------------------ 
-\subsection{User-Generated Data Files}
-\label{sec:userFiles}
-%------------------------------------------------------------ 
-In addition to retrieving data from the USGS Web services, the dataRetrieval package also includes functions to generate the Daily and Sample data frame from local files.
-
-%------------------------------------------------------------ 
-\subsubsection{getUserDaily}
-\label{sec:DailyFile}
-%------------------------------------------------------------ 
-The \texttt{getUserDaily} function will load a user-supplied text file and convert it to the Daily dataframe. The file should have two columns, the first dates, the second values.  The dates are formatted either mm/dd/yyyy or yyyy-mm-dd. Using a 4-digit year is required. This function has the following inputs: filePath, fileName,hasHeader (TRUE/FALSE), separator, qUnit, and interactive (TRUE/FALSE). filePath is a string that defines the path to your file, and the string can either be a full path, or path relative to your R working directory. The input fileName is a string that defines the file name (including the extension).
-
-Text files that contain this sort of data require some sort of a separator, for example, a \enquote{csv} file (comma-separated value) file uses a comma to separate the date and value column. A tab delimited file would use a tab (\verb@"\t"@) rather than the comma (\texttt{"},\texttt{"}). Define the type of separator you choose to use in the function call in the \texttt{"}separator\texttt{"} argument, the default is \texttt{"},\texttt{"}. Another function input is a logical variable: hasHeader.  The default is TRUE. If your data does not have column names, set this variable to FALSE.
-
-Finally, qUnit is a numeric argument that defines the discharge units used in the input file.  The default is qUnit = 1 which assumes discharge is in cubic feet per second.  If the discharge in the file is already in cubic meters per second then set qUnit = 2.  If it is in some other units (like liters per second or acre-feet per day), the user must pre-process the data with a unit conversion that changes it to either cubic feet per second or cubic meters per second.
-
-So, if you have a file called \enquote{ChoptankRiverFlow.txt} located in a folder called \enquote{RData} on the C drive (this example is for the Windows\textregistered\ operating systems), and the file is structured as follows (tab-separated):
-
-
-% \singlespacing
-\begin{verbatim}
-date  Qdaily
-10/1/1999  107
-10/2/1999  85
-10/3/1999	76
-10/4/1999	76
-10/5/1999	113
-10/6/1999	98
-...
-\end{verbatim}
-% \doublespacing
-
-The call to open this file, convert the discharge to cubic meters per second, and populate the Daily data frame would be:
-<<openDaily, eval = FALSE>>=
-fileName <- "ChoptankRiverFlow.txt"
-filePath <-  "C:/RData/"
-Daily <-getFileDaily(filePath,fileName,
-                    separator="\t")
-@
-
-Microsoft\textregistered\ Excel files can be a bit tricky to import into R directly. The simplest way to get Excel data into R is to open the Excel file in Excel, then save it as a .csv file (comma-separated values). 
-
-\FloatBarrier
-
-%------------------------------------------------------------ 
-\subsubsection{getUserSample}
-\label{sec:SampleFile}
-%------------------------------------------------------------ 
-
-The \texttt{getUserSample} function will import a user-generated file and populate the Sample dataframe. The difference between sample data and discharge data is that the code requires a third column that contains a remark code, either blank or \verb@"<"@, which will tell the program that the data were \enquote{left-censored} (or, below the detection limit of the sensor). Therefore, the data must be in the form: date, remark, value.   An example of a comma-delimited file is:
-
-\singlespacing
-\begin{verbatim}
-cdate;remarkCode;Nitrate
-10/7/1999,,1.4
-11/4/1999,<,0.99
-12/3/1999,,1.42
-1/4/2000,,1.59
-2/3/2000,,1.54
-...
-\end{verbatim}
-
-The call to open this file, and populate the Sample dataframe is:
-<<openSample, eval = FALSE>>=
-fileName <- "ChoptankRiverNitrate.csv"
-filePath <-  "C:/RData/"
-Sample <-getUserSample(filePath,fileName,
-                                separator=",")
-@
-
-When multiple constituents are to be summed, the format can be date, remark\_A, value\_A, remark\_b, value\_b, etc... A tab-separated example might look like the file below, where the columns are date, remark dissolved phosphate (rdp), dissolved phosphate (dp), remark particulate phosphorus (rpp), particulate phosphorus (pp), remark total phosphate (rtp), and total phosphate (tp):
-
-\singlespacing
-\begin{verbatim}
-date  rdp	dp	rpp	pp	rtp	tp
-2003-02-15		0.020		0.500		
-2003-06-30	<	0.010		0.300		
-2004-09-15	<	0.005	<	0.200		
-2005-01-30						0.430
-2005-05-30					<	0.050
-2005-10-30					<	0.020
-...
-\end{verbatim}
-
-
-<<openSample2, eval = FALSE>>=
-fileName <- "ChoptankPhosphorus.txt"
-filePath <-  "C:/RData/"
-Sample <-getUserSample(filePath,fileName,
-                                separator="\t")
-@
-
-
-\FloatBarrier
-
-%------------------------------------------------------------
-\subsection{Merge Report}
-%------------------------------------------------------------
-Finally, there is a function called \texttt{mergeReport} that will look at both the Daily and Sample dataframe, and populate Q and LogQ columns into the Sample dataframe. The default arguments are Daily and Sample, however if you want to use other similarly structured dataframes, you can specify localDaily or localSample. Once \texttt{mergeReport} has been run, the Sample dataframe will be augmented with the daily discharges for all the days with samples.  None of the water quality functions in EGRET will work without first having run the \texttt{mergeReport} function.
-
-
-<<mergeExample>>=
-siteNumber <- "01491000"
-parameterCd <- "00631"  # Nitrate
-startDate <- "2000-01-01"
-endDate <- "2013-01-01"
-
-Daily <- getNWISDaily(siteNumber, "00060", startDate, endDate)
-Sample <- getNWISSample(siteNumber,parameterCd, startDate, endDate)
-Sample <- mergeReport(Daily,Sample)
-names(Sample)
-@
-
-\FloatBarrier
-
-% %------------------------------------------------------------
-% \subsection{EGRET Plots}
-% %------------------------------------------------------------
-% The Daily, Sample, and INFO dataframes (described in Secs. \ref{INFOsubsection} - \ref{Samplesubsection}) are specifically formatted to be used with the EGRET package. The EGRET package has powerful modeling capabilities that use WRTDS, but EGRET also has graphing and tabular tools for exploring the data without using the WRTDS algorithm. See the EGRET vignette, user guide, and/or wiki (\url{https://github.com/USGS-R/EGRET/wiki}) for detailed information. Figure \ref{fig:egretEx} shows one of the plotting functions that can be used directly from the dataRetrieval dataframes.
-% 
-% <<egretEx, echo=TRUE, eval=TRUE, fig.cap="Default \\texttt{multiPlotDataOverview}">>=
-% # Continuing Choptank example from the previous sections
-% library(EGRET)
-% multiPlotDataOverview()
-% @
-% 
-% \FloatBarrier
-% \clearpage
-
-
-%------------------------------------------------------------
-\section{Summary}
-\label{sec:summary}
-%------------------------------------------------------------
-
-Tables \ref{tab:dataRetrievalFunctions1},\ref{tab:dataRetrievalOrg}, and \ref{tab:dataRetrievalMisc} summarize the data retrieval functions:
-
-\begin{table}
-{\footnotesize
-  \begin{threeparttable}[b]
-  \caption{dataRetrieval functions}
-  \label{tab:dataRetrievalFunctions1}
-%   \doublespacing
-\begin{tabular}{lll}
-  \hline
-\multicolumn{1}{c}{\textbf{\textsf{Data Type}}} &
-\multicolumn{1}{c}{\textbf{\textsf{Function Name}}} &
-\multicolumn{1}{c}{\textbf{\textsf{Description}}} \\ [0pt]
-  \hline
-  Daily & \texttt{getNWISdvData} & Raw USGS daily data \\ 
-  [5pt]Daily & \texttt{getNWISData} & Raw USGS data in generalized query \\
-  [5pt]Daily\tnote{1} & \texttt{getNWISDaily} & USGS daily values \\ 
-  [5pt]Daily\tnote{1} & \texttt{getUserDaily} & User-generated daily data \\ 
-  [5pt]Sample & \texttt{getNWISqwData} & Raw USGS water quality data \\
-  [5pt]Sample & \texttt{getWQPqwData} & Raw Water Quality Data Portal data \\ 
-  [5pt]Sample & \texttt{getWQPData} & Raw Water Quality Portal data in generalized query\\
-  [5pt]Sample\tnote{1} & \texttt{getNWISSample} & USGS water quality data\\
-  [5pt]Sample\tnote{1} & \texttt{getWQPSample} & Water Quality Data Portal data \\
-  [5pt]Sample\tnote{1} & \texttt{getUserSample} & User-generated sample data \\ 
-  [5pt]Unit & \texttt{getNWISunitData} & Raw USGS instantaneous data \\
-  [5pt]Information\tnote{1} & \texttt{getNWISInfo} & Station and parameter code information extracted from USGS\\ 
-  [5pt]Information\tnote{1} & \texttt{getWQPInfo} & Station and parameter information extracted from Water Quality Portal \\
-  [5pt]Information\tnote{1} & \texttt{getUserInfo} & Station and parameter information extracted from user-generated file \\ 
-  [5pt]Information & \texttt{getNWISPcodeInfo} & USGS parameter code information \\ 
-  [5pt]Information & \texttt{getNWISSiteInfo} & USGS station information \\ 
-  [5pt]Information & \texttt{getNWISDataAvailability} & Data available at USGS stations \\
-  [5pt]Information & \texttt{getNWISSites} & USGS station information in generalized query \\ 
-   \hline
-\end{tabular}
-
-  \begin{tablenotes}
-    \item[1] Indicates that the function creates a data frame suitable for use in EGRET software, otherwise data is returned in the exact form that it was received.
-  \end{tablenotes}
- \end{threeparttable}
-}
-\end{table}
-
-
-\begin{table}[!ht]
-\begin{minipage}{\linewidth}
-{\footnotesize
-\begin{threeparttable}[b]
-\caption{dataRetrieval functions organization} 
-\label{tab:dataRetrievalOrg}
-\begin{tabular}{|c|ccc|}
-
-\multicolumn{1}{c}{\textbf{\textsf{}}} &
-\multicolumn{1}{c}{\textbf{\textsf{Site Query}}} &
-\multicolumn{1}{c}{\textbf{\textsf{Meta Data}}} &
-\multicolumn{1}{c}{\textbf{\textsf{Data Retrieval}}} \\  [0pt]
-\hline
-\textbf{NWIS:} & \texttt{getNWISSites} & \texttt{getNWISInfo}\tnote{1} & \texttt{getNWISData}  \\
-\textit{Daily} & \texttt{getNWISDataAvailability}& \texttt{getNWISSiteInfo} & \texttt{getNWISDaily}\tnote{1} \\
-\textit{Unit/Instantaneous} &  & \texttt{getNWISPcodeInfo} & \texttt{getNWISSample}\tnote{1} \\
-\textit{Groundwater} & &  & \texttt{getNWISdvData}   \\
-\textit{Water Quality} & & & \texttt{getNWISunitData}\\
- & & & \texttt{getNWISqwData} \\
-\hline
-\textbf{Water Quality Portal:} & \texttt{getWQPSites} & \texttt{getWQPInfo}\tnote{1} &  \texttt{getWQPSample}\tnote{1}\\
-\textit{USGS} & & & \texttt{getWQPqwData} \\
-\textit{EPA} & & & \texttt{getWQPData} \\
-\textit{USDA} & & &  \\
-\hline
-\textbf{User-supplied files:} & & \texttt{getUserInfo}\tnote{1}  & \texttt{getUserDaily}\tnote{1}  \\
-\textit{Daily} & & & \texttt{getUserSample}\tnote{1}  \\
-\textit{Sample} & & &  \\
-\textit{Site Information} & & & \\
-
-   \hline
-\end{tabular}
-  \begin{tablenotes}
-    \item[1] Indicates that the function creates a data frame suitable for use in EGRET software, otherwise data is returned in the exact form that it was received.
-  \end{tablenotes}
- \end{threeparttable}
-}
-\end{minipage}
-\end{table}
-
-
-
-\begin{table}[!ht]
-\begin{minipage}{\linewidth}
-{\footnotesize
-\caption{Supplemental dataRetrieval functions} 
-\label{tab:dataRetrievalMisc}
-\begin{tabular}{ll}
-  \hline
-\multicolumn{1}{c}{\textbf{\textsf{Function Name}}} &
-\multicolumn{1}{c}{\textbf{\textsf{Description}}} \\  [0pt]
-  \hline
-  \texttt{compressData} &  Converts value/qualifier into ConcLow, ConcHigh, Uncen\\
-  [5pt]\texttt{getRDB1Data} & Retrieves and converts RDB data to dataframe\\
-  [5pt]\texttt{getWaterML1Data} & Retrieves and converts WaterML1 data to dataframe\\
-  [5pt]\texttt{getWaterML2Data} & Retrieves and converts WaterML2 data to dataframe\\
-  [5pt]\texttt{mergeReport} & Merges flow data from the daily record into the sample record\\
-  [5pt]\texttt{populateDateColumns} & Generates Julian, Month, Day, DecYear, and MonthSeq columns\\
-  [5pt]\texttt{removeDuplicates} & Removes duplicated rows\\
-  [5pt]\texttt{renameColumns} & Renames columns from raw data retrievals\\
-   \hline
-\end{tabular}
-}
-\end{minipage}
-\end{table}
-
-\FloatBarrier
 \clearpage
 
 
@@ -1157,7 +678,7 @@ If you are new to R, you will need to first install the latest version of R, whi
 At any time, you can get information about any function in R by typing a question mark before the functions name.  This will open a file (in RStudio, in the Help window) that describes the function, the required arguments, and provides working examples.
 
 <<helpFunc,eval = FALSE>>=
-?removeDuplicates
+?getNWISPcodeInfo
 @
 
 This will open a help file similar to Figure \ref{fig:help}.
@@ -1166,7 +687,7 @@ This will open a help file similar to Figure \ref{fig:help}.
 
 To see the raw code for a particular code, type the name of the function, without parentheses.:
 <<rawFunc,eval = TRUE>>=
-removeDuplicates
+getNWISPcodeInfo
 @
 
 
diff --git a/inst/doc/dataRetrieval.pdf b/inst/doc/dataRetrieval.pdf
index 8ce1b7e27e7a84767cace3dd9d0bd8e4120a06da..1f8f6d3ac237a315b5c7baec47798d3e1f417d4c 100644
Binary files a/inst/doc/dataRetrieval.pdf and b/inst/doc/dataRetrieval.pdf differ
diff --git a/vignettes/figure/egretEx.pdf b/vignettes/figure/egretEx.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..87e7eaa2180bcea11e601464052ae1271f4246c3
Binary files /dev/null and b/vignettes/figure/egretEx.pdf differ
diff --git a/vignettes/figure/getNWISUnitPlot.pdf b/vignettes/figure/getNWISUnitPlot.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..710116d8c74a4b14e88149d07f6deed176e0f02b
Binary files /dev/null and b/vignettes/figure/getNWISUnitPlot.pdf differ
diff --git a/vignettes/figure/getNWIStemperaturePlot-1.pdf b/vignettes/figure/getNWIStemperaturePlot-1.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..98185b54b7b74a7b16f1c12c9eba9717b9b80a65
Binary files /dev/null and b/vignettes/figure/getNWIStemperaturePlot-1.pdf differ
diff --git a/vignettes/figure/getNWIStemperaturePlot.pdf b/vignettes/figure/getNWIStemperaturePlot.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..eb7a2d15c3231c6885fa74e26a6d7b1d36ec1a48
Binary files /dev/null and b/vignettes/figure/getNWIStemperaturePlot.pdf differ
diff --git a/vignettes/figure/getQWtemperaturePlot-1.pdf b/vignettes/figure/getQWtemperaturePlot-1.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..7feb738d14b19a12065af2387fd270a0c901544e
Binary files /dev/null and b/vignettes/figure/getQWtemperaturePlot-1.pdf differ
diff --git a/vignettes/figure/getQWtemperaturePlot.pdf b/vignettes/figure/getQWtemperaturePlot.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..84f8397d9e32356148774eb556c3bdf3402b32fb
Binary files /dev/null and b/vignettes/figure/getQWtemperaturePlot.pdf differ