NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hey Everyone, I have an application that is writing consecutive NetCDF files sequentially (i.e. it's a single-threaded process). I am using NetCDF 4.1.3 on a Windows 7 OS with MSVC 10. Each NetCDF file is written using the following code: // Create NetCDF File stat = nc_create(filename, NC_NOCLOBBER, &ncid); check_err(stat,__LINE__,__FILE__); // Define data dimenssions stat=nc_def_dim(ncid,"Radial",alg_par->num_beam[0],&radial_dim); check_err(stat,__LINE__,__FILE__); ... >From there, I continue to define my data dimensions and input data before closing via 'nc_close()'. The process is then repeated a number of times. I implement check_err() via the suggested format: void check_err(const int stat, const int line, const char *file) { if(stat!=NC_NOERR) { fprintf(stderr,"line %d of %s: %s\n",line,file,nc_strerror(stat)); fflush(stderr); exit(-1); } return; } I am getting an intermittent NC_EBADID error from the first nc_def_dim() call after the file is created. It always seems to happen when the NetCDF ID ('ncid' above) is set to zero (ncid == 0). Has anyone out there seen this? If the nc_create() call returns with NC_NOERR set, I'm confused as to why the first 'nc_def_dim' call fails with an error code. Any suggestions/help is greatly appreciated, Rob -- Robert A Palumbo Graduate Student University of Massachusetts - Amherst palumr@xxxxxxxxx
netcdfgroup
archives: