use HDF5.IOusingMPI;


import HDF5.IOusingMPI;

A module to encapsulate functions that use the MPI module so that it is not initialized unless these functions are actually used.

proc hdf5WriteDistributedArray(A: [], filename: string, dsetName: string)

Write the Block distributed Array A as an HDF5 dataset named dsetName in the file filename using parallel collective IO. This requires the hdf5-parallel library, which requires the MPI library.

The file written by this function can be read in parallel with the function hdf5ReadDistributedArray. The write and read operations can use arrays distributed over different numbers of locales.

proc hdf5ReadDistributedArray(A, filename: string, dsetName: string)

Read the HDF5 dataset named dsetName from the file filename into the distributed array A. Each locale reads its local portion of the array from the file.

This function can read the file that is generated by hdf5WriteDistributedArray.

Currently only Block and Cyclic distributed arrays are supported.