R/wrcc_createMonitorObject.R
wrcc_createMonitorObject.Rd
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:
download CSV text
parse CSV text
apply quality control
apply clustering to determine unique deployments
enhance metadata to include: elevation, timezone, state, country, site name
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, ... )
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 |
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 |
A ws_monitor object with WRCC data.
The downloaded CSV may be saved to a local file by providing an argument to the saveFile
parameter.
# \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# }