[MITgcm-support] Optim.x build problems under OS X gfortran, gcc and GotoBLAS2

Chris Wilson cwi at pol.ac.uk
Fri Sep 17 11:46:55 EDT 2010


Hi Patrick and David,

Thanks for your advice.  I'm a little closer to the solution thanks to your help.  I have built optim.x but it doesn't work quite right.  
Also, my route to the build is quite definitely a fudge, therefore most likely incorrect.   David, I had omitted the build_ad directory in my scratch space (RUNDIR), but correcting this made no difference unfortunately.

Patrick, I think you were right about CPP in the optim Makefile.  A silly mistake!  I corrected that and replaced '-P -traditional' with '-traditional-cpp', which is the correct gfortran equivalent.  It doesn't seem to matter whether I include '-traditional-cpp'.    

To get rid of the "Illegal preprocessor directive" message, I had to add the flag '-xf95-cpp-input' to the gfortran object compilation stage *but not at the final linking stage*.
I did this by creating a new variable in the Makefile 'CWFLAG=-xf95-cpp-input', as you can see below in my tweaked Makefile.   

I had to also add the variable CPPFLAGS to both the fortran object compilation and final linking stages in order to avoid errors related to _RL, _RS, missing INCLUDE files, etc.  I suspect that those errors are really due to incorrect preprocessing or Makefile handling, but I can't figure out why.  The '-D' names should be passed through to the final executable I think, but somehow they are not.   I tried many FC/CPP flag combinations to arrive at this fudged version.  

So, optim.x now builds but has a runtime error (not surprising).

Chris-Wilsons-MacBook-Pro:~/Work/models/MITgcm/MITgcm_c61v/optim/ > make
gfortran -xf95-cpp-input -DREAL_BYTE=4 -DMAX_INDEPEND=1000000 -D_RL='double precision' -D_RS='double precision' -DOFFLINE                        -m64  -fconvert=big-endian -mcmodel=medium  -O2 -c optim_main.f
gfortran -xf95-cpp-input -DREAL_BYTE=4 -DMAX_INDEPEND=1000000 -D_RL='double precision' -D_RS='double precision' -DOFFLINE                        -m64  -fconvert=big-endian -mcmodel=medium  -O2 -c optim_sub.f
gfortran -xf95-cpp-input -DREAL_BYTE=4 -DMAX_INDEPEND=1000000 -D_RL='double precision' -D_RS='double precision' -DOFFLINE                        -m64  -fconvert=big-endian -mcmodel=medium  -O2 -c optim_numbmod.f
gfortran -xf95-cpp-input -DREAL_BYTE=4 -DMAX_INDEPEND=1000000 -D_RL='double precision' -D_RS='double precision' -DOFFLINE                        -m64  -fconvert=big-endian -mcmodel=medium  -O2 -c optim_initmod.f
gfortran -xf95-cpp-input -DREAL_BYTE=4 -DMAX_INDEPEND=1000000 -D_RL='double precision' -D_RS='double precision' -DOFFLINE                        -m64  -fconvert=big-endian -mcmodel=medium  -O2 -c optim_readdata.f
gfortran -m64  -fconvert=big-endian -mcmodel=medium  -O2 -DREAL_BYTE=4 -DMAX_INDEPEND=1000000 -D_RL='double precision' -D_RS='double precision' -DOFFLINE                         -c -o optim_writedata.o optim_writedata.F
gfortran -xf95-cpp-input -DREAL_BYTE=4 -DMAX_INDEPEND=1000000 -D_RL='double precision' -D_RS='double precision' -DOFFLINE                        -m64  -fconvert=big-endian -mcmodel=medium  -O2 -c optim_write_control.f
gfortran -xf95-cpp-input -DREAL_BYTE=4 -DMAX_INDEPEND=1000000 -D_RL='double precision' -D_RS='double precision' -DOFFLINE                        -m64  -fconvert=big-endian -mcmodel=medium  -O2 -c xerbla.f
gfortran -xf95-cpp-input -DREAL_BYTE=4 -DMAX_INDEPEND=1000000 -D_RL='double precision' -D_RS='double precision' -DOFFLINE                        -m64  -fconvert=big-endian -mcmodel=medium  -O2 -c simul.f
gfortran -o optim.x -m64  -fconvert=big-endian -mcmodel=medium  -O2 -DREAL_BYTE=4 -DMAX_INDEPEND=1000000 -D_RL='double precision' -D_RS='double precision' -DOFFLINE             optim_main.o optim_sub.o optim_numbmod.o optim_initmod.o optim_readdata.o optim_writedata.o optim_write_control.o xerbla.o simul.o -L. -L../lsopt/ -L/Users/cwi/Work/utilities/GotoBLAS2 -llsopt_ecco -lgoto2
Chris-Wilsons-MacBook-Pro:~/Work/models/MITgcm/MITgcm_c61v/optim/ > ./optim.x

  ==================================================
  Large Scale Optimization with off-line capability.
  ==================================================

                 Version 2.1.0

