1 |
jmc |
1.3 |
C $Header: /u/gcmpack/MITgcm/eesupp/src/mds_reclen.F,v 1.2 2008/07/20 12:25:25 jmc Exp $ |
2 |
jmc |
1.1 |
C $Name: $ |
3 |
|
|
|
4 |
|
|
#include "CPP_EEOPTIONS.h" |
5 |
|
|
|
6 |
jmc |
1.2 |
INTEGER FUNCTION MDS_RECLEN( filePrec, nnn, myThid ) |
7 |
jmc |
1.1 |
C IN: |
8 |
jmc |
1.3 |
C filePrec integer :: precision of file in bits |
9 |
|
|
C nnn integer :: number of elements in record |
10 |
|
|
C myThid integer :: my thread id number |
11 |
jmc |
1.1 |
C OUT: |
12 |
jmc |
1.3 |
C MDS_RECLEN integer :: appropriate length of record in bytes or words |
13 |
jmc |
1.1 |
C |
14 |
|
|
C Created: 03/29/99 eckert@mit.edu + adcroft@mit.edu |
15 |
|
|
|
16 |
jmc |
1.2 |
IMPLICIT NONE |
17 |
jmc |
1.1 |
|
18 |
|
|
C Global variables |
19 |
|
|
#include "SIZE.h" |
20 |
|
|
#include "EEPARAMS.h" |
21 |
|
|
C |
22 |
|
|
C Arguments |
23 |
jmc |
1.2 |
INTEGER filePrec |
24 |
|
|
INTEGER nnn |
25 |
|
|
INTEGER myThid |
26 |
jmc |
1.1 |
C |
27 |
|
|
C Local |
28 |
jmc |
1.2 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
29 |
jmc |
1.1 |
C ------------------------------------------------------------------ |
30 |
|
|
|
31 |
jmc |
1.2 |
IF (filePrec .EQ. precFloat32) THEN |
32 |
|
|
MDS_RECLEN = nnn*WORDLENGTH |
33 |
|
|
ELSEIF (filePrec .EQ. precFloat64) THEN |
34 |
|
|
MDS_RECLEN = nnn*WORDLENGTH*2 |
35 |
|
|
ELSE |
36 |
|
|
WRITE(msgBuf,'(A,I2.2)') |
37 |
jmc |
1.1 |
& ' MDS_RECLEN: filePrec = ',filePrec |
38 |
jmc |
1.2 |
CALL PRINT_ERROR( msgBuf, myThid ) |
39 |
|
|
WRITE(msgBuf,'(A)') |
40 |
jmc |
1.1 |
& ' MDS_RECLEN: illegal value for filePrec' |
41 |
jmc |
1.2 |
CALL PRINT_ERROR( msgBuf, myThid ) |
42 |
|
|
STOP 'ABNORMAL END: S/R MDS_RECLEN' |
43 |
|
|
ENDIF |
44 |
jmc |
1.1 |
|
45 |
|
|
C ------------------------------------------------------------------ |
46 |
jmc |
1.2 |
RETURN |
47 |
|
|
END |