I want to implement an MPI-IO solution for some of the IO in a large atmospheric data assimilation system. Years ago I got some small demonstration Fortran programs ( I think from Bill Gropp) that seem to be good candidate prototypes for what I need. Two of them are attached as part of simple shell script wrappers (writea, writeb). Both programs are doing equivalent things to write a small test file, but using different MPI functions. Specifically, 'writea' does multiple writes into the file using the 'MPI_FILE_SEEK', while 'writeb' does one write call using 'MPI_TYPE_CREATE_SUBARRAY', and 'MPI_FILE_SET_VIEW'. My problem is that while 'writea' works correctly, ' writeb' fails with an IO_ERROR error code returned from the final 'MPI_FILE_WRITE' call. I have look at the code carefully and studied the MPI standard for the functions used, and can't see what is wrong with the failing call, but I must be missing something. I seem to remember the program running correctly years ago, but that was on another platform and MPI environment.
My test environment is 64 bit Linux (Scientific Linux 5.5), Intel fortran 12.0.0, and OpenMPI 1.4.3. I have attached gzipped output from 'ompi_info' along with the two scripts. I would appreciate any advice or corrections. T. Rosmond
writea
Description: C-Shell script
writeb
Description: C-Shell script
ompiinfo.gz
Description: GNU Zip compressed data