At line 216 of file optim_numbmod.f (unit = 11, file = '/tmp/gfortrantmp72wAxm')
Fortran runtime error: namelist not terminated with / or &end


-----------MAKEFILE-------------------

#***********************************************************************
# Makefile for the ECCO off-line large scale optimization.
#
# started: Patrick Heimbach heimbach at mit.edu 19-Jun-2000
#
# changed: 
#
#***********************************************************************

# The optimization routines.
SRC		=	optim_main.F			\
			optim_sub.F			\
			optim_numbmod.F			\
			optim_initmod.F			\
			optim_readdata.F		\
			optim_writedata.F		\
			optim_write_control.F		\
			xerbla.F                        \
			simul.F

EXEDIR     = ./

# Location of cpp preprocessor
# OS X 
#CPP             = cat $< | /usr/bin/gcc -P -traditional
CPP             = cat $< | /usr/bin/cpp -traditional-cpp 
# default is (Linux)
# CPP             = cat $< | /lib/cpp -P -traditional
# on SUNOS
# CPP		= cat $< | /usr/ccs/lib/cpp

INCLUDEDIRS     = -I.				\
		  -I/Users/cwi/scratch/MITgcm_scratch/tutorial_global_oce_optim/build_ad/

#INCLUDEDIRS     = -I/Users/cwi/scratch/MITgcm_scratch/tutorial_global_oce_optim/


LIBDIRS         = -L.				\
                  -L../lsopt/			\
                  -L/Users/cwi/Work/utilities/GotoBLAS2

LIBS            = -llsopt_ecco			\
                  -lgoto2
#		  -lblas1

# OPTMODE is either equal to OFFLINE or ONLINE
OPTMODE         = OFFLINE
EXECUTABLE      = $(EXEDIR)optim.x

# The cpp flags.
CPPFLAGS = -DREAL_BYTE=4		\
	-DMAX_INDEPEND=1000000		\
	-D_RL='double precision'	\
	-D_RS='double precision'	\
	-D$(OPTMODE)			
CWFLAG	= -xf95-cpp-input

#                -DMAX_INDEPEND=293570968        \
# FORTRAN compiler and its flags.
# default is (Linux)
FC              = gfortran

FFLAGS= -m64  -fconvert=big-endian -mcmodel=medium  -O2

# File removal.
RM		= rm -f

SMALLF      = $(SRC:.F=.f)
OBJECTS     = $(SRC:.F=.o)

.SUFFIXES: .o .f .F

all: $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
	$(FC) -o $@ $(FFLAGS) $(CPPFLAGS) $(OBJECTS) $(LIBDIRS) $(LIBS)

depend:
	makedepend -o .f $(INCLUDEDIRS) $(SRC)

# The normal chain of rules is (  .F - .f - .o  )
.F.f:
	$(CPP) $(CPPFLAGS) $(INCLUDEDIRS) > $@
xerbla.f: xerbla.F
	$(CPP) $(INCLUDEDIRS) > $@
.f.o:
	$(FC) $(CWFLAG) $(CPPFLAGS) $(FFLAGS) -c $<

# Cleaning options.
clean:
	$(RM) $(EXEDIR)optim.x *.o *.f

scratch:
	$(RM) OPWARMD OPWARMI $(EXEDIR)optim.x $(OBJ)

