void inigetcc_(int *PPRANK, double *c, int *t, int *ismpi) { int nx, ny, nz, nvar; char s[256]; FILE *fptr; int i, j, k, l; char name[256]; float tmp; sprintf(s, "%s.%d.%d", "plot.datb",*t,*PPRANK); if(*ismpi == 0) sprintf(s, "%s.%d", "plot.datb",*t); fprintf(stdout,"opening file %s \n",s); fptr = fopen(s, "rt"); if(fptr == NULL) nrerror("datbfile unopened\n"); fread (&nx, sizeof (int), 1, fptr); fread (&ny, sizeof (int), 1, fptr); fread (&nz, sizeof (int), 1, fptr); fread (&nvar, sizeof (int), 1, fptr); fprintf(stdout,"nx = %d\n",nx); fprintf(stdout,"ny = %d\n",ny); fprintf(stdout,"nz = %d\n",nz); fprintf(stdout,"nvar = %d\n",nvar); for (i = 0; i < nvar; i++) fread (name, sizeof(char), 256, fptr); /* Assume C is the last array in the datb file */ for (l = 0; l < (nvar-1); l++) for (i = 0; i < nx; i++) for (j = 0; j < ny; j++) for (k = 0; k < nz; k++) { fread (&tmp, sizeof (float), 1, fptr); } fprintf(stdout,"reading array C \n"); for (i = 0; i < nx; i++) for (j = 0; j < ny; j++) for (k = 0; k < nz; k++) { fread (&tmp, sizeof (float), 1, fptr); c[i + (nx)*j + (nx)*(ny)*k]= (double) tmp; } }