我正在尝试从名为 OPenDAP 的开放在线数据库下载和打开 netcdf 文件。当我直接从 OPenDAP 的服务器数据集访问表单下载数据文件时,将文件命名为“MUR_JPL_L4_GLOB_opendap.nc.nc4”,我可以在 R Studio 中成功下载和查看数据。
library("ncdf4")
GHRSST<-nc_open("MUR_JPL_L4_GLOB_opendap.nc.nc4")
print(GHRSST)
nc_close(GHRSST)
此外,当我将数据访问表单的数据 URL 直接插入浏览器时,(例如,“ http://podaac-opendap.jpl.nasa.gov/opendap/allData/ghrsst/data/GDS2/L4/GLOB/JPL/ MUR/v4.1/2009/009/20090109090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1.nc.nc4?lat[0:1:17998],lon[0:1:35999 ],analysed_sst[0:1:0][0:1:17998][0:1:35999] "),命名文件为“MUR_JPL_L4_GLOB_browser.nc.nc4”,我可以在R Studio中成功下载并查看数据.
library("ncdf4")
GHRSST<-nc_open("MUR_JPL_L4_GLOB_browser.nc.nc4")
print(GHRSST)
nc_close(GHRSST)
当我尝试在 R Studio 中使用 download.file() 函数直接从上面的 URL 下载数据时,我也可以成功下载文件。
download.file("http://podaac-opendap.jpl.nasa.gov/opendap/allData/ghrsst/data/GDS2/L4/GLOB/JPL/MUR/v4.1/2009/009/20090109090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1.nc.nc4?lat[0:1:17998],lon[0:1:35999],analysed_sst[0:1:0][0:1:17998][0:1:35999]","MUR_JPL_L4_GLOB_rstudio.nc.nc4")
但是,在 RStudio 中下载的该数据文件(“MUR_JPL_L4_GLOB_rstudio.nc.nc4”)无法使用“ncdf4”包中的 nc_open() 函数在 R Studio 中打开。当我尝试使用以下代码打开文件时,R Studio 报告“断言失败”错误,然后 R Studio 立即崩溃。
library("ncdf4")
GHRSST<-nc_open("MUR_JPL_L4_GLOB_rstudio.nc.nc4")
ASSERTION FAILED!...
我的 R Studio 版本和 ncdf4 包是最新的。我在 Rgui 中尝试了相同的代码,但出现了类似的错误消息和崩溃。我也在另一台计算机上尝试过,结果相同,并使用不同的下载功能,例如“下载器”包中的“下载”,但它也以同样的方式失败。我还下载了文件的一小部分,以防大文件大小出现问题,但这没有帮助。
我的问题是:
1) 为什么使用 download.file() 函数打开 RStudio 下载的文件会导致 R Studio 崩溃,而我的浏览器直接下载的文件正常运行?2)你知道任何可以让我解决这个问题的修复吗?
我的最终目标是下载和处理其中的许多文件,这就是为什么使用浏览器手动下载所有数据不是一个好选择的原因。
我的 sessionInfo() 如下:
R 版本 3.3.2 (2016-10-31) 平台:x86_64-w64-mingw32/x64 (64-bit) 运行于:Windows >= 8 x64 (build 9200)
语言环境:[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 [4] LC_NUMERIC=C LC_TIME=English_United States.1252
附加的基础包:[1] stats graphics grDevices utils datasets methods base
其他附加软件包:[1] ncdf4_1.15
通过命名空间加载(未附加):[1] tools_3.3.2
在此先感谢您的帮助。