Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
Hi Catherine: Just a guess, but the include at:
#include "/usr/local/src/HDF4.2r3/hdf4/include/netcdf.h"
may not be compatible. Have you tried including instead the header file that comes with the netcdf library?
-Roy On Jul 10, 2009, at 1:12 PM, Cronin, Catherine Kemble (LARC-B702) wrote:
I have a C program that was written in the 1995 time frame that reads a netCDF file. It uses “ncopen” and “ncinquire” calls, which I assume means it was from version 2. I did not write this program and do not have any experience with netCDF files directly. My SA installed the netCDF software (I believe it’s the latest version), and the HDF4 software and I have been able to successfully compile the C program. However, the ncopen call fails upon execution.After a brief search, I found that I could check the libnetcdf.a file to see if the installation was backward compatible with the old version. Which I did, and here are the results from that:nm -A libnetcdf.a | grep ncopen libnetcdf.a:v2i.o:00000052 R $XBK2SpSrz1VKG1G.ncopen.__func__ libnetcdf.a:v2i.o:00000f40 T ncopen libnetcdf.a:fort-v2compat.o: U ncopenSo, it appears that the library does contain the old functions. Also, I can successfully run an ncdump on the file, so I don’t believe the netCDF file is corrupted.Does anyone have any other ideas on what I could check or why I may not be able to open the file using ncopen? Any help would be greatly appreciated.Cathy/ *----------------------------------------------------------------------------*/#include <stdio.h> #include <string.h> #include <malloc.h> #include <time.h>/ *----------------------------------------------------------------------------*/#include "/usr/local/src/HDF4.2r3/hdf4/include/netcdf.h" #define MAX_CHAR_STR_LEN 80 static char attname[MAX_CHAR_STR_LEN]; static char format_value[MAX_CHAR_STR_LEN]; static char output_format[MAX_CHAR_STR_LEN]; /* Find PrISM variables in HLFC netCDF file */ int netcdf2PrISM(netCDFfile, fp_out) char *netCDFfile; FILE *fp_out; { int ncid; /* netCDF id */ int ndims; /* number of dimensions */ int nvars; /* number of variables */ int ngatts; /* number of global attributes */ int xdimid; /* id of unlimited dimension */ char varname[MAX_NC_NAME]; nc_type vartype; int varndims; int vardims[MAX_VAR_DIMS]; int varnatts; long int start[1], count[1]; void *value; int varid; int i; nc_type atttype; int attlen; void *attvalue; int default_format; char dimname[MAX_NC_NAME]; long dimsize; strcpy (attname, "prism"); /* customize netCDF error processing */ /*dpr ncopts = NC_VERBOSE; dpr*/ ncopts = 0; /* open netCDF file for reading */ if ((ncid = ncopen (netCDFfile, NC_NOWRITE)) == -1) { fprintf (stderr,"HLFC netCDF file could not be opened\n"); return(-1); } /* get information about netCDF file */ if (ncinquire(ncid, &ndims, &nvars, &ngatts, &xdimid) == -1) { fprintf (stderr,"HLFC netCDF file ncinquire read error\n"); return(-1); } /* loop thru the number of variables in netCDF file */ for (varid=0; varid<nvars; varid++) {if (ncvarinq(ncid,varid,varname,&vartype,&varndims,vardims,&varnatts)== -1) { fprintf (stderr,"HLFC netCDF file ncvarinq read error\n"); return(-1); }…………………………………………………. It goes on further, but hopefully this is enough to get the idea……………….._______________________________________________ netcdfgroup mailing list netcdfgroup@xxxxxxxxxxxxxxxx For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/
**********************"The contents of this message do not reflect any position of the U.S. Government or NOAA."
********************** Roy Mendelssohn Supervisory Operations Research Analyst NOAA/NMFS Environmental Research Division Southwest Fisheries Science Center 1352 Lighthouse Avenue Pacific Grove, CA 93950-2097 e-mail: Roy.Mendelssohn@xxxxxxxx (Note new e-mail address) voice: (831)-648-9029 fax: (831)-648-8440 www: http://www.pfeg.noaa.gov/ "Old age and treachery will overcome youth and skill." "From those who have been given much, much will be expected"
netcdfgroup
archives: