I'm having problems in the creation of files for parallel IO:
using the standard file creation: nf90_create(FILE_NAME, NF90_NETCDF4, ncid,
comm = MPI_COMM_WORLD,info = MPI_INFO_NULL)
I receive the following error:
"Can't add HDF5 file metadata"
However, an empty file gets created and when I run the program (the parallel
test from the netcdf tutorials) a second time, everything works out.
I've found the following information:
http://www.unidata.ucar.edu/support/help/MailArchives/netcdf/msg08863.html
where it is suggested, that instead of using NF90_NETCDF4 one should use
NC_MPIIO or NC_MPIPOSIX, however, those are part of the c-interface and not of
the nf90 interface and corresponding constants for the f90 interface don't
exist?!
Now, if I declare them myself locally as in:
integer, parameter :: NF90_MPIIO=8192,NF90_MPIPOSIX=16384
correspnding to netcdf.h:
#define NC_MPIIO 0x2000
#define NC_MPIPOSIX 0x4000
and use them instead of NF90_NETCDF4 the small test from the tutorial works
neatly.
So now I'm wondering:
-why don't the constants corresponding to NC_MPIIO and NC_MPIPOSIX exist in the
F90 interface?
-why do the parallel examples in tutoial and distribution examples as of
netcdf-4.1.1 use the NF90_NETCDF4 mode, if it doesn't work?
I'm sure I'm missing something here or getting something wrong, so anybody that
could shed some light on this, please answer...
Thanks,
Momme