xref: /phasta/phSolver/common/test/phIOreadheader.cc (revision 3138ee3cd81ab57bca0f7237ee13937a45cebcf2)
10bfd2916SCameron Smith #include <mpi.h>
2*3138ee3cSCameron Smith #include <stdio.h>
3*3138ee3cSCameron Smith #include <stdlib.h>
4*3138ee3cSCameron Smith #include <unistd.h>
50bfd2916SCameron Smith #include "phIO.h"
60bfd2916SCameron Smith 
70bfd2916SCameron Smith int main(int argc, char* argv[]) {
80bfd2916SCameron Smith   MPI_Init(&argc,&argv);
9*3138ee3cSCameron Smith   int rank;
10*3138ee3cSCameron Smith   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
11*3138ee3cSCameron Smith   if( argc != 2 ) {
12*3138ee3cSCameron Smith     fprintf(stderr, "Usage: %s <numSyncFiles>\n",argv[0]);
13*3138ee3cSCameron Smith     MPI_Finalize();
14*3138ee3cSCameron Smith     return 1;
15*3138ee3cSCameron Smith   }
160bfd2916SCameron Smith   const char* iotype = "binary";
17*3138ee3cSCameron Smith   int numberOfNodes[2] = {0,0};
18*3138ee3cSCameron Smith   int nfiles[2] = {atoi(argv[1]), 1};
19*3138ee3cSCameron Smith   const char* dir[2] = {"4-procs_case-SyncIO-2", "4-procs_case-Posix"};
20*3138ee3cSCameron Smith   const char* filename[2] = {"geombc-dat.", "geombc.dat."};
21*3138ee3cSCameron Smith   phio_fp file;
220bfd2916SCameron Smith   int one = 1;
230bfd2916SCameron Smith   for(int i=0; i<2; i++) {
24*3138ee3cSCameron Smith     chdir(dir[i]);
25*3138ee3cSCameron Smith     MPI_Barrier(MPI_COMM_WORLD);
26*3138ee3cSCameron Smith     phio_openfile_read(filename[i], &(nfiles[i]), &file);
27*3138ee3cSCameron Smith     phio_readheader(file, "number of nodes", &(numberOfNodes[i]),
280bfd2916SCameron Smith         &one, "integer", iotype);
29*3138ee3cSCameron Smith     phio_closefile_read(file);
30*3138ee3cSCameron Smith     chdir("..");
31*3138ee3cSCameron Smith     MPI_Barrier(MPI_COMM_WORLD);
320bfd2916SCameron Smith   }
330bfd2916SCameron Smith   int match = (numberOfNodes[0] == numberOfNodes[1]);
34*3138ee3cSCameron Smith   if(!rank && match)
35*3138ee3cSCameron Smith     fprintf(stderr, "number of nodes match!\n");
36*3138ee3cSCameron Smith   if(!rank && !match)
37*3138ee3cSCameron Smith     fprintf(stderr, "number of nodes don't match... :(\n");
380bfd2916SCameron Smith   MPI_Finalize();
39*3138ee3cSCameron Smith   return !match;
400bfd2916SCameron Smith }
41