[MITgcm-support] Package global_ocean.cs32x15

Entcho Demirov entcho at physics.mun.ca
Fri Apr 29 08:57:36 EDT 2005


Hi Ed,

Thanks for your help. I have compiled and run the code on
"osf1_alpha_f77" system. Everything went well and the
run finished normally, though it prints messages:

forrtl: error (65): floating invalid
forrtl: error (65): floating invalid
forrtl: error (73): floating divide by zero
forrtl: error (73): floating divide by zero
NORMAL END
forrtl: info (299): 1890 floating divide-by-zero traps
forrtl: info (297): 4032 floating invalid traps

Do you think that I may ignore these messages?

Thanks again for your prompt response to my e-mail
from yesterday.

Entcho

----------------------------------------------------------------------
  Entcho Demirov                      e-mail: entcho at physics.mun.ca
  Physics and Physical Oceanography   Phone:  709-737-8834
  Memorial University
  St. John's, Newfoundland A1B 3X7    Fax:    709-737-8739
---------------------------------------------------------------------


On Thu, 28 Apr 2005, Ed Hill wrote:

> On Thu, 2005-04-28 at 16:52 -0230, Entcho Demirov wrote:
>> Hi Steph, Ed et al.
>>
>> I try to activate global_ocean.cs32x15 package on an alpha_linux_g77
>> computer. I use the standard packages.conf file in the code
>> subdirectory to generate Makefile and to compile the code. I have
>> tried to work with the both OPTFILES g77 and g77+mpi and got one
>> the same problem.
>>
>> The run crashes already at the initialization step giving an error
>> "Floating Exception". Since this kind of errors may occur everywhere,
>> I have tried to trace where the model stops. I have found that the
>> problem is related with the initialization of the the cubed-sphere
>> grid in
>>
>> file exch2_send_rs2.F
>>
>> Subroutine EXCH2_SEND_RS2,
>>
>>   line 146-147
>>
>>            val1=sa1*array1(isl,jsl,ktl)
>>       &       +sa2*array2(isl,jsl,ktl)
>>
>> It looks like that in all of the calls to this subroutine,
>> array1 and array2 are not initialized. Correspondingly the
>> value of val1 may vary from very small (O(1.e-100)) to very
>> large values (O(1.e300)). However the problem with the run
>> occurs only when the value of one of these arrays is NaN,
>> which produces the floating exception.
>>
>> Do you have an idea how I may work around this problem?
>
>
> Hi Entcho,
>
> Yes, I do know one way to work around this problem and it might help
> you.  Do you have access to a commercial (that is, an official "HP" or
> "Compaq" or "DEC") compiler for the Alpha architecture?
>
> Most of the commercial compilers for the alpha architecture have an
> option that allows floating point exceptions to result in warnings
> rather than errors that cause the program execution to halt.  And,
> unfortunately, I don't think there is any way to make the Gnu g77
> compiler behave that way -- it produces code that always halts when
> floating point exceptions occur.
>
> For instance, the "osf1_alpha_f77" optfile has:
>
>  FFLAGS='-fpe2 [...]'
>
> where the "-fpe2" flag tells the Fortran compiler to produce code that
> will ignore floating point exceptions (actually, it completely ignores
> all floating point exceptions after the first or second have happened).
>
> If you don't have access to one of the commercial alpha compilers, then
> it may be possible to re-write parts of MITgcm so that these floating
> point exceptions don't happen for you.  But that may (or may not?)
> entail a lot of work.
>
> Ed
>
> --
> Edward H. Hill III, PhD
> office:  MIT Dept. of EAPS;  Rm 54-1424;  77 Massachusetts Ave.
>             Cambridge, MA 02139-4307
> emails:  eh3 at mit.edu                ed at eh3.com
> URLs:    http://web.mit.edu/eh3/    http://eh3.com/
> phone:   617-253-0098
> fax:     617-253-4464
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
>



More information about the MITgcm-support mailing list