 
  
   
    2012 Unidata NetCDF Workshop  > Parallel I/O with NetCDF
 
2012 Unidata NetCDF Workshop  > Parallel I/O with NetCDF  
 
35.9 Example of Simple Parallel I/O Access (part 2)
The nc_test4/tst_parallel3.c program provides an example of parallel I/O.
 
    /* Set up slab for this process. */
    start[0] = 0;
    start[1] = mpi_rank * DIMSIZE/mpi_size;
    count[0] = DIMSIZE2;
    count[1] = DIMSIZE/mpi_size;
    /* Create some test data. */
    data      = malloc(sizeof(int)*count[1]*count[0]);
    tempdata  = data;
    for (j = 0; j < count[0];j++){
      for (i=0; i < count[1]; i++){
        *tempdata = mpi_rank*(j+1);
        tempdata ++;
      }
    }
    /* Write two dimensional integer data */
    if ((res = nc_put_vara_int(ncid, nvid, start, count, data))){
       free(data);
       BAIL(res);
    }
 
 
 
  
   
    2012 Unidata NetCDF Workshop  > Parallel I/O with NetCDF
  
2012 Unidata NetCDF Workshop  > Parallel I/O with NetCDF