R-绘制netcdf气候数据

R-绘制netcdf气候数据,r,maps,netcdf,R,Maps,Netcdf,我一直在尝试绘制以下网格化netcdf文件:“air.1999.nc”可在以下网站找到: 根据我在这里和其他地方找到的答案,我尝试了下面的代码,但没有成功 library(ncdf); temp.nc <- open.ncdf("air.1999.nc"); temp <- get.var.ncdf(temp.nc,"air"); temp.nc$dim$lon$vals -> lon temp.nc$dim$lat$vals -> lat lat <- re

我一直在尝试绘制以下网格化netcdf文件:“air.1999.nc”可在以下网站找到:

根据我在这里和其他地方找到的答案,我尝试了下面的代码,但没有成功

library(ncdf);
temp.nc <- open.ncdf("air.1999.nc");
temp <- get.var.ncdf(temp.nc,"air");

temp.nc$dim$lon$vals -> lon
temp.nc$dim$lat$vals -> lat

lat <- rev(lat)
temp <- temp[nrow(temp):1,]

temp[temp==-32767] <- NA
temp <- t(temp)

image(lon,lat,temp)
library(maptools)
data(wrld_simpl)
plot(wrld_simpl, add = TRUE)
库(ncdf);
数控车床温度

lat在您从
lat链接整个零件的问题中,此示例是否有帮助?第41页:使用
rworldmap
ncdf
一起映射netCDF数据在某种程度上可以给出一个示例,但我希望能够看到绘制我提到的数据所需的代码的工作示例。但感谢您的链接,我将进一步探索。快速浏览之后,我将使用包
光栅
,它现在比我的包更好地执行光栅和netcdf操作。试试这个stackoverflow帖子和链接:谢谢你的回复和代码示例,非常感谢。lon调整不正确。你可以在太平洋上看到非洲。我想应该是
lon[lon>180]180]-360
temp.nc <- open.ncdf("~/Downloads/air.1999.nc")
temp.nc
[1] "file ~/Downloads/air.1999.nc has 4 dimensions:"
[1] "lon   Size: 144"
[1] "lat   Size: 73"
[1] "level   Size: 12"
[1] "time   Size: 365"
[1] "------------------------"
[1] "file ~/Downloads/air.1999.nc has 2 variables:"
[1] "short air[lon,lat,level,time]  Longname:Air temperature Missval:32767"
[1] "short head[level,time]  Longname:Missing Missval:NA"
temp <- get.var.ncdf(temp.nc,"air")
temp[temp=="32767"] <- NA
temp.nc$dim$lon$vals -> lon
temp.nc$dim$lat$vals -> lat
temp.nc$dim$time$vals -> time
temp.nc$dim$level$vals -> lev
lat <- rev(lat)
temp <- temp[, ncol(temp):1, , ] #lat being our dimension number 2
lon <- lon -180
temp11 <- temp[ , , 1, 1] #Level is the third dimension and time the fourth.
image(lon,lat,temp11) 
library(maptools)
data(wrld_simpl)
plot(wrld_simpl,add=TRUE)