need to split up the array in one dimention to make scatter and gathers operate on contiguous memory blocks, otherwise it probably needs to use mpi-io.