9 |
|
|
10 |
C !INTERFACE: |
C !INTERFACE: |
11 |
SUBROUTINE DIAGNOSTICS_OUT( |
SUBROUTINE DIAGNOSTICS_OUT( |
12 |
I listId, |
I listId, myTime, myIter, myThid ) |
|
I myTime, |
|
|
I myIter, |
|
|
I myThid ) |
|
13 |
|
|
14 |
C !DESCRIPTION: |
C !DESCRIPTION: |
15 |
C Write output for diagnostics fields. |
C Write output for diagnostics fields. |
74 |
INTEGER iLen,jLen |
INTEGER iLen,jLen |
75 |
INTEGER ioUnit |
INTEGER ioUnit |
76 |
CHARACTER*(MAX_LEN_FNAM) fn |
CHARACTER*(MAX_LEN_FNAM) fn |
77 |
CHARACTER*(MAX_LEN_MBUF) suff |
CHARACTER*(10) suff |
78 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
79 |
INTEGER prec, nRec, nTimRec |
INTEGER prec, nRec, nTimRec |
80 |
_RL timeRec(2) |
_RL timeRec(2) |
92 |
ioUnit= standardMessageUnit |
ioUnit= standardMessageUnit |
93 |
undefRL = misValFlt(listId) |
undefRL = misValFlt(listId) |
94 |
|
|
95 |
WRITE(suff,'(I10.10)') myIter |
IF ( rwSuffixType.EQ.0 ) THEN |
96 |
|
WRITE(suff,'(I10.10)') myIter |
97 |
|
ELSE |
98 |
|
CALL RW_GET_SUFFIX( suff, myTime, myIter, myThid ) |
99 |
|
ENDIF |
100 |
iLen = ILNBLNK(fnames(listId)) |
iLen = ILNBLNK(fnames(listId)) |
101 |
WRITE( fn, '(A,A,A)' ) fnames(listId)(1:iLen),'.',suff(1:10) |
WRITE( fn, '(A,A,A)' ) fnames(listId)(1:iLen),'.',suff |
102 |
IF ( diag_mdsio.AND.(diagMdsDir.NE.' ') ) THEN |
IF ( diag_mdsio.AND.(diagMdsDir.NE.' ') ) THEN |
103 |
jLen = ILNBLNK(diagMdsDir) |
jLen = ILNBLNK(diagMdsDir) |
104 |
WRITE( fn, '(5A)' ) diagMdsDir(1:jLen),'/', |
WRITE( fn, '(5A)' ) diagMdsDir(1:jLen),'/', |
105 |
& fnames(listId)(1:iLen),'.',suff(1:10) |
& fnames(listId)(1:iLen),'.',suff |
106 |
ENDIF |
ENDIF |
107 |
|
|
108 |
C- for now, if integrate vertically, output field has just 1 level: |
C- for now, if integrate vertically, output field has just 1 level: |
109 |
nLevOutp = nlevels(listId) |
nLevOutp = nlevels(listId) |
110 |
IF ( fflags(listId)(2:2).EQ.'I' ) nLevOutp = 1 |
IF ( fflags(listId)(2:2).EQ.'I' ) nLevOutp = 1 |