[MITgcm-support] TAMC bug?

Daniel Lea daniel.lea at jhuapl.edu
Fri Aug 1 15:56:28 EDT 2003


Hi,

I've been having fun trying to adjoint a recent ECCO version of the
mitgcm. (ecco_c50_e29). I managed to solve the problem I was having but I
thought you might be interested in my travails. I got several TAMC errors,
the first time, for example:

 parsing subroutine ** exf_readparms **
674192      &              exf_half =  0.5 D 0 ,
                                           ^
*ERROR* : expected )
674193      &              exf_one  =  1.0 D 0 ,
                           ^
*ERROR* : expected (
674194      &              exf_two  =  2.0 D 0
                           ^
*ERROR* : expected (

In the file exf_constants.h these parameter definitions are as follows:

      parameter(
     &              exf_half =  0.5 _d 0 ,
     &              exf_one  =  1.0 _d 0 ,
     &              exf_two  =  2.0 _d 0
     &         )

CPP replaces the _d with D. This compiles OK so the problem must lie
with TAMC not understanding the spaces in the parameter definition.

I modified the above to:

      parameter(
     &              exf_half =  0.5D0 ,
     &              exf_one  =  1.0D0 ,
     &              exf_two  =  2.0D0
     &         )

I also modified all other parameter definitions in the same way which
eliminated the problem. Strangely this issue about spacing seems to be a
only a problem to TAMC within parameter statements so it could have been
worse!

It looks like there might be a policy of migrating to using the _d form
throughout the code. I would vote against this unless TAMC can understand
the resulting code.

Dan




More information about the MITgcm-support mailing list