2016-12-12 5 views
1

출력 데이터를 덤프하는 데 HDF5 라이브러리를 사용하는 포트란 코드에서 작업합니다. 나는 문제없이 슈퍼 컴퓨터에서 코드를 실행 해왔다. 최근에 컴퓨터에 HDF5 라이브러리가 설치된 로컬 클러스터에서 코드를 시도했습니다. 그러나 출력 부분에서 다음 오류가 발생하는 것을 제외하고는 코드가 제대로 실행됩니다.HDF5가 파일 오류를 만들 수 없습니다.

나는이 문제를 인터넷에서 매우 광범위하게 연구했다. 그러나 내가 보는 해결책의 대부분은 코드에 매우 구체적입니다. 나는이 오류가 근본적인 문제로 인한 것이라고 믿는다. 누군가가 나를 설명 할 수 있습니까, 왜 오류가오고 있습니까?

15:34:05 - Dumping OD... 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5F.c line 522 in H5Fcreate(): unable to create file 
    major: File accessibilty 
    minor: Unable to open file 
    #001: H5Fint.c line 992 in H5F_open(): unable to open file: time = Mon Dec 12 15:34:05 2016 
, name = './Production/od_out_t00000010-0067858932.h5', tent_flags = 13 
    major: File accessibilty 
    minor: Unable to open file 
    #002: H5FD.c line 993 in H5FD_open(): open failed 
    major: Virtual File Layer 
    minor: Unable to initialize object 
    #003: H5FDmpio.c line 1059 in H5FD_mpio_open(): MPI_File_open failed 
    major: Internal error (too specific to document in detail) 
    minor: Some MPI function failed 
    #004: H5FDmpio.c line 1059 in H5FD_mpio_open(): MPI_ERR_FILE: invalid file 
    major: Internal error (too specific to document in detail) 
    minor: MPI Error String 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5D.c line 165 in H5Dcreate2(): not a location ID 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
    #001: H5Gloc.c line 253 in H5G_loc(): invalid object ID 
    major: Invalid arguments to routine 
    minor: Bad value 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5D.c line 460 in H5Dget_space(): not a dataset 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5Dio.c line 228 in H5Dwrite(): not a dataset 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5S.c line 392 in H5Sclose(): not a dataspace 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5D.c line 415 in H5Dclose(): not a dataset 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5F.c line 774 in H5Fclose(): not a file ID 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5F.c line 604 in H5Fopen(): unable to open file 
    major: File accessibilty 
    minor: Unable to open file 
    #001: H5Fint.c line 992 in H5F_open(): unable to open file: time = Mon Dec 12 15:34:05 2016 
, name = './Production/od_out_t00000010-0067858932.h5', tent_flags = 1 
    major: File accessibilty 
    minor: Unable to open file 
    #002: H5FD.c line 993 in H5FD_open(): open failed 
    major: Virtual File Layer 
    minor: Unable to initialize object 
    #003: H5FDsec2.c line 339 in H5FD_sec2_open(): unable to open file: name = './Production/od_out_t00000010-0067858932.h5', errno = 2, error message = 'No such file or directory', flags = 1, o_flags = 2 
    major: File accessibilty 
    minor: Unable to open file 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5D.c line 340 in H5Dopen2(): not a location 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
    #001: H5Gloc.c line 253 in H5G_loc(): invalid object ID 
    major: Invalid arguments to routine 
    minor: Bad value 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5A.c line 247 in H5Acreate2(): not a location 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
    #001: H5Gloc.c line 253 in H5G_loc(): invalid object ID 
    major: Invalid arguments to routine 
    minor: Bad value 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5A.c line 591 in H5Awrite(): not an attribute 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5A.c line 1602 in H5Aclose(): not an attribute 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5D.c line 415 in H5Dclose(): not a dataset 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5F.c line 774 in H5Fclose(): not a file ID 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
15:34:05 - Finished dumping HDF5 data. 
+1

선택한 위치에 파일을 쓰는 데 필요한 권한이 있습니까? –

+0

출력의 같은 디렉토리에있는 테스트 파일을'터치 '했습니다. 쓰기 권한이 필요합니다. –

+0

방금 ​​비슷한 오류가있는 사람을 찾았습니다 : https://groups.google.com/forum/#!topic/pflotran-users/ZPqqkROX9hc. 인텔 v16에서 v15로 다운 그레이드하는 대화에 관한 세 번째 댓글은이 문제를 해결했습니다. 나는 또한 인텔 v16을 사용합니다. 그런 일이 일어나는 이유에 대한 당신의 견해? –

답변

0

나의 제안 조치를 작성, 각 데이터에 대한

CALL h5dclose_f(dset_id, ierr) ! terminate create dataset; 

를 추가하는 것입니다. 그것은 나를 위해 작동합니다.

+0

'비슷한 질문이 있습니다.'를 사용하지 않는 것이 좋습니다. 처음 모습을 묻는 것처럼 보일 수도 있고, 일부 사람들은 더 이상 읽고 질문을하지 않을 수도 있습니다. –