buoy | R Documentation |
Get NOAA buoy data from the National Buoy Data Center
buoy(dataset, buoyid, year = NULL, datatype = NULL, ...)
buoys(dataset)
buoy_stations(refresh = FALSE, ...)
dataset |
(character) Dataset name to query. See below for Details. Required |
buoyid |
Buoy ID, can be numeric/integer/character. Required |
year |
(integer) Year of data collection. Optional. Note there is
a special value |
datatype |
(character) Data type, one of 'c', 'cc', 'p', 'o'. Optional |
... |
Curl options passed on to crul::verb-GET
Optional. A number of different HTTP requests are made internally, but
we only pass this on to the request to get the netcdf file in the internal
function |
refresh |
(logical) Whether to use cached data ( |
Functions:
buoy_stations - Get buoy stations. A cached version of the dataset
is available in the package. Beware, takes a long time to run if you
do refresh = TRUE
buoys - Get available buoys given a dataset name
buoy - Get data given some combination of dataset name, buoy ID, year, and datatype
Options for the dataset parameter. One of:
adcp - Acoustic Doppler Current Profiler data
adcp2 - MMS Acoustic Doppler Current Profiler data
cwind - Continuous Winds data
dart - Deep-ocean Assessment and Reporting of Tsunamis data
mmbcur - Marsh-McBirney Current Measurements data
ocean - Oceanographic data
pwind - Peak Winds data
stdmet - Standard Meteorological data
swden - Spectral Wave Density data with Spectral Wave Direction data
wlevel - Water Level data
If netcdf data has lat/lon variables, then we'll parse into a tidy data.frame. If not, we'll give back the ncdf4 object for the user to parse (in which case the data.frame will be empty).
http://www.ndbc.noaa.gov/, http://dods.ndbc.noaa.gov/
## Not run:
if (crul::ok("https://dods.ndbc.noaa.gov/thredds", timeout_ms = 1000)) {
# Get buoy station information
x <- buoy_stations()
# refresh stations as needed, takes a while to run
# you shouldn't need to update very often
# x <- buoy_stations(refresh = TRUE)
if (interactive() && requireNamespace("leaflet")){
library("leaflet")
z <- leaflet(data = na.omit(x))
z <- leaflet::addTiles(z)
leaflet::addCircles(z, ~lon, ~lat, opacity = 0.5)
}
# year=9999 to get most current data - not always available
buoy(dataset = "swden", buoyid = 46012, year = 9999)
# Get available buoys
buoys(dataset = 'cwind')
# Get data for a buoy
## if no year or datatype specified, we get the first file
buoy(dataset = 'cwind', buoyid = 46085)
# Including specific year
buoy(dataset = 'cwind', buoyid = 41001, year = 1999)
# Including specific year and datatype
buoy(dataset = 'cwind', buoyid = 45005, year = 2008, datatype = "c")
buoy(dataset = 'cwind', buoyid = 41001, year = 1997, datatype = "c")
# Other datasets
buoy(dataset = 'ocean', buoyid = 41029)
# curl debugging
buoy(dataset = 'cwind', buoyid = 46085, verbose = TRUE)
# some buoy ids are character, case doesn't matter, we'll account for it
buoy(dataset = "stdmet", buoyid = "VCAF1")
buoy(dataset = "stdmet", buoyid = "wplf1")
buoy(dataset = "dart", buoyid = "dartu")
}
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.