From: Bogdan Costescu (bogdan.costescu_at_iwr.uni-heidelberg.de)
Date: Mon May 24 2004 - 03:24:33 CDT

[ Changed .crd to .dcd as mentioned in another e-mail in this thread ]

On Sun, 23 May 2004, EPF (Esben Peter Friis) wrote:

> I have no experience with Itanium or Itanium2, but CHARMM (or
> NAMD)trajectories (.dcd) created on a SGI Octane (64bit MIPS R10000)
> can be read directly by VMD on a 32bit machine. I would expect that
> only the endianism (byte order) is different in the files.

Funny that you mention that SGI 64 bit, as this is the only one that I
know that has a different behaviour that the others.

If you read the ABI page on IRIX ('man abi'), you'll see that the size
of integer is still 32 bits for n64 ABI (obtained with -64 compiler
flag for example). You could test the size of the Fortran INTEGER for
example, by compiling the following program:

      PROGRAM inttest
      INTEGER A,B
      INTEGER*8 C,D
      WRITE (*,*) "Size of INTEGER=",LOC(B)-LOC(A)
      WRITE (*,*) "Size of INTEGER*8=",LOC(D)-LOC(C)
      STOP
      END

and compile with 'f77 -64 -o inttest inttest.f'. On an Origin200, I
get the results 4 and 8.

The integer entities that are written in the header of the CHARMM
trajectories are all declared with "INTEGER", not with a more strict
definition "INTEGER*4" or "INTEGER*8", so they will be whatever the
compiler knows the size of "INTEGER" is on that platform. On IRIX,
even with -64, it is 32 bits; on Itanium, it's 64 bits.

--
Bogdan Costescu
IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu_at_IWR.Uni-Heidelberg.De