2016-10-21 14 views
0

私はFedora 21 LinuxのKonsoleシェルにコマンドライン(python3 Collector.py)を実行することによって、.hdf5ファイルを入力として(シミュレーションによって生成された)入力して解析し、統計とプロットを生成するコードを実行しています。私は多くの.pyルーチンを作業ディレクトリにあるgizmoutilitiesという2つの異なるフォルダに入れています。 snapshot_index.hdf5ファイルは、シミュレーションをラップトップの作業ディレクトリ内にあるoutputというローカルディレクトリに実行する別のマシンから別々に(globusソフトウェアを使用して)転送されます。 (0から600までの "index"に対応するファイルがたくさんありますが、snapshot_396.hdf5とsnapshot_600.hdf5のように2つのインデックスしか必要ありません)。シミュレーションは、低解像度と高解像度の2つの異なるモードで実行されます。hdf5デザイナーは.hdf5ファイルを開くことに関連する破損の問題を解決しましたか?

キロバイトサイズの低解像度の.hdf5ファイルがpart式の入力(上記のメインのPythonコード内)の場合、コードを実行して結果を生成できますが、メガバイト私は、エラーの意味を理解していないです

# in utilities.simulation.Snapshot(): 
    read snapshot_times.txt 
    reading snapshot index = 600, redshift = 0.000 


# in gizmo.gizmo_io.Read(): 
    reading header from: ./output/snapshot_600.hdf5 

Traceback (most recent call last): 
    File "Collector.py", line 12, in <module> 
    part=gizmo.io.Read.read_snapshots('all', 'index', 600, element_indices=None) 
    File "/home/username/Desktop/Projects/PaperMaterials/DM_Dominated_Objects/NewFolder2/covering_fractions/Simulations/gizmo/gizmo_io.py", line 314, in read_snapshots 
    'index', snapshot_index, simulation_directory, snapshot_directory, simulation_name) 
    File "/home/username/Desktop/Projects/PaperMaterials/DM_Dominated_Objects/NewFolder2/covering_fractions/Simulations/gizmo/gizmo_io.py", line 513, in read_header 
    file_in = h5py.File(file_name, 'r') # open hdf5 snapshot file 
    File "/usr/lib/python3.4/site-packages/h5py/_hl/files.py", line 222, in __init__ 
    fid = make_fid(name, mode, userblock_size, fapl) 
    File "/usr/lib/python3.4/site-packages/h5py/_hl/files.py", line 79, in make_fid 
    fid = h5f.open(name, h5f.ACC_RDONLY, fapl=fapl) 
    File "h5f.pyx", line 71, in h5py.h5f.open (h5py/h5f.c:1809) 
OSError: Unable to open file (Truncated file: eof = 933756928, sblock->base_addr = 0, stored_eoa = 1765865624) 

:サイズの高解像度.hdf5ファイルはpart表現の入力として、私は次のエラーメッセージを受信して​​います。しかし、私がこのトピックについて検索したところ、.hdf5ファイル(Corrupt files when creating HDF5 files without closing them (h5py))に関する新しい問題ではないことに気付きましたが、私の場合はファイルを開くことができないという理由が異なります。私が理解しているところ(正確にはわからない)から、ファイルは大きすぎるため切り捨てられます。この場合、その解決策は何ですか?そして私が間違っているなら、問題は何ですか? あなたのご協力をよろしくお願い申し上げます。

答えて

1

入力ファイルが壊れているようです。入力ファイルにコマンドラインユーティリティh5dump,h5stat、またはh5lsを実行するとどうなりますか?

あなたの問題は、HDF5のデザイナーや、あなたがリンクしている他の質問(HDF5ファイルの作成中にクラッシュしたプログラムに関する)とは関係ないと思います。ほとんどの場合、あなたの書き込みプログラムにバグがあります。他の有効なHDF5プログラムがあなたのファイルで動作するかどうかを確認することによって、これを確認することができます。

ファイルのサイズが1 GB未満であるように見えますが、これはHDF5ではそれほど大きくありません。

+0

ファイルに適用された3つのコードはすべて「エラー:ファイルを開くことができません」という意味ですsnapshot_index.hdf5 ""そうです。ファイルが壊れています。私はちょうど国の実験室スーパーコンピュータからそれらを移しました。だから私は彼らが墜落したかどうか疑いました。 – Allan

関連する問題