打开netcdf文件时,R崩溃了。

4
我下载了一个netcdf文件,现在想在R中打开它。以下是我的代码:
download.file("https://data.giss.nasa.gov/impacts/agmipcf/agmerra/AgMERRA_1980_prate.nc4",destfile = "AgMERRA_1980_prate.nc4", method="libcurl")

我想使用R语言打开netcdf文件。
library(ncdf4)
my.file <- nc_open("AgMERRA_1980_prate.nc4")

然而,每次我这样做时,R都会崩溃。 enter image description here 我的代码有问题还是R Studio有问题?
sessionInfo() R版本3.5.0(2018-04-23) 平台:x86_64-w64-mingw32/x64(64位) 运行环境:Windows 7 x64(build 7601)Service Pack 1
矩阵乘积:默认值
编辑
如果我手动下载文件,则可以打开它。 所以我下载的方式可能有问题。 有什么建议吗?
2个回答

3
我怀疑这个问题是下载NetCDF文件:手动可以,download.file会产生错误的重复。 @Luis在那里建议使用mode = "wb"而不是默认值mode = "w",对我来说成功地避免了R 4.0.2、RStudio 1.3.959和ncdf 1.17中nc_open()崩溃的问题。wb告诉download.file()将文件视为二进制文件,与netCDF格式一致。
对于此处感兴趣的数据,应该是:
download.file("https://data.giss.nasa.gov/impacts/agmipcf/agmerra/AgMERRA_1980_prate.nc4", destfile = "AgMERRA_1980_prate.nc4", method = "libcurl", mode = "wb")

非常有用!使用 model = "wb",我可以在 Windows 上使用任何一种方法。 - Danny
1
嗨!我遇到了一个类似的问题:当尝试自动打开从thredds服务器下载的.nc文件时,R会崩溃,但手动保存的文件没有问题。然而,即使在我的情况下,使用 mode =“wb” 似乎也解决不了问题...有人发现其他解释了吗? - Timelate
+1 我们在从Thredds服务器直接下载时遇到了同样的问题。这似乎与文件大小大于1GB有关(相同空间范围的较小时间子集可以正常下载)。 - Thomas Moore
对于不使用Windows的人来说,一个可能的选择是mode =“ab”是合适的。我没有在*nix上尝试过,也没有需要下载大型netCDF文件的经验,因此在这方面没有直接的经验。 - Todd West

0

我不确定这里发生了什么,可能是与Windows有关。我尝试在没有method="libcurl"参数的情况下下载,似乎可以正常工作。

download.file("https://data.giss.nasa.gov/impacts/agmipcf/agmerra/AgMERRA_1980_prate.nc4",
destfile = "AgMERRA_1980_prate.nc4")



library(ncdf4)
my.file <- nc_open("AgMERRA_1980_prate.nc4")


File AgMERRA_1980_prate.nc4 (NC_FORMAT_NETCDF4):

     1 variables (excluding dimension variables):
        short prate[longitude,latitude,time]   (Chunking: [1440,720,1])  (Compression: level 9)
            _FillValue: 32767
            description: Precipitation Rate
            units: mm/day
            add_offset: 0
            scale_factor: 0.100000001490116
            vMin_original_data: 0
            vMax_original_data: 457.399993896484
            vRange: 457.399993896484

     3 dimensions:
        time  Size:366   *** is unlimited ***
            units: days since 1980 01-01-01 12:00:00
        latitude  Size:720
            units: degrees_north
        longitude  Size:1440
            units: degrees_east

    4 global attributes:
        history: Tue Aug 12 16:42:13 EDT 2014
        source: AgMIP / Alex Ruane
        title: AgMERRA v1.1 Precipitation Rate
        center: NASA GISS

我的会话信息 -

R version 3.5.0 (2018-04-23)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接