I'm just in the midst of installing NCARG 4.0.1 on our systems, and
I think I have found some inconsistencies in some of the source
Background:
Group: CCCMA
Site Rep: Mike Berkley
Install number: 2045
Machine: IBM RS6000
Some Fortran compilers append an underscore to object symbols, some
do not. AIX allows you to do either, by including the "-qextname"
option or not. To maintain code compatibility with our other
platforms, we include "-qextname" on the RS6000.
NCARG does not include "-qextname", so we cannot use the pre-built
RS6k libraries with our code.
Problem:
By modifying a few files, I was able to compile the NCARG libraries
with "-qextname" on the RS6000. Unfortunately, I received a number
of compile-time errors:
"ERROR: Replaced XTY_CM symbol trbufr_ is larger than the symbol
that replaces it."
I finally tracked down the source of this problem to a difference in
the way the TRBUFR common block is defined.
In $NCARG_ROOT/source/ncarg2d/src/libncarg_gks/awi/trbufr.h, the
common block is defined to be:
----------------------------------------------------------------------
COMMON /TRBUFR/ METBIT, MBUFER, MBFSAV, METREC, MRECLN,
1 MOPRST, MCONID
INTEGER MNWRDS, RECLOC, RECSIZ, MBITST, MBUFOF,
1 MINSBD
PARAMETER (MNWRDS=360, RECLOC=0 , RECSIZ=16,
1 MBITST=32 , MBUFOF=32, MINSBD=16)
INTEGER METBIT, MBUFER(MNWRDS), MBFSAV(MNWRDS), METREC, MRECLN,
1 MOPRST, MCONID
----------------------------------------------------------------------
In $NCARG_ROOT/source/ncarg2d/src/bin/pre2ncgm/metred.F (and other
source files in the pre2ncgm directory), TRBUFR is defined as:
----------------------------------------------------------------------
COMMON /TRBUFR/ METBIT, MBUFER, MDTYPE, METREC, MRECLN,
1 MCONTF, MOPRST, LNGFLG, MERGFL
INTEGER MNWRDS, RECLOC, RECSIZ, DTLOC, DTSIZ, MBITST, MBUFOF,
1 MINSBD, MERLOC, MERSIZ
#if defined(cray)
PARAMETER (MNWRDS=180, RECLOC=0, RECSIZ=16, DTLOC=16, DTSIZ=4
#else
PARAMETER (MNWRDS=360, RECLOC=0, RECSIZ=16, DTLOC=16, DTSIZ=4
#endif
1 ,MBITST=32, MBUFOF=32, MINSBD=16, MERLOC=23, MERSIZ=1)
INTEGER METBIT, MBUFER(MNWRDS), MDTYPE, METREC, MRECLN, MOPRST
----------------------------------------------------------------------
These two definitions are quite different and incompatible. Which
is the correct definition?
Thanks
Mike Berkley
-------------------------------------------------------------------------
Canadian Centre for Climate Modelling and Analysis
Atmospheric Environment Service
University of Victoria
P.O. Box 1700
Victoria, BC V8W 2Y2
CANADA
Phone: (250)363-8234 Fax: (250)363-8247 e-mail: Mike.Berkley@ec.gc.ca
-------------------------------------------------------------------------
This archive was generated by hypermail 2b29 : Wed Jun 28 2000 - 09:45:40 MDT