Skip to contents

Imports data from NWIS web service. This function gets the data from here: https://waterservices.usgs.gov/

Usage

readNWISdv(
  siteNumbers,
  parameterCd,
  startDate = "",
  endDate = "",
  statCd = "00003"
)

Arguments

siteNumbers

character USGS site number. This is usually an 8 digit number. Multiple sites can be requested with a character vector.

parameterCd

character of USGS parameter code(s). This is usually an 5 digit number.

startDate

character starting date for data retrieval in the form YYYY-MM-DD. Default is "" which indicates retrieval for the earliest possible record. Date arguments are always specified in local time.

endDate

character ending date for data retrieval in the form YYYY-MM-DD. Default is "" which indicates retrieval for the latest possible record. Date arguments are always specified in local time.

statCd

character USGS statistic code. This is usually 5 digits. Daily mean (00003) is the default.

Value

A data frame with the following columns:

NameTypeDescription
agencycharacterThe NWIS code for the agency reporting the data
sitecharacterThe USGS site number
DateDateThe date of the value
codecharacterAny codes that qualify the corresponding value
valuenumericThe numeric value for the parameter

Note that code and value are repeated for the parameters requested. The names are of the form X_D_P_S, where X is literal, D is an option description of the parameter, P is the parameter code, and S is the statistic code (if applicable).

There are also several useful attributes attached to the data frame:

NameTypeDescription
urlcharacterThe url used to generate the data
siteInfodata.frameA data frame containing information on the requested sites
variableInfodata.frameA data frame containing information on the requested parameters
statisticInfodata.frameA data frame containing information on the requested statistics on the data
queryTimePOSIXctThe time the data was returned

Examples

site_id <- "04085427"
startDate <- "2012-01-01"
endDate <- "2012-06-30"
pCode <- "00060"
# \donttest{
rawDailyQ <- readNWISdv(site_id, pCode, startDate, endDate)
rawDailyQAndTempMeanMax <- readNWISdv(site_id, c("00010", "00060"),
  startDate, endDate,
  statCd = c("00001", "00003")
)
rawDailyQAndTempMeanMax <- renameNWISColumns(rawDailyQAndTempMeanMax)
rawDailyMultiSites <- readNWISdv(c("01491000", "01645000"), c("00010", "00060"),
  startDate, endDate,
  statCd = c("00001", "00003")
)
# Site with no data:
x <- readNWISdv("10258500", "00060", "2014-09-08", "2014-09-14")
names(attributes(x))
#> [1] "names"         "row.names"     "url"           "siteInfo"     
#> [5] "variableInfo"  "disclaimer"    "statisticInfo" "queryTime"    
#> [9] "class"        
attr(x, "siteInfo")
#>                      station_nm  site_no agency_cd timeZoneOffset
#> 1 PALM CYN C NR PALM SPRINGS CA 10258500      USGS         -08:00
#>   timeZoneAbbreviation dec_lat_va dec_lon_va       srs siteTypeCd    hucCd
#> 1                  PST   33.74502  -116.5356 EPSG:4326         ST 18100201
#>   stateCd countyCd network
#> 1      06    06065    NWIS
attr(x, "variableInfo")
#>   variableCode           variableName              variableDescription
#> 1        00060 Streamflow, ft&#179;/s Discharge, cubic feet per second
#>       valueType param_unit options noDataValue
#> 1 Derived Value      ft3/s    Mean          NA

site <- "05212700"
notActive <- readNWISdv(site, "00060", "2014-01-01", "2014-01-07")
# }