[MITgcm-support] problems on alpha amchine

Martin Losch mlosch at awi-bremerhaven.de
Sun Dec 4 06:03:20 EST 2005


Hezi,

has someone answered you, yet?

The first problem looks like perfect F77 syntax to me, so I have no 
clue why your compiler doesn't take it. Can it compile rUnit2c//'^2'? 
Maybe one has to define a separate character variable, assign 
rUnit2c//'^2/s^2' to it and then pass it to diags_mk_units? This is 
really stupid but have you tried to set rUnit2c = ' m' instead of 'm '?

I can only guess, but your second problems looks like a division of 
zero. I don't know (and certainly don't have) your compiler available, 
but this is what I would do to find the problem:
in verification/dic_example/carbon_chem.F
have a look at the S/R CALC_PCO2_APPROX (starts at line 477). There are 
a lot of divisions in there. Find out in which line the floating point 
exception occurs, either with a debugger (if you konw how to handle 
those, I always fail), or by print all potential denominators (hguess, 
stuff, hnew, fflocal). My guess is that it is fflocal (which is passed 
from the calling routine), but I really don't know. (fflocal=ff is a 
coefficient that can be zero on a "dry" point, but I checked and the 
routine calc_pco2_approx is only called for "wet" points.)

Maybe you can try reducing your optimization level. Again I don't know 
your compiler, but -O5 sounds like aggressive optimization.

Martin

On Dec 2, 2005, at 5:31 PM, Hezi Gildor wrote:

>
> Hi,
>
> I have two when trying to compile and run the code on alpha machine 
> running Tru64 OS. All is fine on other platforms.
>
> 1.  when compiling diagnostics_main_init.f , i get errors that look 
> like:
>
> f77 -fpe2 -convert big_endian -r8 -extend_source -automatic 
> -call_shared -notransform_loops -align dcommons -O5 -fast -tune host 
> -inline all -c diagnostics_main_in
> it.f
> f90: Error: diagnostics_main_init.f, line 1714: Syntax error, found 
> END-OF-STATEMENT when expecting one of: ( * :: , : ) + . - % . ** / // 
> .LT. < .LE. <= .EQ. == .
> NE. ...
>      diagUnits = DIAGS_MK_UNITS( rUnit2c
> -----------------------------------------^
> f90: Error: diagnostics_main_init.f, line 1721: Syntax error, found 
> END-OF-STATEMENT when expecting one of: ( * :: , : ) + . - % . ** / // 
> .LT. < .LE. <= .EQ. == .
> NE. ...
>      diagUnits = DIAGS_MK_UNITS( rUnit2c
> -----------------------------------------^
>
>
> i can overcome it by changing the code and instead of
>
>            diagUnits = DIAGS_MK_UNITS( rUnit2c//'^2/s^2', myThid )
>
> i 'hardwire' the units, say write :     diagUnits = '(m/s)^2         '
>
> however, i wonder if there is a better way.....
>
> 2. when trying to execute the verification/dic_example i get:
>
> forrtl: error (72): floating overflow
> forrtl: error (72): floating overflow
> forrtl: error (75): floating point exception
>   0: __FINI_00_remove_gp_range [0x3ff81a21488]
>   1: __FINI_00_remove_gp_range [0x3ff81a2a4d0]
>   2: __FINI_00_remove_gp_range [0x3ff800d5b40]
>   3: __FINI_00_remove_gp_range [0x3ff802aa774]
>   4: calc_pco2_approx_ [carbon_chem.f: 10033, 0x120036e64]
>   5: dic_surfforcing_ [dic_surfforcing.f: 3758, 0x1200731b8]
>   6: dic_biotic_forcing_ [dic_biotic_forcing.f: 3477, 0x12006e0f0]
>   7: gchem_forcing_sep_ [gchem_forcing_sep.f: 3546, 0x120076f74]
>   8: forward_step_ [forward_step.f: 2048, 0x1201f7320]
>   9: the_main_loop_ [the_main_loop.f: 1719, 0x12023e3d8]
>  10: the_model_main_ [the_model_main.f: 2164, 0x12023e550]
>  11: main_ [main.f: 3992, 0x1201a9130]
>  12: main [for_main.c: 203, 0x120246c7c]
>  13: __start [0x120035788]
> forrtl: info (298): 600 floating overflow traps
>   0: __FINI_00_remove_gp_range [0x3ff81a21488]
>   1: __FINI_00_remove_gp_range [0x3ff81a23260]
>   2: __FINI_00_remove_gp_range [0x3ff81a23040]
>   3: __FINI_00_remove_gp_range [0x3ff81a2aad0]
>   4: __FINI_00_remove_gp_range [0x3ff800d5b40]
>   5: __FINI_00_remove_gp_range [0x3ff802aa774]
>   6: calc_pco2_approx_ [carbon_chem.f: 10033, 0x120036e64]
>   7: dic_surfforcing_ [dic_surfforcing.f: 3758, 0x1200731b8]
>   8: dic_biotic_forcing_ [dic_biotic_forcing.f: 3477, 0x12006e0f0]
>   9: gchem_forcing_sep_ [gchem_forcing_sep.f: 3546, 0x120076f74]
>  10: forward_step_ [forward_step.f: 2048, 0x1201f7320]
>  11: the_main_loop_ [the_main_loop.f: 1719, 0x12023e3d8]
>  12: the_model_main_ [the_model_main.f: 2164, 0x12023e550]
>  13: main_ [main.f: 3992, 0x1201a9130]
>  14: main [for_main.c: 203, 0x120246c7c]
>  15: __start [0x120035788]
> IOT trap (core dumped)
>
> the same example works fine on other platforms ..... any idea?
>
>
> thank you, hezi.
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list