[MITgcm-support] A few new optfiles

Constantinos Evangelinos ce107 at ocean.mit.edu
Thu Oct 12 14:01:21 EDT 2006

On Wed 11 Oct 2006 22:34, Mark Hadfield wrote:

> Flushed with my success so far, I have moved onto the Cray T3E platform.
> I have run a small serial simulation OK but have hit a problem with mnc:
> it looks like a manifestation of the old "float equivalent to double "
> issue.

To clarify this for the benefit of other souls that may have their hands on a 
T3E (one of the finest scaling parallel machines ever):

In Cray Fortran double precision is 128bit long and single precision is 64 
bits long. This made more sense in the non-standardized (IEEE754) days of 
Cray (vs. IBM or VAX or CDC etc.) arithmetic as you would get a wider 
exponent but a smaller mantissa with Cray's 64bit floating point for vector 
machines than what one normally expects for double precision these days 
(meaning a Cray single precision number would live in the mantissa/exponent 
configuration space between an IEEE754 single and an IEEE754 double). When 
Cray introduced the T3D, they kept their non-standard conventions around (eg. 
their 1 Word = 4 bytes) so as not to break their vector users' code even 
though none of the native Alpha processor floating point formats (IEEE and 
various VAX variants) mapped to theirs.  Interestingly enough Cray C on the 
T3 series always used the native Alpha processor IEEE formats so mixing 
Fortran and C code on the T3 series requires:
a) Avoiding use of any generic REAL, INTEGER etc. declarations
b) or if they are to be found avoiding the use of any autodoubling flag on the 
Fortran side
c) and making sure no #defines redefine things to REAL, COMPLEX etc. without a 
size specification. 
It's a bit messy but it works. Newer Cray vector (X1 and after) and scalar 
(XT3, XD1) machines have completely abandoned both Cray arithmetic and any 
pretense to mimicking it by default.

Dr. Constantinos Evangelinos
Department of Earth, Atmospheric and Planetary Sciences
Massachusetts Institute of Technology

More information about the MITgcm-support mailing list