This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Pankaj, > Thank you for your response. Let me summarize my case if you can look > further into my problem: > I downloaded netcdf-4.1.2.tar.gz file and installed netcdf in /tmp/ > netcdf-4.1.2/ directory. I built netcdf using configure and make install > as follows. > 1) CFLAGS=-fPIC FCFLAGS=-fPIC CPPFLAGS=-I/usr/local/include LDFLAGS=-L/ > usr/local/lib ./configure --with-hdf5=/usr/local/hdf5 --prefix=/usr/ > local > 2) make check > 3) sudo make install > 4) make check > The installation of netcdf was successful, however, these steps used to > give errors during make check as recursive make error was displayed. I > tried building netcdf with simple configure commands and with zlib and > hdf5 also. Despite I faced recursive make error when I tried to build > netcdf using CFLAGS, FCFLAG, and CPPFLAGS as mentioned above. > > After installation, netcdf generated following header files and netcdf > module in /usr/local/include/ > : netcdfcpp.h netcdf.h netcdf.hh netcdf.inc netcdf.mod > and following libraries into /usr/local/netcdf/lib/ > libnetcdf.a libnetcdf_c++.la libnetcdf_c++.so.4 > libnetcdff.a libnetcdff.so libnetcdff.so.5.1.0 > libnetcdf.so libnetcdf.so.7.0.1 > libnetcdf_c++.a libnetcdf_c++.so libnetcdf_c++.so.4.1.0 > libnetcdff.la libnetcdff.so.5 libnetcdf.la > libnetcdf.so.7 > > But this installation-method gave another type of error in executing a > fortran code. Compiling a fortran program to read netcdf was okay using > below command: > gfortran -o test -I/usr/include pgmread-netcdf2.f90 -lnetcdf - > lnetcdff > However, executing the code gives below error: > ./test: symbol lookup error: /usr/local/lib/libnetcdff.so.5: > undefined symbol: ncerr Try changing the order of the libraries: gfortran -o test -I/usr/include pgmread-netcdf2.f90 -lnetcdff -lnetcdf because the netcdf Fortran library (libnetcdff.so) calls functions from the netCDF C library (libnetcdf.so). It seems you may also need -L/usr/local/lib before specification of the libraries. Without that, you may be getting a different version of the libraries installed previously somewhere else. If that doesn't work for you, you might find it easier to first build and install just the netCDF C library from a recent version, for example 4.3.1.1, and then install the netCDF Fortran library following these detailed instructions: http://www.unidata.ucar.edu/netcdf/docs/netcdf-fortran-install.html --Russ > However, I uninstall netcdf from netcdf-4.1.2 directory and see that > compiling and executing codes for reading netcdf is successful and > incorporating your suggestions gives some kind of output. > > Thank you again if you can find something missing in my method of > running netcdf modules and libraries. > Regards > Pankaj > > > ----- Original Message ----- > From: "Unidata netCDF Support" <address@hidden> > Sent Date: 06:34:07 Thu February 13, 2014 > > > Hi Pankaj, > > > > Sorry, but we don't have the resources for detailed debugging of > > user applications. If you built the netCDF C and Fortan libraries > > and "make check" ran successfully, then the library and ncdump are > > working as intended. > > > > If you suspect there is a bug in the library, we would need a small > > program that demonstrated the bug by writing data to a netCDF file, > > reading the data, and printing an indication of the bug. > > > > --Russ > > > > > Please look into the problem I am facing now in reading netcdf data > > > using fortran codes. As suggested by you in the below mail, I did > some > > > corrections in my program for variable declaration. Thus the program > is > > > executed successfully now and the netcdf data is read by the program > and > > > the output is also generated. > > > > > > However, the range of data is between 1.03624427E-06 to 1.03720561E > -06 > > > in increasing order for 360 (lon) x 180 (lat) x 15 (layers) x 12 ( > time) > > > points. I think the data is not properly generated since ncdump of > the > > > netcdf data file shows many missing data as well and a different > data > > > set. I checked with other fortran code also with suggested > correction, > > > however the program could read netcdf data properly and the output > > > generated is same. > > > > > > ncdump of netcdf data generates below sample: > > > > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > _, > > > _, > > > (many missing data lines) > > > : > > > : > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > _, > > > _, _, _, _, _, _, _, _, _, _, 0.01161965, 0.01172744, 0.0118268, > > > 0.01196955, 0.01214784, 0.0123204, 0.01234178, 0.01217634, 0. > > > 01188548, > > > 0.01164075, 0.01148022, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 0.00113727, > > > 0.001201613, 0.001232482, 0.001210016, 0.001129237, 0.001008214, > > > 0.000850776, 0.0007075624, 0.0006338682, 0.0006352033, 0.0006716939, > > > 0.0007437626, 0.0008677125, 0.001072157, 0.001404119, 0.001935425, > > > 0.002639251, 0.003327798, 0.003907743, 0.004484775, 0.004986423, > > > 0.00537102, 0.005751694, 0.006038316, 0.006216454, 0.006355461, > > > 0.006524057, 0.006707882, 0.006811586, 0.006774242, 0.006615386, > > > 0.006460694, 0.006332785, 0.006236786, 0.006161074, 0.006096281, > > > 0.006028299, 0.005944978, 0.00588075, 0.005860889, 0.005849245, > > > 0.005848445, 0.005817015, 0.005784002, 0.005819898, _, _, _, _, _, _, > > > _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > _, > > > _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, > > > : > > > : > > > afterwards continuous data set for the rest of larger part > > > : > > > : > > > 0.0003057834, 0.0002918573, 0.0002743326, 0.0002530323, 0.0002287087, > > > 0.0002033903, 0.0001799934, 0.0001603418, 0.0001450872, 0.0001339376, > > > 0.0001261685, 0.0001208666, 0.0001169688, 0.0001133534, 0.0001094718, > > > 0.0001055817, 0.0001018786, 9.898411e-05, 9.733205e-05, 9.677732e-05, > > > 9.674822e-05, 9.675948e-05, 9.687019e-05, 9.717577e-05, 9.762236e-05, > > > 9.797748e-05, 9.793872e-05, 9.735269e-05, 9.620324e-05, 9.464778e-05, > > > 9.29976e-05, 9.155437e-05, 9.073644e-05, 9.142152e-05, 9.31278e-05, > > > 9.496194e-05, 9.662777e-05, 9.829528e-05, 0.0001000483, 0.0001016511, > > > 0.0001030593, 0.0001046747, 0.0001068782, 0.0001098189, 0.0001138458, > > > : > > > : > > > > > > ----- Original Message ----- > > > From: "Unidata netCDF Support" <address@hidden> > > > Sent Date: 04:34:50 Thu January 30, 2014 > > > > > > > Hi Pankaj, > > > > > > > > > I am looking for urgent help in reading 4-D netcdf data. I have > > > > > tried to read my data using UNIDATA various fortran codes and > > > > > c-program but after successful compilation, "variable not found > stop > > > > > 2" message is delivered on executing although UNIDATA sample > netcdf > > > > > files are duly read using these fortran codes. > > > > > > > > For netcdfread_4D.f90, you are using the wrong variable names for > > > > what's actually in the netCDF file you're reading. Try: > > > > > > > > ! character (len = *), parameter :: LAT_NAME = "latitude" > > > > character (len = *), parameter :: LAT_NAME = "TLAT" > > > > ! character (len = *), parameter :: LON_NAME = "longitude" > > > > character (len = *), parameter :: LON_NAME = "TLONG" > > > > > > > > For the second program, netcdfread_4D.f90, the same problem occurs, > > > > since there is no variable in the file named "data". If you want > to > > > > read values of the variable named "BSI", try: > > > > > > > > ! character (len = *), parameter :: VAR_NAME='data' > > > > character (len = *), parameter :: VAR_NAME='BSI' > > > > > > > > --Russ > > > > > > > > Russ Rew UCAR Unidata > Program > > > > address@hidden > http://www.unidata.ucar.edu > > > > > > > > > > > > > > > > Ticket Details > > > > =================== > > > > Ticket ID: VZH-911645 > > > > Department: Support netCDF > > > > Priority: Normal > > > > Status: Closed > > > > > > > > > > > > > > > > > > > Russ Rew UCAR Unidata Program > > address@hidden http://www.unidata.ucar.edu > > > > > > > > Ticket Details > > =================== > > Ticket ID: VZH-911645 > > Department: Support netCDF > > Priority: High > > Status: Closed > > > > > > > Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: VZH-911645 Department: Support netCDF Priority: High Status: Closed