3

こんにちは、私はこれに慣れていないので、ほとんどのことについての私の一般的な理解の欠如を許してください:]

私が勤務しているラボで、長い間亡くなった学生によって書かれた CFD コードにグリッド ファイルを読み込もうとしています。ファイルは、64 ビット浮動小数点でフォーマットされていないビッグ エンディアンの Fortran です。ファイル内のコード読み取り部分を適切に変更できるように、画面上で読み取ることができる何らかのテキスト ファイルまたはデータ ファイルが必要です。数回のグーグル検索の後、私は途方に暮れています(私は決してコンピューターサイエンスの人ではありません)が、ビッグエンディアンとは何か、フォーマットされていないファイルとは何かを一般的に理解していると思います。これらのファイルを読み取り可能なものに変換するにはどうすればよいですか? 提供できるヘルプをありがとう!! また、変換する必要があるグリッド ファイルへのリンクが役立つ場合は、

ftp://cmb24.larc.nasa.gov/outgoing/DPW5/unstructured_grids.REV01/

再度、感謝します!!

--M

4

2 に答える 2

1

あなたはpythonとnumpyで遊ぶことができます:

from __future__ import print_function, division
import numpy as np

file = "L1.T.rev01.p3d.hex.r8.ugrid"
n=8
dt = np.dtype([('field0','>f8'), ('field1', '>f8'), ('field2', '>f8')])
ndt = len(dt)
data = np.fromfile(file, dt, count=n) #omit count= to read all records

for row in data:
    print(row)
    #print(row['field0'])

以下を画面に出力しました:

(5.9416208318e-313, 2.0743e-319, 0.0)
(3.15696e-318, 5.94342273776e-313, 260.16056)
(0.0, 118.46084, 272.1421)
(0.0, 115.94573, 284.80264)
(0.0, 113.49254, 298.1431)
(0.0, 111.13511, 312.15776)
(0.0, 108.90879, 326.83354)
(0.0, 106.84945, 342.14944)

ヘッダーの処理方法はわかりませんが、効率的な方法で作成する numpy-arrays-from-binary-filesが役立つ場合があります。numpy のビッグ エンディアン、スモール エンディアン、およびその他のデータ型については、データ型オブジェクトを参照してください。

于 2013-07-10T23:17:10.557 に答える
0

おそらくこの形式のようです:

http://www.simcenter.msstate.edu/docs/ug_io/file_formats.html

...そして、ここからいくつかのソフトウェアで開くことができるかもしれませんか?:

http://www.laerdal.com/us/SimCenter

これは正しい線に沿っていますか?あなたのファイルはシミュレーションに関するもので、ファイルには 3D シーン データが含まれていますか (これは一見しただけの私の推測です)。

...もしそうなら、私は可能であれば技術サポートチャンネルを調べてみます - おそらくそこにいる誰かがそれについてもっと知っているでしょう

http://www.laerdal.com/us/doc/417/Technical-Support

于 2013-07-10T21:59:21.857 に答える