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.
Steve, >Date: 9 Jun 1997 13:43:17 -0500 >From: "Steve Mauget" <address@hidden> >Organization: USDA >To: "Steve Emmerson" <address@hidden> >Subject: Re: 970609: building using N >Keywords: 199706021417.IAA27579 In the above message, you wrote: > Steve: > > When I was trying to install ver 2.4.3, the make test > portion of the install process returned errors like the one below, > but also similar error messages for other netCDF subroutines > (NCAGT,NCVGT,NCVGT1,NCVPT,NCVPT1 NCAPT). After looking at the type > of apparently bad arguments to these subroutines, I found that they > were all of type integer or integer*2, which made me wonder whether > integer variables were being defined properly via NCVDEF. Whether or not the variables are being defined properly in the netCDF dataset is a different question than whether or not the NAG Fortran-90 compiler will allow different actual argument types for the same dummy argument in a procedure call. The two questions should have nothing to do with one another. > I was > just wondering why - if this is a problem with the NAG compiler - it > appears to be restricted to arguments of two data types. Good question. > > I will forward the following portion of your message to the > people at NAG, but let me make sure I understand what you think the > problem is before I do. I interpret the statement: > > > "I couldn't find anything in the Standard that prohibited using > > different types for an actual argument in the context of the NCAGT() > > procedure call." > > as meaning that you believe the NAG compiler is simply not recognizing > these integer arguments as being legit procedure arguments. The NAG f90 compiler doesn't seem to allow the type of the actual argument to vary. It might only do this when one of the variable types is INTEGER*1 or INTEGER*2 -- but that would be inconsistent with allowing the argument to be both REAL and DOUBLEPRECISION. > I'm > guessing that the NAG-ites (they seemed pretty defensive last time I > e-mailed them) will counter by wondering whether these arguments were > properly declared as integer and integer*2 variables prior to these > procedure calls. They are declared as the preprocessor macros NCBYTE_T and NCSHORT_T. These macros are defined in file "netcdf-cpp.inc" and should be (for your system) "integer*1" and "integer*2" respectively. (Please let me know if they aren't.) -------- Steve Emmerson <address@hidden>