R/leaflet으로 파랑 모델의 파고를 시각화
wgrib2
에서 netcdf로 변환.wget https://nomads.ncep.noaa.gov/pub/data/nccf/com/gens/prod/gefs.20210401/06/wave/gridded/gefs.wave.t06z.c00.global.0p25.f003.grib2
wgrib2 gefs.wave.t06z.c00.global.0p25.f003.grib2 -netcdf tmp.nc
leaflet으로 시각화.
library(raster)
library(leaflet)
r <- raster(x = "tmp.nc", varname = "HTSGW_surface")
leaflet() %>%
addTiles() %>%
addRasterImage(r, opacity = 0.5) %>%
setView(lng = 0, lat = 0, zoom = 2)
lat&lng의 최소 최대값 확인.
library(ncdf4)
nc <- nc_open(filename = "tmp.nc")
lat <- ncvar_get(nc = nc, varid = "latitude")
range(lat)
#[1] -90 90
lng <- ncvar_get(nc = nc, varid = "longitude")
range(lng)
#[1] 0.00 359.75
tmp <- ifelse(lng > 180, -360 + lng, lng)
range(tmp)
#[1] -180.00 179.75
leaflet으로 시각화할 때는 lng이 0~359.75도라면 180도 이상을 표시할 수 없다(같다).
그래서
cdo
로 0~359.75도를 -180~179.75도로 변환.cdo sellonlatbox,-180,179.75,-90,90 tmp.nc gefs.wave.t06z.c00.global.0p25.f003.nc
다시 시각화.
library(raster)
library(leaflet)
r <- raster(x = "gefs.wave.t06z.c00.global.0p25.f003.nc", varname = "HTSGW_surface")
leaflet() %>%
addTiles() %>%
addRasterImage(r, opacity = 0.5) %>%
setView(lng = 0, lat = 0, zoom = 2)
, , , 180도의 데이터가 없기 때문에 틈이 있지만, , , 보간하지 않으면 안 된다고 생각하지만, , , 뭐 좋다. . .
Reference
이 문제에 관하여(R/leaflet으로 파랑 모델의 파고를 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yono2844/items/df42286a4a611e5906b0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)