我正在尝试从netCDF4转换到scipy.io netcdf,因为程序要访问的网页没有模块netCDF4。
该程序在netCDF4中非常好地工作,从degK中的温度文件中检索值,给出如下值:
[[ 258.77999878 258.77999878 258.77999878 ..., 258.77999878
258.77999878 258.77999878]
[ 259.29998779 259.54998779 259.82000732 ..., 258.3500061
258.70001221 258.97000122]
[ 264.1000061 264.47000122 264.82000732 ..., 262.40002441
263.04998779 263.6000061 ]].但是,当使用scipy.io时,netcdf和netCDF4中使用的文件相同。程序运行时,应该再次给出degK中的温度值,但其结果如下:
[[-25403 -25403 -25403 ..., -25403 -25403 -25403]
[-25351 -25326 -25299 ..., -25446 -25411 -25384]
[-24871 -24834 -24799 ..., -25041 -24976 -24921]].我只是想知道以前是否有人遇到过这个问题,以及如何解决这个问题,这样scipy.io netcdf程序就会给出相同的值。
发布于 2013-08-09 13:45:40
首先,您需要区分您正在读取的是netCDF 3还是netCDF 4文件.scipy.io.netcdf模块只能读取netCDF 3,所以如果它是netcff-4文件,那么您就倒霉了。这并不是说netCDF-4文件使用HDF-5作为文件存储。也就是说,它看起来像是从您的文件中读取了一些内容,所以很可能您有一个netCDF 3文件。
如果是这样的话,您将需要在温度变量上查找“缩放”和“偏移”属性,并在使用scipy.io.netcdf时直接应用这些属性。netCDF-4-python模块自动查找这些属性,并为您“幕后”应用这些属性,这就是为什么您的数据在浏览该模块时看起来还不错的原因。
干杯,
肖恩
https://stackoverflow.com/questions/18123627
复制相似问题