Obtains monitor data from an WRCC webservice and converts it into a quality controlled, metadata enhanced ws_monitor object ready for use with all monitor_~ functions.

Steps involved include:

  1. download CSV text

  2. parse CSV text

  3. apply quality control

  4. apply clustering to determine unique deployments

  5. enhance metadata to include: elevation, timezone, state, country, site name

  6. reshape data into deployment-by-property meta and and time-by-deployment data dataframes

QC parameters that can be passed in the ... include the following valid data ranges as taken from wrcc_EBAMQualityControl():

  • valid_Longitude=c(-180,180)

  • valid_Latitude=c(-90,90)

  • remove_Lon_zero = TRUE

  • remove_Lat_zero = TRUE

  • valid_Flow = c(16.7*0.95,16.7*1.05)

  • valid_AT = c(-Inf,45)

  • valid_RHi = c(-Inf,50)

  • valid_Conc = c(-Inf,5000)

Note that appropriate values for QC thresholds will depend on the type of monitor.

wrcc_createMonitorObject(
  startdate = strftime(lubridate::now(tzone = "UTC"), "%Y010100", tz = "UTC"),
  enddate = strftime(lubridate::now(tzone = "UTC"), "%Y%m%d23", tz = "UTC"),
  unitID = NULL,
  clusterDiameter = 1000,
  zeroMinimum = TRUE,
  baseUrl = "https://wrcc.dri.edu/cgi-bin/wea_list2.pl",
  saveFile = NULL,
  existingMeta = NULL,
  addGoogleMeta = FALSE,
  addEsriMeta = FALSE,
  ...
)

Arguments

startdate

desired start date (integer or character representing YYYYMMDD[HH])

enddate

desired end date (integer or character representing YYYYMMDD[HH])

unitID

station identifier (will be upcased)

clusterDiameter

diameter in meters used to determine the number of clusters (see addClustering)

zeroMinimum

logical specifying whether to convert negative values to zero

baseUrl

base URL for data queries

saveFile

optional filename where raw CSV will be written

existingMeta

existing 'meta' dataframe from which to obtain metadata for known monitor deployments

addGoogleMeta

logicial specifying wheter to use Google elevation and reverse geocoding services

addEsriMeta

logicial specifying wheter to use ESRI elevation and reverse geocoding services

...

additional parameters are passed to type-specific QC functions

Value

A ws_monitor object with WRCC data.

Note

The downloaded CSV may be saved to a local file by providing an argument to the saveFile parameter.

See also

Examples

# \donttest{ # Fail gracefully if any resources are not available try({ library(PWFSLSmoke) initializeMazamaSpatialUtils() sm13 <- wrcc_createMonitorObject(20150301, 20150831, unitID = 'sm13') monitor_leaflet(sm13) }, silent = FALSE)
#> WARN [2021-11-19 10:18:46] More than one monitor type detected: 9, 0 #> WARN [2021-11-19 10:18:46] More than one monitor type detected: 9, 0 #> WARN [2021-11-19 10:18:46] More than one monitor type detected: 9, 0 #> WARN [2021-11-19 10:18:46] More than one monitor type detected: 9, 0 #> WARN [2021-11-19 10:18:46] More than one monitor type detected: 9, 0
# }