2016-11-17 83 views
1
    1. 我的學校集羣管理員說:如果我們加載netcdf4模塊,那麼我們就無法加載netcdf3模塊。於是,他拒絕更新netcdf4
  • 我有一個.nc文件,這是一個netcdf4文件,我想,我需要將其加載到R.
    1. 在我們集羣中的R上,只安裝了RNetCDF包。它無法讀取上述.nc文件。 ncdf4包不在那裏。 (我嘗試安裝它,它說,它需要的版本4的NetCDF庫,當然我沒有sudo
  • 在蟒蛇,(我不知道知道爲什麼)我可以加載netcdf4文件。我不知道我是否可以使用這個(它保存在創建NetCDF 3格式?)幫我加載R.

這樣的數據,我應該怎麼辦?如果我只有netcdf3工具,如何讀取netcdf4數據?

  • 管理員不想切換到netcdf4模塊,因此它似乎我(或他)不能R.
  • 一些nc數據的安裝包ncdf4直接從一些網站上下載,一些nc文件來自python中xarray包的輸出(並且xarray的netcdf輸出在版本4中)。
+0

HDF5可以閱讀netCDF4 ... –

+0

感謝@DavidLeBauer!這有助於。我用google搜索這個帖子:https://www.r-bloggers.com/working-with-hdf-files-in-r-example-pathfinder-sst-data/,它使用R中的rhdf5包來讀取nc4文件。 – breezeintopl

回答

2

使用xarray,您可以在調用to_netcdf時通過指定format='NETCDF3_CLASSIC'來控制保存的文件的版本。因此,一個簡單的解決辦法可能是使用xarray,例如,

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

好吧,我收到了一條錯誤消息:RuntimeError:NetCDF:一個或多個變量大小違反格式約束。所以,也許是因爲數據集太大(5.2G)? – breezeintopl

+0

事實上,netCDF3是一種非常古老的(32位)文件格式 - 它在任何情況下都不支持大於4GB的可變大小。 – shoyer

+0

謝謝!這是有幫助的,因爲即使我可以使用上面的'rhdf5'包加載這些數據,時間(日期)缺失,只顯示「0,1,2,3,4,5 ...」,它顯示了一些像「使用64位而不會丟失信息」的錯誤... – breezeintopl

相關問題