2017-10-18 4 views
0

私はnetCDFの出力ファイルをncdumpとlinux "od"ユーティリティを通して調べようとしています。私は私が何を見ているかについて質問をします。例えば、ncdumpから、私は今、データNetCDFファイルのバイナリダンプを簡単に行うことはできますか?

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

の(多くの行のうち)1行を取得し、私は私が見つけることを期待する同じ場所で「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)なぜ私はod出力で同じデータを見つけることができないだろうか? –

+0

ncdumpはヘッダーをテキストとして解釈します。つまり、欠落している値や単位などをメタデータが定義されている場合は、メタデータの生のバイトを表示しているヘッダーをランダムに辿ると、だから1)ncdumpは理解できる形式ですべてを表示しています2)あなたはそれを音でodでダンプした疑いがあります。また、2バイトまたは4バイトの整数や4 /あなたが間違って8バイト倍にすると(あなたは「妥当な」見た目の出力と言いますが、通常は4バイトまたは8バイトの単語を分割するのが妥当ではない –

関連する問題