GribGrab {rNOMADS} | R Documentation |
Download grib file from the NOMADS server.
Description
This function interfaces with the programming API at https://nomads.ncep.noaa.gov/ to download NOMADS model data.
The available models can be viewed by calling NOMADSRealTimeList
.
The data arrives in grib (gridded binary) format that can be read with ReadGrib
.
Usage
GribGrab(model.url, preds, levels, variables,
local.dir = NULL, file.names = NULL,
model.domain = NULL, tidy = FALSE, verbose = TRUE,
check.url = TRUE, download.method = NULL)
Arguments
model.url |
The address of a model download page, probably from |
preds |
A vector of predictions (or model times) determined by the specific model from |
levels |
A list of model levels to download. |
variables |
A list of model variables to download. |
local.dir |
Where to save the grib file, defaults to the current directory. |
file.names |
What to name the grib file, defaults to |
model.domain |
A vector of latitudes and longitudes that specify the area to return a forecast for. This is a rectangle with elements: west longitude, east longitude, north latitude, south latitude. |
tidy |
If |
verbose |
If |
check.url |
If |
download.method |
Allows the user to set the download method used by |
Value
grib.info$file.name |
The path and file name of the grib file that was downloaded. |
grib.info$url |
The URL that the grib file was downloaded from |
Note
This requires the external programs wgrib2
and\or wgrib
to be installed (depending on whether the files are in GRIB2 or GRIB format).
Author(s)
Daniel C. Bowman danny.c.bowman@gmail.com
References
See Also
CrawlModels
, ParseModelPage
, ReadGrib
Examples
#An example for the Global Forecast System 0.5 degree model
#Get the latest model url
## Not run:
urls.out <- CrawlModels(abbrev = "gfs_0p50", depth = 1)
#Get a list of forecasts, variables and levels
model.parameters <- ParseModelPage(urls.out[1])
#Figure out which one is the 6 hour forecast
#provided by the latest model run
#(will be the forecast from 6-12 hours from the current date)
my.pred <- model.parameters$pred[grep("06$", model.parameters$pred)]
#What region of the atmosphere to get data for
levels <- c("2 m above ground", "800 mb")
#What data to return
variables <- c("TMP", "RH") #Temperature and relative humidity
#Get the data
grib.info <- GribGrab(urls.out[1], my.pred, levels, variables)
#Extract the data
model.data <- ReadGrib(grib.info[[1]]$file.name, levels, variables)
#Reformat it
model.grid <- ModelGrid(model.data, c(0.5, 0.5))
#Show an image of world temperature at ground level
image(model.grid$z[2, 1,,])
## End(Not run)