R在打开netcdf文件时崩溃
Posted
技术标签:
【中文标题】R在打开netcdf文件时崩溃【英文标题】:R crashes while opening netcdf file 【发布时间】:2019-01-25 10:48:02 【问题描述】:我下载了一个 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 都会崩溃。
我的代码有问题还是 R studio 有问题?
会话信息() R 版本 3.5.0 (2018-04-23) 平台:x86_64-w64-mingw32/x64(64位) 运行于:Windows 7 x64 (build 7601) Service Pack 1
矩阵产品:默认
编辑
如果我手动下载文件,我可以打开它。所以我下载它的方式一定有问题。有什么建议吗?
【问题讨论】:
【参考方案1】:我怀疑这个问题与Downloading NetCDF files with R: Manually works, download.file produces error 重复。 @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 上的任何方法。【参考方案2】:
我不确定这里发生了什么,可能是特定于 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
【讨论】:
以上是关于R在打开netcdf文件时崩溃的主要内容,如果未能解决你的问题,请参考以下文章