Skip to content

Instantly share code, notes, and snippets.

@oscarperpinan
Created February 2, 2014 16:04
Show Gist options
  • Save oscarperpinan/8770518 to your computer and use it in GitHub Desktop.
Save oscarperpinan/8770518 to your computer and use it in GitHub Desktop.
Using meteo package
## devtools::install_github('meteo', 'oscarperpinan')
library(meteo)
Sys.setenv(TZ='UTC')
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'
pts <- coordinates(st)
## compare getRaster and getPoint
OM <- lapply(seq_len(nrow(pts)), function(i) getPoint(pts[i,1], pts[i,2], vars='temp', service='openmeteo'))
names(OM) <- st$name
OM <- do.call(cbind, OM)
OMraster <- getRaster('temp2m', service='openmeteo')
OMpoints <- extract(OMraster, st)
OMzoo <- zoo(t(OMpoints), getZ(OMraster))
names(OMzoo) <- st$name
compPoints <- cbind(OM, OMzoo)
xyplot(compPoints, screen=rep(1:5, 2), col=rep(c('red', 'black'), each=5))
xyplot(OM - OMzoo, superpose=TRUE)
## Compare services
comp <- lapply(seq_len(nrow(pts)), function(i){
myPoint <- pts[i,]
MG <- getPoint(myPoint[1], myPoint[2], vars='temp', run='00', service='meteogalicia')
MG <- MG - 273
OM <- getPoint(myPoint[1], myPoint[2], vars='temp', service='openmeteo')
wrf <- merge(OM, MG)
})
xyplot(comp, superpose=TRUE)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment