1b184aa6dSCameron Smith #include <mpi.h> 2b184aa6dSCameron Smith #include <stdio.h> 3b184aa6dSCameron Smith #include <stdlib.h> 4b184aa6dSCameron Smith #include <unistd.h> 5b184aa6dSCameron Smith #include "phIO.h" 6b184aa6dSCameron Smith #include "syncio.h" 7b184aa6dSCameron Smith #include "posixio.h" 8*1a21b96dSCameron Smith #include <assert.h> 9b184aa6dSCameron Smith 10b184aa6dSCameron Smith int main(int argc, char* argv[]) { 11b184aa6dSCameron Smith MPI_Init(&argc,&argv); 12b184aa6dSCameron Smith int rank; 13b184aa6dSCameron Smith MPI_Comm_rank(MPI_COMM_WORLD, &rank); 14b184aa6dSCameron Smith const char* iotype = "binary"; 15b184aa6dSCameron Smith int seven = 7; 16b184aa6dSCameron Smith int headerData[7] = {0,0,0,0,0,0,0}; 17b184aa6dSCameron Smith int blocksRead = 0; 18b184aa6dSCameron Smith phio_fp file; 19b184aa6dSCameron Smith posixio_setup(&file, 'r'); 20b184aa6dSCameron Smith phio_openfile("geombc.dat.", file); 21*1a21b96dSCameron Smith for(int i=0;i<2;i++) { 22b184aa6dSCameron Smith phio_readheader(file, "connectivity interior", 23b184aa6dSCameron Smith headerData, &seven, "integer", iotype); 24*1a21b96dSCameron Smith assert(headerData[0] > 0 && headerData[3] > 0); 25*1a21b96dSCameron Smith int size = headerData[0]*headerData[3]; /* neltp*nshl */ 26b184aa6dSCameron Smith fprintf(stderr, "rank %d data[0] %d\n", rank, headerData[0]); 27*1a21b96dSCameron Smith int* vals = (int*) calloc(size,sizeof(int)); 28*1a21b96dSCameron Smith phio_readdatablock(file,"connectivity interior",vals,&size,"integer",iotype); 29*1a21b96dSCameron Smith free(vals); 30b184aa6dSCameron Smith blocksRead += (headerData[0] > 0); 31*1a21b96dSCameron Smith } 32b184aa6dSCameron Smith phio_closefile(file); 33b184aa6dSCameron Smith MPI_Barrier(MPI_COMM_WORLD); 34b184aa6dSCameron Smith fprintf(stderr, "rank %d number of blocks read %d\n", rank, blocksRead); 35b184aa6dSCameron Smith MPI_Finalize(); 36b184aa6dSCameron Smith return (blocksRead==2); 37b184aa6dSCameron Smith } 38