[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