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

(Fwd) netCDF3.3 on t3e



--- Forwarded mail from address@hidden (Olaf Heudecker)

Date: Thu, 5 Jun 1997 10:49:32 +0200
From: address@hidden (Olaf Heudecker)
To: address@hidden
Subject: netCDF3.3 on t3e

Dear Mr. Davis

thank you for your answer concerning the installation of netCDF3.3 on
the Cray T3E. I am very interested in using netCDF3.3 on the T3E with
MOM. I am new in the buissiness of parallelisation and my job is to
get netCDF-output on the T3E MOM runs here. It seems that you and/or
some people in gfld have the same problems and I'd be glad if we could
keep each other informed.

As a first contribution you might be interested in the following:
I managed to get the netCDF3.3 running on
our t3e (uname -va yields: ... ... 1.3.171 unicosmk CRAY T3E) and
F90-Version is: (Cray CF90 Version 2.0.3.0).
I had use the following settings:
(lines additional to the INSTALL file beginn with a plus sign)
1) Don't use ncx_cray.c for this machine
   (TODO: figure out why. Hypothesis: different
   address structure.)(glenn)

2) Environment settings:
    CPPFLAGS=-DNDEBUG
    CC=c89
    CFLAGS=-O3
    FC=f90
    FFLAGS='-g -i64 -dp -Wp-F'
+ nf_test runs successfully even if you allow optimisation:
+   FFLAGS='-O2 -O unroll2,unsplit2 -i64 -dp -Wp-F'
    CXX=""

3) Comment out the par_io_init() in ncgen/main.c (line 96)
   since T3E lacks this routine though being _CRAYMPP (glenn)

4) Compile by hand: (in the directory libsrc)
        c89 -c -O2 -I. -DNDEBUG putget.c
+       c89 -c -O2 -I. -DNDEBUG attr.c

+5) In fortran/netcdf-cpp.inc manage to define
+ FORTRAN_HAS_NO_FLOAT and
+ FORTRAN_HAS_NO_SHORT
(maybe this is not necessary with 6) but since the packet compiles
rather long I didn't check)

+6) In nf_test change any occurences of REAL to REAL (KIND=4)
+   For practical use: edit the .m4 macros!
+   This is up to now what I guess all programmers have to do for the
+   time being

+7) Since (our) T3E has no get_arg don't forget to link a little
+ subroutine:
      SUBROUTINE GETARG(I,C)
      IMPLICIT  NONE

      INTEGER I,ilen,ierror
      CHARACTER*80 C

      CALL PXFGETARG(I,C,ilen,ierror)

      END SUBROUTINE GETARG

----- This did it. The only problem is that REALs have to be used with
the explicit REAL (KIND=4) declaration in f90.


---End of forwarded mail from address@hidden (Olaf Heudecker)