【R】気象データの表示(US)
2021年1月4日
アメリカの気象データの表示をしてみます。こちらのサイトを参考にさせていただきました。
まずは、アリゾナの地図。
library(sf) library(raster) library(RNetCDF) library(exactextractr) library(rasterVis) library(climateR) library(AOI) AOI = aoi_get(state = "AZ") (extent = st_bbox(AOI)) (crs = st_crs(AOI)$proj4string) plot(AOI$geometry, border = "darkred",lwd = 2) plot(st_as_sfc(extent), add = TRUE, lwd = 3)
降水量
AOI::aoi_get(state = "AZ") %>% AOI::aoi_map(returnMap = TRUE) catolgue = "http://thredds.northwestknowledge.net:8080/thredds/dodsC/" cdm = "agg_met_pr_1979_CurrentYear_CONUS.nc" url = paste0(catolgue, cdm, "#fillmismatch") (nc = RNetCDF::open.nc(url)) X = RNetCDF::var.get.nc(nc, "lon") Y = RNetCDF::var.get.nc(nc, "lat") time = RNetCDF::var.get.nc(nc, "day") length(X) (xmin = which.min(abs(sort(X) - extent$xmin)) - 1) (xmax = which.min(abs(sort(X) - extent$xmax)) - 1) (ymin = which.min(abs(sort(Y) - extent$ymin)) - 1) (ymax = which.min(abs(sort(Y) - extent$ymax)) - 1) time = as.Date("2018-01-19") - as.Date("1979-01-01") (time = as.numeric(time)) url = paste0( catolgue, cdm, "?precipitation_amount", "[", time, ":1:", time, "]", "[", ymin, ":1:", ymax, "]", "[", xmin, ":1:", xmax, "]", "#fillmismatch") (nc = RNetCDF::open.nc(url)) rain = RNetCDF::var.get.nc(nc, "precipitation_amount", unpack = TRUE) dim(rain) plot(raster::raster(rain))
ハリケーンによる降水量
harvey = getGridMET(aoi_get(state = "TX"), param = "prcp", startDate = "2017-08-24", endDate = "2017-08-31") levelplot(harvey$prcp, par.settings = BTCTheme, main = "Hurricane Harvey")