# DO NOT DELETE THIS LINE -- make depend depends on it.

optim_main.f: blas1.h
optim_sub.f: EEPARAMS.h SIZE.h ctrl.h optim.h
optim_numbmod.f: EEPARAMS.h SIZE.h ctrl.h optim.h minimization.h
optim_initmod.f: EEPARAMS.h SIZE.h ctrl.h optim.h
optim_readdata.f: EEPARAMS.h SIZE.h ECCO_CPPOPTIONS.h ctrl.h optim.h
optim_readdata.f: minimization.h
optim_write_control.f: EEPARAMS.h SIZE.h ctrl.h optim.h
simul.f: EEPARAMS.h SIZE.h ctrl.h


Best wishes,

Chris


. . .. ... ..... ........ .............
Dr Chris Wilson +(0)151 7954806 http://bit.ly/mesoscale
National Oceanography Centre, Liverpool L3 5DA, U.K.
... . .... . ..... ......... .. .......



On 16 Sep 2010, at 17:24, mitgcm-support-request at mitgcm.org wrote:

> Send MITgcm-support mailing list submissions to
>        mitgcm-support at mitgcm.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>        http://mitgcm.org/mailman/listinfo/mitgcm-support
> or, via email, send a message with subject or body 'help' to
>        mitgcm-support-request at mitgcm.org
> 
> You can reach the person managing the list at
>        mitgcm-support-owner at mitgcm.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of MITgcm-support digest..."
> 
> 
> Today's Topics:
> 
>   1. Re: Optim.x build problems under OS X gfortran,   gcc and
>      GotoBLAS2 (Patrick Heimbach)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Thu, 16 Sep 2010 12:24:18 -0400
> From: Patrick Heimbach <heimbach at MIT.EDU>
> To: mitgcm-support at mitgcm.org
> Subject: Re: [MITgcm-support] Optim.x build problems under OS X
>        gfortran,       gcc and GotoBLAS2
> Message-ID: <82477817-9EB4-4645-9EE4-D0C23E7DA91A at mit.edu>
> Content-Type: text/plain; charset="us-ascii"; Format="flowed";
>        DelSp="yes"
> 
> 
> To follow up (perhaps again too quickly),
> the CPP flags seem to exist, but your line
> 
> CPP             = cat $< | /usr/bin/gcc -P -traditional
> 
> seems suspicious. Shouldn't it be
> 
> CPP             = cat $< | /usr/bin/cpp -P -traditional
> 
> ?
> -p.
> 
> On Sep 16, 2010, at 12:14 PM, Patrick Heimbach wrote:
> 
>> 
>> Hi,
>> 
>> haven't had problems with this in a while,
>> but also never tried on Mac so far.
>> 
>> Very(!) quick look suggests a "simple"(?) CPP preprocessor problem
>> ("Illegal preprocessor directive")
>> which may result in CPP not doing anything
>> (therefore you keep the _RL in .f).
>> 
>> I'd check if the "-P -traditional" flags are available,
>> and/or how to modify?
>> 
>> -p.
>> 
>> 
>> 
>> On Sep 16, 2010, at 11:54 AM, Chris Wilson wrote:
>> 
>>> Hi,
>>> 
>>> I'm trying to build optim.x for use with the adjoint
>>> tutorial_global_oce_optim.   I've successfully built the
>>> associated lsopt and GotoBLAS2 libraries on OS X with gfortran, gcc.
>>> 
>>> My guess would be that the problem lies with the order of
>>> processing of my Makefile, but I don't understand enough to know/
>>> fix this.  _RL should be predefined as a name with the
>>> preprocessor via -D_RL='double precision' in the Makefile, but the
>>> Fortran stuff is being processed first.
>>> 
>>> I'd be very grateful of any help please.  Makefile and error
>>> messages are below:
>>> 
>>> uname -a
>>> Darwin Chris-Wilsons-MacBook-Pro.local 10.4.0 Darwin Kernel
>>> Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/
>>> RELEASE_I386 i386
>>> 
>>> gfortran -v
>>> Using built-in specs.
>>> Target: x86_64-apple-darwin10
>>> Configured with: ../gcc-4.5-20090910/configure --enable-
>>> languages=fortran --host=x86_64-apple-darwin10 --build=x86_64-
>>> apple-darwin10
>>> Thread model: posix
>>> gcc version 4.5.0 20090910 (experimental) (GCC)
>>> 
>>> gcc -v
>>> Using built-in specs.
>>> Target: i686-apple-darwin10
>>> Configured with: /var/tmp/gcc/gcc-5664~38/src/configure --disable-
>>> checking --enable-werror --prefix=/usr --mandir=/share/man --
>>> enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg]
>>> [^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-
>>> darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-
>>> darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/
>>> include/c++/4.2.1
>>> Thread model: posix
>>> gcc version 4.2.1 (Apple Inc. build 5664)
>>> 
>>> #********************************************************************
>>> ***
>>> # Makefile for the ECCO off-line large scale optimization.
>>> #
>>> # started: Patrick Heimbach heimbach at mit.edu 19-Jun-2000
>>> #
>>> # changed:
>>> #
>>> #********************************************************************
>>> ***
>>> 
>>> # The optimization routines.
>>> SRC             =       optim_main.F                    \
>>>                        optim_sub.F                     \
>>>                        optim_numbmod.F                 \
>>>                        optim_initmod.F                 \
>>>                        optim_readdata.F                \
>>>                        optim_writedata.F               \
>>>                        optim_write_control.F           \
>>>                        xerbla.F                        \
>>>                        simul.F
>>> 
>>> EXEDIR     = ./
>>> 
>>> # Location of cpp preprocessor
>>> # OS X
>>> CPP             = cat $< | /usr/bin/gcc -P -traditional
>>> 
>>> 
>>> INCLUDEDIRS     = -I.                           \
>>>                  -I/Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/
>>> 
>>> 
>>> LIBDIRS         = -L.                           \
>>>                  -L../lsopt/                   \
>>>                  -L/Users/cwi/Work/utilities/GotoBLAS2
>>> 
>>> LIBS            = -llsopt_ecco                  \
>>>                  -lgoto2
>>> #                 -lblas1
>>> 
>>> # OPTMODE is either equal to OFFLINE or ONLINE
>>> OPTMODE         = OFFLINE
>>> EXECUTABLE      = $(EXEDIR)optim.x
>>> 
>>> # The cpp flags.
>>> CPPFLAGS = -DREAL_BYTE=4                \
>>>        -DMAX_INDEPEND=1000000          \
>>>        -D_RL='double precision'        \
>>>        -D_RS='double precision'        \
>>>        -D$(OPTMODE)
>>> 
>>> #                -DMAX_INDEPEND=293570968        \
>>> # FORTRAN compiler and its flags.
>>> # default is (Linux)
>>> FC              = gfortran
>>> 
>>> FFLAGS= -m64  -fconvert=big-endian -mcmodel=medium  -O2
>>> 
>>> 
>>> # File removal.
>>> RM              = rm -f
>>> 
>>> SMALLF      = $(SRC:.F=.f)
>>> OBJECTS     = $(SRC:.F=.o)
>>> 
>>> .SUFFIXES: .o .f .F
>>> 
>>> all: $(EXECUTABLE)
>>> $(EXECUTABLE): $(OBJECTS)
>>>        $(FC) -o $@ $(FFLAGS) $(OBJECTS) $(LIBDIRS) $(LIBS)
>>> 
>>> depend:
>>>        makedepend -o .f $(INCLUDEDIRS) $(SRC)
>>> 
>>> # The normal chain of rules is (  .F - .f - .o  )
>>> .F.f:
>>>        $(CPP) $(CPPFLAGS) $(INCLUDEDIRS) > $@
>>> xerbla.f: xerbla.F
>>>        $(CPP) $(INCLUDEDIRS) > $@
>>> .f.o:
>>>        $(FC) $(FFLAGS) -c $<
>>> 
>>> # Cleaning options.
>>> clean:
>>>        $(RM) $(EXEDIR)optim.x *.o *.f
>>> 
>>> scratch:
>>>        $(RM) OPWARMD OPWARMI $(EXEDIR)optim.x $(OBJ)
>>> 
>>> # DO NOT DELETE THIS LINE -- make depend depends on it.
>>> 
>>> optim_main.f: blas1.h
>>> optim_sub.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/EEPARAMS.h
>>> optim_sub.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/SIZE.h
>>> optim_sub.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/ctrl.h
>>> optim_sub.f: optim.h
>>> optim_numbmod.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/EEPARAMS.h
>>> optim_numbmod.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/SIZE.h
>>> optim_numbmod.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/ctrl.h
>>> optim_numbmod.f: optim.h minimization.h
>>> optim_initmod.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/EEPARAMS.h
>>> optim_initmod.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/SIZE.h
>>> optim_initmod.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/ctrl.h
>>> optim_initmod.f: optim.h
>>> optim_readdata.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/EEPARAMS.h
>>> optim_readdata.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/SIZE.h
>>> optim_readdata.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/ECCO_CPPOPTIONS.h
>>> optim_readdata.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/ctrl.h
>>> optim_readdata.f: optim.h minimization.h
>>> optim_writedata.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/EEPARAMS.h
>>> optim_writedata.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/SIZE.h
>>> optim_writedata.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/ECCO_CPPOPTIONS.h
>>> optim_writedata.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/ctrl.h
>>> optim_writedata.f: optim.h minimization.h
>>> optim_write_control.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/EEPARAMS.h
>>> optim_write_control.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/SIZE.h
>>> optim_write_control.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/ctrl.h
>>> optim_write_control.f: optim.h
>>> simul.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/EEPARAMS.h
>>> simul.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/SIZE.h
>>> simul.f: /Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/ctrl.h
>>> 
>>> --------------------
>>> 
>>> 
>>> Chris-Wilsons-MacBook-Pro:~/Work/models/MITgcm/MITgcm_c61v/optim/
>>>> make clean
>>> rm -f ./optim.x *.o *.f
>>> Chris-Wilsons-MacBook-Pro:~/Work/models/MITgcm/MITgcm_c61v/optim/
>>>> make depend
>>> makedepend -o .f -I. -I/Users/cwi/scratch/MITgcm_scratch/
>>> tutorial_global_oce_optim/ optim_main.F optim_sub.F
>>> optim_numbmod.F optim_initmod.F optim_readdata.F optim_writedata.F
>>> optim_write_control.F xerbla.F simul.F
>>> Chris-Wilsons-MacBook-Pro:~/Work/models/MITgcm/MITgcm_c61v/optim/
>>>> make
>>> gfortran -m64  -fconvert=big-endian -mcmodel=medium  -O2 -c
>>> optim_main.f
>>> Warning: optim_main.f:71: Illegal preprocessor directive
>>> gfortran -m64  -fconvert=big-endian -mcmodel=medium  -O2 -c
>>> optim_sub.f
>>> Warning: optim_sub.f:30: Illegal preprocessor directive
>>> Warning: optim_sub.f:31: Illegal preprocessor directive
>>> Warning: optim_sub.f:33: Illegal preprocessor directive
>>> Warning: optim_sub.f:34: Illegal preprocessor directive
>>> Warning: optim_sub.f:44: Illegal preprocessor directive
>>> Warning: optim_sub.f:50: Illegal preprocessor directive
>>> Warning: optim_sub.f:61: Illegal preprocessor directive
>>> Warning: optim_sub.f:69: Illegal preprocessor directive
>>> Warning: optim_sub.f:72: Illegal preprocessor directive
>>> Warning: optim_sub.f:73: Illegal preprocessor directive
>>> Warning: optim_sub.f:79: Illegal preprocessor directive
>>> Warning: optim_sub.f:96: Illegal preprocessor directive
>>> Warning: optim_sub.f:97: Illegal preprocessor directive
>>> Warning: optim_sub.f:98: Illegal preprocessor directive
>>> Warning: optim_sub.f:108: Illegal preprocessor directive
>>> optim_sub.f:42.7:
>>> 
>>>      _RL   objf
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:45.7:
>>> 
>>>      _RL   xx(nn)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:46.7:
>>> 
>>>      _RL   adxx(nn)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:47.7:
>>> 
>>>      _RL   dd(nn)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:48.7:
>>> 
>>>      _RL   gold(nn)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:49.7:
>>> 
>>>      _RL   xdiff(nn)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:51.7:
>>> 
>>>      _RL   xx
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:52.7:
>>> 
>>>      _RL   adxx
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:53.7:
>>> 
>>>      _RL   dd(1)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:54.7:
>>> 
>>>      _RL   gold(1)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:55.7:
>>> 
>>>      _RL   xdiff(1)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:56.14:
>>> 
>>>      pointer (pxx,xx(1))
>>>              1
>>> Error: Cray pointer declaration at (1) requires -fcray-pointer flag
>>> optim_sub.f:57.14:
>>> 
>>>      pointer (padxx,adxx(1))
>>>              1
>>> Error: Cray pointer declaration at (1) requires -fcray-pointer flag
>>> optim_sub.f:58.14:
>>> 
>>>      pointer (pdd,dd)
>>>              1
>>> Error: Cray pointer declaration at (1) requires -fcray-pointer flag
>>> optim_sub.f:59.14:
>>> 
>>>      pointer (pgold,gold)
>>>              1
>>> Error: Cray pointer declaration at (1) requires -fcray-pointer flag
>>> optim_sub.f:60.14:
>>> 
>>>      pointer (pxdiff,xdiff)
>>>              1
>>> Error: Cray pointer declaration at (1) requires -fcray-pointer flag
>>> optim_sub.f:63.36:
>>> 
>>>      parameter( nmax = MAX_INDEPEND )
>>>                                    1
>>> Error: Symbol 'max_independ' at (1) has no IMPLICIT type
>>> optim_sub.f:64.7:
>>> 
>>>      _RL   xx(nmax)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:65.7:
>>> 
>>>      _RL   adxx(nmax)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:66.7:
>>> 
>>>      _RL   dd(nmax)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:67.7:
>>> 
>>>      _RL   gold(nmax)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:68.7:
>>> 
>>>      _RL   xdiff(nmax)
>>>       1
>>> Error: Invalid character in name at (1)
>>> optim_sub.f:81.72:
>>> 
>>>      integer ifail
>>> 
>>>   1
>>> Error: Unexpected data declaration statement at (1)
>>> optim_sub.f:82.72:
>>> 
>>>      integer itmax
>>> 
>>>   1
>>> Error: Unexpected data declaration statement at (1)
>>> optim_sub.f:83.72:
>>> 
>>>      logical loffline
>>> 
>>>   1
>>> Error: Unexpected data declaration statement at (1)
>>> Fatal Error: Error count reached limit of 25.
>>> make: *** [optim_sub.o] Error 1
>>> 
>>> 
>>> Chris
>>> 
>>> . . .. ... ..... ........ .............
>>> Dr Chris Wilson +(0)151 7954806 http://bit.ly/mesoscale
>>> National Oceanography Centre, Liverpool L3 5DA, U.K.
>>> ... . .... . ..... ......... .. .......
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> MITgcm-support mailing list
>>> MITgcm-support at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>> 
>> ---
>> Patrick Heimbach | heimbach at mit.edu | http://www.mit.edu/~heimbach
>> MIT | EAPS 54-1518 | 77 Massachusetts Ave | Cambridge MA 02139 USA
>> FON +1-617-253-5259 | FAX +1-617-253-4464 | SKYPE patrick.heimbach
>> 
>> 
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
> 
> ---
> Patrick Heimbach | heimbach at mit.edu | http://www.mit.edu/~heimbach
> MIT | EAPS 54-1518 | 77 Massachusetts Ave | Cambridge MA 02139 USA
> FON +1-617-253-5259 | FAX +1-617-253-4464 | SKYPE patrick.heimbach
> 
> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20100916/232e7c2f/attachment.htm>
> 
> ------------------------------
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
> 
> 
> End of MITgcm-support Digest, Vol 87, Issue 7
> *********************************************


-- 
This message (and any attachments) is for the recipient only. NERC
is subject to the Freedom of Information Act 2000 and the contents
of this email and any reply you make may be disclosed by NERC unless
it is exempt from release under the Act. Any material supplied to
NERC may be stored in an electronic records management system.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20100917/3773800a/attachment-0001.htm>


More information about the MITgcm-support mailing list