Python Equivalents to R Vignette Examples
[1]:
from dataretrieval import nwis, waterdata, wqp
The dataRetrieval package was created as a python equivalent to the R dataRetrieval tool.
The following shows python equivalents for methods outlined in the R dataRetrieval Vignette with the equivalent R code in comments
[2]:
"""
{r getSite, echo=TRUE, eval=FALSE}
siteNumbers <- c("01491000","01645000")
siteINFO <- readNWISsite(siteNumbers)
"""
siteNumbers = ["01491000", "01645000"]
siteINFO, md = nwis.get_iv(sites=siteNumbers)
[3]:
"""
# Continuing from the previous example:
# This pulls out just the daily, mean data:
dailyDataAvailable <- whatNWISdata(siteNumbers,
service="dv", statCd="00003")
"""
dailyDataAvailable, md = nwis.get_dv(sites=siteNumbers, statCd="00003")
[4]:
"""
# Choptank River near Greensboro, MD:
siteNumber <- "01491000"
parameterCd <- "00060" # Discharge
startDate <- "2009-10-01"
endDate <- "2012-09-30"
discharge <- readNWISdv(siteNumber,
parameterCd, startDate, endDate)
"""
# Choptank River near Greensboro, MD:
siteNumber = "01491000"
parameterCd = "00060" # Discharge
startDate = "2009-10-01"
endDate = "2012-09-30"
discharge, md = nwis.get_dv(
sites=siteNumber, parameterCd=parameterCd, start=startDate, end=endDate
)
[5]:
"""
siteNumber <- "01491000"
parameterCd <- c("00010","00060") # Temperature and discharge
statCd <- c("00001","00003") # Mean and maximum
startDate <- "2012-01-01"
endDate <- "2012-05-01"
temperatureAndFlow <- readNWISdv(siteNumber, parameterCd,
startDate, endDate, statCd=statCd)
"""
siteNumber = "01491000"
parameterCd = ["00010", "00060"] # Temperature and discharge
statCd = ["00001", "00003"] # Mean and maximum
startDate = "2012-01-01"
endDate = "2012-05-01"
temperatureAndFlow, md = nwis.get_dv(
sites=siteNumber,
parameterCd=parameterCd,
start=startDate,
end=endDate,
statCd=statCd,
)
[6]:
"""
parameterCd <- "00060" # Discharge
startDate <- "2012-05-12"
endDate <- "2012-05-13"
dischargeUnit <- readNWISuv(siteNumber, parameterCd,
startDate, endDate)
"""
siteNumber = "01491000"
parameterCd = "00060" # Discharge
startDate = "2012-05-12"
endDate = "2012-05-13"
dischargeUnit, md = nwis.get_iv(
sites=siteNumber, parameterCd=parameterCd, start=startDate, end=endDate
)
[7]:
"""
# Dissolved Nitrate parameter codes:
parameterCd <- c("00618","71851")
startDate <- "1985-10-01"
endDate <- "2012-09-30"
dfLong <- read_USGS_samples(monitoringLocationIdentifier=sprintf("USGS-%s", siteNumber), usgsPCode=parameterCd,
activityStartDateLower=startDate, activityStartDateUpper=endDate)
"""
siteNumber = "01491000"
parameterCd = ["00618", "71851"]
startDate = "1985-10-01"
endDate = "2012-09-30"
dfLong, md = waterdata.get_samples(
monitoringLocationIdentifier=f"USGS-{siteNumber}",
usgsPCode=parameterCd,
activityStartDateLower=startDate,
activityStartDateUpper=endDate,
)
[8]:
"""
siteNumber <- '01594440'
peakData <- readNWISpeak(siteNumber)
"""
siteNumber = "01594440"
peakData, md = nwis.get_discharge_peaks(sites=siteNumber)
[9]:
"""
ratingData <- readNWISrating(siteNumber, "base")
attr(ratingData, "RATING")
"""
ratings_data, md = nwis.get_ratings(site="01594440", file_type="base")
[10]:
"""
discharge_stats <- readNWISstat(siteNumbers=c("02319394"),
parameterCd=c("00060"),
statReportType="annual")
"""
discharge_stats, md = nwis.get_stats(
sites="02319394", parameterCd="00060", statReportType="annual", statTypeCd="all"
)
[11]:
# '''
# dischargeWI <- readNWISdata(service="dv",
# stateCd="WI",
# parameterCd="00060",
# drainAreaMin="50",
# statCd="00003")
# '''
# dischargeWI, md = nwis.get_dv(stateCd="WI", parameterCd="00060", drainAreaMin="50", statCd="00003")
[12]:
# '''
# sitesNJ <- whatWQPsites(statecode="US:34",
# characteristicName="Chloride")
# '''
# sitesNJ, md = wqp.what_sites(statecode="US:34", characteristicName="Chloride")
[13]:
# '''
# dataPH <- readWQPdata(statecode="US:55",
# characteristicName="pH")
# '''
# dataPH, md = wqp.what_sites(statecode="US:55", characteristicName="pH")
[14]:
# '''
# type <- "Stream"
# sites <- whatWQPdata(countycode="US:55:025",siteType=type)
# '''
# streamType = "Stream"
# sites, md = wqp.get_results(countycode="US:55:025", siteType=streamType)
[15]:
"""site <- whatWQPsamples(siteid="USGS-01594440")"""
site, md = wqp.what_sites(siteid="USGS-01594440")
[16]:
"""
type <- "Stream"
sites <- whatWQPmetrics(countycode="US:55:025",siteType=type)
"""
streamType = "Stream"
sites, md = wqp.what_sites(countycode="US:55:025", siteType=streamType)
Embedded Metadata
All service methods return the DataFrame containing requested data and Metadata as a tuple. Note, a call using get_record will only return the DataFrame to remain compatible with previous usage.
national, md = nwis.get_water_use()
md is an object with the following attributes
Metadata
url # the resulting url to query usgs
query_time # the time it took to query usgs
site_info # a method to call site_info with the site parameters supplied
header # any headers attached to the response object