[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20000816: building F90 interface on Cray T3E: f90/test fails
- Subject: 20000816: building F90 interface on Cray T3E: f90/test fails
- Date: Wed, 16 Aug 2000 11:02:07 -0600
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>