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

20000816: building F90 interface on Cray T3E: f90/test fails



Seung-Jae Lee,

>Date: Wed, 16 Aug 2000 12:30:03 +0900 (KST)
>From: address@hidden
>Organization: UCAR/Unidata
>To: address@hidden
>Subject: The results of what you suggested.
>Keywords: 200008160329.e7G3TRN16083

The above message contained the following:

...

> Thank you for your kind reply. I tried what you suggested and got
> the following results.

...

> Making `all' in directory /inst/r106kaf/netcdf-3.5-beta3/src/f90
> 
> FORCE: No action was taken.
>       ar cru   ../libsrc/libnetcdf.a netcdf.o typeSizes.o
>       ranlib ../libsrc/libnetcdf.a
> ranlib-702 ranlib: INFO 
>   The optimized archive is up-to-date.
> FORCE: No action was taken.

...

> 
> Returning to directory /inst/r106kaf/netcdf-3.5-beta3/src
> 
> 
> Making `all' in directory /inst/r106kaf/netcdf-3.5-beta3/src/ncdump
> 
>       c89 -o ncdump -O  ncdump.o vardata.o dumplib.o ../libsrc/libnetcdf.a  
> 
> Returning to directory /inst/r106kaf/netcdf-3.5-beta3/src

...

> From the message, I think the problem of typeSizes.o was solved. Am I
right? ^.^

Yes, I believe the "typeSizes.o" problem is solved.

> But I encountered another problem when I runned 'make test' as a next step.
> Total 3 errors occurred. The following is the messages.

...

> Making `test' in directory /inst/r106kaf/netcdf-3.5-beta3/src/fortran
> 
> + grep -v ^#
> + c89 -E ftest.F
> + 1> ftest.f
> + f90 -c -O ftest.f
> cf90-1221 f90: WARNING in command line
>   The -O command line option has been specified with no arguments.  It will 
> be ignored.

It looks like the "-O" option to the f90 compiler requires a numeric
argument.  You should probably have the FFLAGS environment variable
contain something like "-O3".

      doubleprecision   nf_fill_double
>       ^                                
> cf90-1110 f90: WARNING FTEST, File = ftest.f, Line = 80, Column = 7 
>   DOUBLE PRECISION is not supported on this platform.  REAL will be used.

I don't like this warning.  "DOUBLE PRECISION" not supported?  This
might be related to the later problem.

...

> cf90: Cray CF90 Version 3.3.0.0 (f57p38m32018a50) Wed Aug 16, 2000  08:44:34
> cf90: COMPILE TIME 5.559000 SECONDS
> cf90: MAXIMUM FIELD LENGTH 1974672 DECIMAL WORDS
> cf90: 19655 SOURCE LINES
> cf90: 0 ERRORS, 48 WARNINGS, 0 OTHER MESSAGES, 0 ANSI
> cf90: CODE: 3775 WORDS, DATA: 9604 WORDS
> cf90: "explain cf90-message number" gives more information about each message
> + rm ftest.f
> FORCE: No action was taken.
>       ar cru   ../libsrc/libnetcdf.a fort-attio.o      fort-control.o  
> fort-dim.o      fort-genatt.o   fort-geninq.o   fort-genvar.o   fort-lib.o    
>   fort-misc.o     fort-v2compat.o         fort-vario.o    fort-var1io.o   
> fort-varaio.o   fort-varmio.o   fort-varsio.o
>       ranlib ../libsrc/libnetcdf.a
> ranlib-702 ranlib: INFO 
>   The optimized archive is up-to-date.
> FORCE: No action was taken.
>       f90 -o ftest -O  ftest.o ../libsrc/libnetcdf.a 
>       ./ftest
> *** Testing nccre ...
> *** Testing ncddef ...
> *** Testing ncvdef ...
> *** Testing ncapt, ncaptc ...
> *** Testing ncclos ...
> *** Testing ncvpt1 ...
> *** Testing ncvgt1 ...
> *** Testing ncvpt ...
> *** Testing ncopn, ncinq, ncdinq, ncvinq, ncanam, ncainq ...
> *** Testing ncvgt, ncvgtc ...
> *** Testing ncagt, ncagtc ...
> *** Testing ncredf, ncdren, ncvren, ncaren, ncendf ...
> *** Testing ncacpy ...
> *** Testing ncadel ...
> *** Testing fill values ...

Well, your Fortan-77 interface works OK.

> Returning to directory /inst/r106kaf/netcdf-3.5-beta3/src
> 
> 
> Making `test' in directory /inst/r106kaf/netcdf-3.5-beta3/src/f90
> 
>       f90 -o netcdf_test -O  netcdf_test.f90 netcdf.o typeSizes.o 
> ../libsrc/libnetcdf.a 
> cf90-1221 f90: WARNING in command line
>   The -O command line option has been specified with no arguments.  It will 
> be ignored.
> 
>   call check(nf90_put_var(ncFileID, lonVarId,     (/ -180, -175, -170 /)      
> ) )
>              ^                                                                
>     
> cf90-389 f90: ERROR NETCDFTEST, File = netcdf_test.f90, Line = 78, Column = 
> 14 
>   No specific match can be found for the generic subprogram call 
> "NF90_PUT_VAR".

The above attempts to write INTEGER values into a netCDF "float"
variable.  The default size of an INTEGER variable in the f90 language
on a T3E is 8 bytes.  The NF90_PUT_VAR generic function has no function
that takes 8-byte values.  If the values were real ones, then the code
would probably compile.  You've uncovered a problem with the test
program for the Fortran-90 interface.

To see if the Fortran-77 interface works, try the following:

    1.  Go into the "src/nf_test" subdirectory.

    2.  Execute the command "make test".  Redirect standard output and
        standard error to the file "test.log".

    3.  Let me know what happens.

...

> I hope this mail will be a help to you.
> And I will look forward to getting you answer.
> Could you send your reply as soon as possible.
> 
> Sincerely Yours,
> Seung-Jae Lee from S. Korea

Regards,
Steve Emmerson   <http://www.unidata.ucar.edu>