NOTE: The netcdf-hdf
mailing list is no longer active. The list archives are made available for historical reasons.
Ed Hartnett wrote:
Jeff Whitaker <jswhit@xxxxxxxxxxx> writes:Ed: The attached C program creates a netcdf4_classic file that is unreadable (ncdump'ing it gives an 'HDF Error'). [ ..SNIP..]Thanks Jeff! This is not an ncdump bug; nc_open fails on this file! I have added it to the netCDF-4 tests and will let you know when I get it solved... Thanks, Ed
Ed: Here's a C program that triggers the H5Oalloc error I mentioned in my previous message.
-Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@xxxxxxxx 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
#include <stdio.h> #include <stdlib.h> #include <netcdf.h> void check_err(const int stat, const int line, const char *file) { if (stat != NC_NOERR) { (void) fprintf(stderr, "line %d of %s: %s\n", line, file, nc_strerror(stat)); exit(1); } } int main() { /* create testfile.nc */ int stat; /* return status */ int ncid; /* netCDF id */ /* dimension ids */ int lat_dim; int time_dim; int lon_dim; /* dimension lengths */ size_t lat_len = 73; size_t time_len = 10; size_t lon_len = 145; /* variable ids */ int wind_id; /* rank (number of dimensions) for each variable */ # define RANK_wind 1 /* variable shapes */ int wind_dims[RANK_wind]; /* attribute vectors */ int wind_slobber[1]; int cdf_goober[1]; stat = nc_set_default_format(NC_FORMAT_NETCDF4, NULL); check_err(stat,__LINE__,__FILE__); /* define dataset */ stat = nc_create("testfile.nc", NC_CLOBBER, &ncid); check_err(stat,__LINE__,__FILE__); /* define dimensions */ stat = nc_def_dim(ncid, "lon", lon_len, &lon_dim); check_err(stat,__LINE__,__FILE__); stat = nc_def_dim(ncid, "lat", lat_len, &lat_dim); check_err(stat,__LINE__,__FILE__); stat = nc_def_dim(ncid, "time", time_len, &time_dim); check_err(stat,__LINE__,__FILE__); stat = nc_put_att_text(ncid, NC_GLOBAL, "foo", 3, "bar"); check_err(stat,__LINE__,__FILE__); cdf_goober[0] = 2; stat = nc_put_att_int(ncid, NC_GLOBAL, "goober", NC_INT, 1, cdf_goober); check_err(stat,__LINE__,__FILE__); /* define variables */ wind_dims[0] = lon_dim; stat = nc_def_var(ncid, "temp", NC_FLOAT, RANK_wind, wind_dims, &wind_id); check_err(stat,__LINE__,__FILE__); stat = nc_put_att_text(ncid, wind_id, "bar", 3, "foo"); check_err(stat,__LINE__,__FILE__); wind_slobber[0] = 3; stat = nc_put_att_int(ncid, wind_id, "slobber", NC_INT, 1, wind_slobber); check_err(stat,__LINE__,__FILE__); stat = nc_close(ncid); check_err(stat,__LINE__,__FILE__); /* re-open dataset*/ stat = nc_open("testfile.nc", NC_WRITE, &ncid); check_err(stat,__LINE__,__FILE__); stat = nc_inq_dimid(ncid, "lon", &lon_dim); check_err(stat,__LINE__,__FILE__); /* rename dimension */ stat = nc_rename_dim(ncid, lon_dim, "longitude"); check_err(stat,__LINE__,__FILE__); stat = nc_inq_varid(ncid, "temp", &wind_id); check_err(stat,__LINE__,__FILE__); /* rename variable */ stat = nc_rename_var(ncid, wind_id, "wind"); check_err(stat,__LINE__,__FILE__); stat = nc_close(ncid); check_err(stat,__LINE__,__FILE__); return 0; }
netcdf-hdf
archives: