2017-10-18 89 views
0

我想通过ncdump来检查一个netCDF输出文件,并且通过linux的“od”工具。我有一个关于我所看到的问题。例如,从ncdump,我得到一个线(出很多行)数据我们可以做简单的NetCDF文件二进制转储吗?

-10.55448, -10.52312, -10.4916, -10.46023, -10.42887, -10.39742, -10.36587, 

现在,我尝试检查与“OD”效用相同的文件,在这里我希望找到的相同点上面的数字,

od -c -Ad -tf4 -j 2017 output.nc 

,我得到完全不同的东西:

0002017 311 c 344 301 (337 ' 301 (^260 301 ' 335 224 301 
      -28.548723  -10.4919815  -22.045975  -18.607985 
0002033 ' ] 034 301 & 334 245 301 & [ 320 301 % 332 235 301 
       -9.772742  -20.732494  -26.044506  -19.731516 

也就是说,识别浮点数是不是在所有我从ncdump得到。

不仅我期望的数字不会出现在我预期的位置,而且od输出中的第一对数字-28.54872和-10.49198(四舍五入为5位)不会显示在任何位置完全在ncdump输出中。

这是合理的吗? netCDF是否将大量元数据与其数据混合在一起,以便不可能对netCDF文件进行直接二进制转储?或者有什么奇怪的事情发生?

回答

0

想到的直接想法是,你怎么知道标题是多长?您正在跳过第一个2017字节,但您是如何解决这个问题的?我怀疑你倾销的数字实际上构成了元数据的一部分,而不是数据本身,因此你不能用ncdump | grep X

ncview是很可靠它读取标题并确切知道数据记录的位置 - 我相信输出。我总是建议使用专门为文件格式设计的公用程序/包来读取netcdf文件。

对不起,我不能更具体/有帮助,但很难调查或回答这个没有访问的文件。

+0

我尝试了“od”中的偏移量,寻找能够产生合理的输出结果的值。 2017年是该街区唯一的候选人。我确实相信ncdump的输出。至少,我相信它向我展示的是什么。我只是想知道1)它可能没有显示什么,2)为什么我不能在输出中找到相同的数据? –

+0

ncdump显示标题解释为文本,即它告诉你缺少的值,单位等,如果这些元数据被定义,如果你随机拖过标题与OD你显示元数据的原始字节。所以对于1)ncdump以一种可以理解的形式向你展示一切,并且2)我怀疑你是否已经用整个文件的声音转储了整个文件,甚至可能最终将2或4个字节的整数或4/8字节错误加倍(你说“合理的”看输出,当不合理的时候通常是当你分裂4或8字节的字 –

相关问题