[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 970609: building using NAG f90



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>