如果我只有netcdf3工具,如何读取netcdf4数据? 我的学校集群管理员说:如果我们加载netcdf4模块,那么我们就不能加载netcdf3模块。所以他拒绝更新netcdf4 我有一个.nc文件,它是一个netcdf4文件,我想我需要在R中加载它 在集群上的R中,只安装了RNetCDF包。并且无法读取上述.nc文件。ncdf4包不存在。(我试图安装它,它说它需要4版的netcdf库。当然我没有sudo) 在python中,(我不知道为什么)我可以加载netcdf4文件。我不知道我是否可以使用它(以netcdf 3格式保存?)帮助我在R中加载该数据

如果我只有netcdf3工具,如何读取netcdf4数据? 我的学校集群管理员说:如果我们加载netcdf4模块,那么我们就不能加载netcdf3模块。所以他拒绝更新netcdf4 我有一个.nc文件,它是一个netcdf4文件,我想我需要在R中加载它 在集群上的R中,只安装了RNetCDF包。并且无法读取上述.nc文件。ncdf4包不存在。(我试图安装它,它说它需要4版的netcdf库。当然我没有sudo) 在python中,(我不知道为什么)我可以加载netcdf4文件。我不知道我是否可以使用它(以netcdf 3格式保存?)帮助我在R中加载该数据,python,r,netcdf,python-xarray,Python,R,Netcdf,Python Xarray,那么,我该怎么办 管理员不想切换到netcdf4模块,因此我(或他)似乎无法在R中安装ncdf4包 一些nc数据直接从一些网站下载,一些nc文件来自python中xarray包的输出(xarray的netcdf输出在版本4中) 使用xarray,在调用到\u netcdf时,您可以通过指定格式

那么,我该怎么办

  • 管理员不想切换到netcdf4模块,因此我(或他)似乎无法在R中安装
    ncdf4
  • 一些
    nc
    数据直接从一些网站下载,一些
    nc
    文件来自python中
    xarray
    包的输出(xarray的netcdf输出在版本4中)

使用xarray,在调用
到\u netcdf
时,您可以通过指定
格式
来控制保存的文件的版本。因此,一个简单的解决方案可能是使用xarray,例如

ds = xarray.open_dataset(path)
ds.to_netcdf(dest, format='NETCDF3_CLASSIC')

我收到一条错误消息:RuntimeError:NetCDF:一个或多个变量大小违反了格式约束。所以,可能是因为数据集太大(5.2G)?事实上,netCDF3是一种非常旧的(32位)文件格式——它在任何情况下都不支持大于4GB的可变大小。谢谢!这很有帮助,因为即使我可以用上面的
rhdf5
包加载此数据,时间(日期)仍然丢失,并且只显示“0,1,2,3,4,5…”,这显示了一些错误,如“使用64位而不丢失信息”…hdf5可以读取netCDF4…谢谢@DavidLeBauer!这很有帮助。我在谷歌上搜索了这篇文章:,它使用R中的rhdf5包来读取nc4文件。