gpt4 book ai didi

r - 尝试将 NetCDF 导入 R 时出错

转载 作者:行者123 更新时间:2023-12-01 01:09:12 24 4
gpt4 key购买 nike

我正在努力在 R 中打开一个 NetCDF 文件。
当我尝试打开它时

library(ncdf)
# read in NetCDF file
maize.nc<-open.ncdf("C:/Users/Jo/Desktop/pft_harvest_maize.nc")

我收到以下错误消息:
 Error in R_nc_open: NetCDF: Unknown file format
Error in open.ncdf("C:/Users/Jo/Desktop/pft_harvest_maize.nc") :
Error in open.ncdf trying to open file C:/Users/Jo/Desktop/pft_harvest_maize.nc

奇怪的是,另一个 NetCDF 文件与 Runoff-Data 来自完全相同的模拟和完全相同的数据类型打开没有任何问题。

文件大小的差异是径流:56.1 MB(58,870,472 字节)和收获:149 MB(156,968,508 字节)。所以文件实际上并不会太大而不会在打开时失败。有没有人知道如何追溯导致此问题的错误?

使用 RNetCDF包我遇到了同样的问题( Error: NetCDF: Unknown file format )

从 ncdump 我得到:
netcdf pft_harvest_maize {
dimensions:
time = 199 ;
npft = 32 ;
latitude = 78 ;
longitude = 79 ;
variables:
string NamePFT(npft) ;
int time(time) ;
time:units = "Years" ;
float latitude(latitude) ;
latitude:units = "degrees_north" ;
latitude:long_name = "latitude" ;
latitude:standard_name = "latitude" ;
latitude:axis = "Y" ;
float longitude(longitude) ;
longitude:units = "degrees_east" ;
longitude:long_name = "longitude" ;
longitude:standard_name = "longitude" ;
longitude:axis = "X" ;
float harvest(time, npft, latitude, longitude) ;
harvest:units = "gC/m2/yr" ;
harvest:long_name = "harvested carbon" ;
harvest:missing_value = -9999.99f ;
harvest:_FillValue = -9999.99f
}

该文件可以在这里找到:
netCDF-file

最佳答案

来自 ncdump -k 的转储将 netcdf 文件格式设为 netCDF-4。我可以用 ncdf4 打开文件包,因为 ncdf 似乎与版本 4 文件不向后兼容:

"However, the ncdf package does not provide an interface for netcdf version 4 files."



来自 ncdf4文档。
library(ncdf4)
mycdf <- nc_open(file.choose(), verbose = TRUE, write = FALSE)
timedata <- ncvar_get(mycdf,'time')
lat <- ncvar_get(mycdf,'latitude')
long <- ncvar_get(mycdf,'longitude')
harvestdata <- ncvar_get(mycdf,'harvest')

str(harvestdata)


num [1:79, 1:78, 1:32, 1:199] NA NA NA NA NA NA NA NA NA NA ...

关于r - 尝试将 NetCDF 导入 R 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16443211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com