For PnetCDF, checking whether a variable is a record variable can just check the
first dimension, because CDF-1,2,5 formats allow only the first dimension to be
unlimited.
|
int *p = (dimidsp) ? dimidsp : tmp_dimidsp; |
|
int is_rec_var = file->varlist[varid].rec_var; |
|
for(int i=0; (i<ndims) && (!is_rec_var); i++) |
|
{ |
|
for(int j=0; (j<file->num_unlim_dimids) && (!is_rec_var); j++) |
|
{ |
|
if(p[i] == file->unlim_dimids[j]) |
|
{ |
|
is_rec_var = 1; |
|
} |
|
} |
|
} |
|
file->varlist[varid].rec_var = is_rec_var; |
The above code block can be simplified to the following.
int *p = (dimidsp) ? dimidsp : tmp_dimidsp;
file->varlist[varid].rec_var = (ndims > 0 && p[0] == NC_UNLIMITED) ? 1 : 0;
For PnetCDF, checking whether a variable is a record variable can just check the
first dimension, because CDF-1,2,5 formats allow only the first dimension to be
unlimited.
scorpio/src/clib/pio_nc.c
Lines 1353 to 1365 in ac679a5
The above code block can be simplified to the following.