Daniel,
It looks like you are using parallel HDF5.
The call to h5fcreate_f would be slightly different in a parallel case: you
need to specify an access property list that is set up for parallel access as
shown here:
.......
!
! Setup file access property list with parallel I/O access.
!
CALL h5pcreate_f(H5P_FILE_ACCESS_F, plist_id, error)
^^^^^^^^
CALL h5pset_fapl_mpio_f(plist_id, comm, info, error)
^^^^^^^^^
!
! Create the file collectively.
^^^^^^^^^^^^
!
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error, access_prp =
plist_id)
........
^^^^^^^^^^^^^^^^^^^^^^
File has to be created collectively, i.e., ALL processes in communicator should
participate.
Please see Parallel Tutorial http://www.hdfgroup.org/HDF5/Tutor/parallel.html,
and Fortran example http://www.hdfgroup.org/HDF5/Tutor/pcrtaccd.html.
Elena
On Jan 25, 2011, at 12:10 PM, Daniel Dombroski wrote:
> Hello,
>
> I am a new user with a basic question regarding specifying the directory
> location for a file that I would like to create.
>
> I have an existing Fortran code that is currently setup to use the FITS
> libraries for I/O, and I'm trying to get it setup so that HDF5 can
> alternatively be used for I/O.
>
> The subroutine I have for creating and writing to an HDF5 file seems to work
> fine when trying to write out a file to the current directory, but it runs
> into problems when trying to specify a more complex path for the file
> creation.
>
> As an example,
>
>
> call h5fcreate_f('file.h5',H5F_ACC_TRUNC_F,fid,error)
>
>
> seems to work just fine in creating the desired file 'file.h5' in the current
> directory. However,
>
> call h5fcreate_f('/work/file.h5',H5F_ACC_TRUNC_F,fid,error)
>
>
> runs into problems. It does create a file 'file.h5' in directory '/work',
> however, it returns errors and the file is empty. I have pasted below the
> errors that are returned in the *.o file
>
> Thanks!
>
>
>
> HDF5-DIAG: Error detected in HDF5 (1.8.4) MPI-process 0:
> #000: H5D.c line 171 in H5Dcreate2(): unable to create dataset
> major: Dataset
> minor: Unable to initialize object
> #001: H5Dint.c line 428 in H5D_create_named(): unable to create and link to
> dataset
> major: Dataset
> minor: Unable to initialize object
> #002: H5L.c line 1639 in H5L_link_object(): unable to create new link to
> object
> major: Links
> minor: Unable to initialize object
> #003: H5L.c line 1862 in H5L_create_real(): can't insert link
> major: Symbol table
> minor: Unable to insert object
> #004: H5Gtraverse.c line 877 in H5G_traverse(): internal path traversal failed
> major: Symbol table
> minor: Object not found
> #005: H5Gtraverse.c line 776 in H5G_traverse_real(): component not found
> major: Symbol table
> minor: Object not found
> HDF5-DIAG: Error detected in HDF5 (1.8.4) 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.4) MPI-process 0:
> #000: H5D.c line 378 in H5Dclose(): not a dataset
> major: Invalid arguments to routine
> minor: Inappropriate type
>
>
>
>
>
>
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> [email protected]
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org