View source: R/GetRealTimeGrib.R
| GribGrab | R Documentation |
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.
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)
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 |
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 |
This requires the external programs wgrib2 and\or wgrib to be installed (depending on whether the files are in GRIB2 or GRIB format).
Daniel C. Bowman danny.c.bowman@gmail.com
CrawlModels, ParseModelPage, ReadGrib
#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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.