用多个变量处理R中的netcdf文件

时间:2019-11-14 17:49:06

标签: r raster netcdf netcdf4

编辑

自从取得一些进展以来,我已经编辑了问题。

我正在尝试处理此网站中存在的地球数据。 http://berkeleyearth.org/data/。要获取样本数据:

向下滚动到:

每日土地(实验性; 1880年-最近)> 平均高温(TMAX)> 1ºx1º纬度-经度网格(每十年200-450 MB)> 1990-1999

此netCDF文件描述了1990-1999年每天的平均tmax和异常,这是经度和纬度的函数。我也有另一组lat lon,我想为此提取每日平均tmax和异常数据。这就是我要去做的。

<link href="_content/Blazored.Typeahead/blazored-typeahead.css" rel="stylesheet" />

我不确定此错误是什么意思,以及我在这里做错了什么导致此错误。

1 个答案:

答案 0 :(得分:0)

如果由于大小原因将栅格图层保留在磁盘上而不存储在内存中:

> inMemory(tempClim)
[1] FALSE

然后extract失败:

> extract(tempClim, spts)
Error in if (x@file@nodatavalue < 0) { : 
  missing value where TRUE/FALSE needed

要求R读入它并起作用:

> extract(readAll(tempClim), spts)
 [1] 23.83663 27.29292 28.61940 24.58966 23.86629 27.96306 27.10444 30.01295
 [9] 22.47180 29.46369 22.79476 23.86629 23.55748 27.75946 22.86436 30.12937

尽管tempClim并不大(180x360),但它来自大型结构:

> dim(climtest)
[1] 180 360 365

,R会推迟从磁盘读取数据,直到您告诉它为止。通过包装readAll可以做到这一点。我不知道为什么extract不能显示更好的错误消息,但是我在这里也收到了deja vu的信息...