getRaster {meteoForecast} | R Documentation |
NWP forecasts for a region
Description
The getRaster*
functions get outputs of the NWP models for a region.
Usage
getRaster(var = "swflx", day = Sys.Date(), run = "00",
frames = 'complete', box, resolution = NULL,
names, remote = TRUE, service = mfService(),
dataDir = ".", use00H = FALSE, ...)
getRasterDays(var = "swflx", start = Sys.Date(), end,
remote = TRUE, dataDir = ".", ...)
getRasterDay(var = "swflx", day = Sys.Date(),
remote = TRUE, dataDir = ".", ...)
checkDays(start, end, vars, remote = FALSE,
service = mfService(), dataDir = '.')
Arguments
var , vars |
Character. The name of the variable (or variables in |
day |
Date or character. In |
run |
Character. For example, the meteogalicia service executes the model at OOUTC and 12UTC. Therefore |
start |
Date or character. First day of the time period to retrieve. |
end |
Date or character. Last day of the time period to retrieve. |
frames |
Numeric. It defines the number of hourly forecasts (frames) to retrieve. If |
box |
The bounding box, defined using longitude and latitude values. A |
resolution |
Numeric. Resolution in kilometers of the raster. Valid choices are 4, 12, and 36. It is only used with |
names |
Character. Names of the layers of the resulting |
remote |
Logical. If |
service |
Character, which service to use, 'meteogalicia', 'gfs', 'nam' or 'rap'. |
use00H |
Logical. Only used when |
dataDir |
Character, path of the folder where files are stored (if |
... |
Additional arguments. Not used in |
Details
getRaster
downloads data from the MeteoGalicia and NCDC (GFS,
RAP, and NAM) servers using the NetCDF Subset Service. The result is returned as a RasterBrick
object, with one or more NetCDF files stored in the temporary folder (as defined by tempdir()
). Each frame or layer of the RasterBrick
corresponds to a certain hour of the forecast.
getRasterDay
uses getRaster
to download the results corresponding to a certain day
. If the day
is in the future, the most recent forecast is downloaded with getRaster
, and the corresponding frames are extracted. If the day
is in the past, getRaster
is used to download the corresponding frames of the forecast produced that day.
getRasterDays
uses getRaster
to download the results cast each day comprised between start
and end
using the 00UTC run. Then it subsets the first 24 frames of each result, and binds them together to produce a RasterBrick
. Therefore, each frame of this RasterBrick
is a forecast for an hour of the day when the forecast was cast.
checkDays
explores a local folder looking for NetCDF files corresponding to a time sequence and a set of variables. It returns a Date
vector comprising the days with files available for the requested variables. If remote = TRUE
it only checks that start
is after 2008-01-01 (first date of the archived forecasts of MeteoGalicia.)
Value
The getRaster*
functions return a RasterBrick
with a layer for each hour of the NWP forecast.
The time zone of the time index of this RasterBrick
, stored in its z
slot (accesible with getZ
) is UTC.
MeteoGalicia, NAM, and RAP use the Lambert Conic Conformal projection. GFS files use longitude-latitude coordinates.
Author(s)
Oscar Perpiñán with contributions from Marcelo Almeida.
References
https://mandeo.meteogalicia.es/thredds/catalogos/WRF_2D/catalog.html
https://mandeo.meteogalicia.es/thredds/catalog/gfs_0p25/fmrc/catalog.html
https://www.ncei.noaa.gov/thredds/catalog/model-nam218/catalog.html
https://www.ncei.noaa.gov/thredds/catalog/model-rap130/catalog.html
Examples
## Not run:
## If some of the next examples do not work, try using a different
## date. Check availability for each service with the links included in
## the references section.
testDay <- Sys.Date() - 1
## Retrieve raster data
wrf <- getRaster('temp', day = testDay)
## Display results with rasterVis
library(rasterVis)
levelplot(wrf, layers = 10:19)
hovmoller(wrf)
## Using box and frames specification
mfExtent('gfs')
cloudGFS <- getRaster('Temperature_surface',
day = testDay,
box = c(-30, 30, 30, 50),
service = 'gfs')
levelplot(cloudGFS, layout = c(1, 1))
mfExtent('nam')
cloudNAM <- getRaster('Temperature_surface',
day = testDay,
box = c(-100, -80, 30, 50),
frames = 10,
service = 'nam')
mfExtent('rap')
cloudRAP <- getRaster('Temperature_surface',
day = testDay,
box = c(-100, -80, 30, 50),
frames = 10,
service = 'rap')
## Day sequence of cloud cover
wrfDays <- getRasterDays('cft',
start = testDay - 3,
end = testDay + 2,
box = c(-2, 35, 2, 40))
levelplot(wrfDays, layers = 10:19)
## animation
levelplot(wrfDays, layout = c(1, 1), par.settings = BTCTheme)
## Hövmoller graphic
hovmoller(wrfDays, par.settings = BTCTheme, contour = TRUE, cuts = 10)
NAMDays <- getRasterDays('Temperature_surface',
start = testDay - 3,
end = testDay,
box = c(-100, -80, 30, 50),
service = 'nam')
## Extract data at some locations
st <- data.frame(name=c('Almeria','Granada','Huelva','Malaga','Caceres'),
elev=c(42, 702, 38, 29, 448))
coordinates(st) <- cbind(c(-2.46, -3.60, -6.94, -4.42, -6.37),
c(36.84, 37.18, 37.26, 36.63, 39.47)
)
proj4string(st) <- '+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0'
## Extract values for some locations
vals <- extract(wrf, st)
vals <- zoo(t(vals), getZ(wrf))
names(vals) <- st$name
xyplot(vals)
## End(Not run)