11 |
SUBROUTINE DIAGNOSTICS_OUT( |
SUBROUTINE DIAGNOSTICS_OUT( |
12 |
I listnum, |
I listnum, |
13 |
I myIter, |
I myIter, |
14 |
|
I myTime, |
15 |
I myThid ) |
I myThid ) |
16 |
|
|
17 |
C !DESCRIPTION: |
C !DESCRIPTION: |
38 |
C listnum :: Diagnostics list number being written |
C listnum :: Diagnostics list number being written |
39 |
C myIter :: current iteration number |
C myIter :: current iteration number |
40 |
C myThid :: my Thread Id number |
C myThid :: my Thread Id number |
41 |
|
_RL myTime |
42 |
INTEGER listnum, myIter, myThid |
INTEGER listnum, myIter, myThid |
43 |
CEOP |
CEOP |
44 |
|
|
94 |
|
|
95 |
C Update the record dimension by writing the iteration number |
C Update the record dimension by writing the iteration number |
96 |
CALL MNC_CW_SET_UDIM(diag_mnc_bn, -1, myThid) |
CALL MNC_CW_SET_UDIM(diag_mnc_bn, -1, myThid) |
97 |
CALL MNC_CW_I_W_S('I',diag_mnc_bn,0,0,'T',myIter,myThid) |
CALL MNC_CW_RL_W_S('D',diag_mnc_bn,0,0,'T',myTime,myThid) |
98 |
CALL MNC_CW_SET_UDIM(diag_mnc_bn, 0, myThid) |
CALL MNC_CW_SET_UDIM(diag_mnc_bn, 0, myThid) |
99 |
|
|
100 |
dn(1)(1:NLEN) = dn_blnk(1:NLEN) |
dn(1)(1:NLEN) = dn_blnk(1:NLEN) |
251 |
#ifdef ALLOW_MDSIO |
#ifdef ALLOW_MDSIO |
252 |
C Prepare for mdsio optionality |
C Prepare for mdsio optionality |
253 |
IF (diag_mdsio) THEN |
IF (diag_mdsio) THEN |
254 |
CALL mdswritefield_new(fn,writeBinaryPrec,glf,'RL', |
IF (fflags(listnum)(1:1) .EQ. ' ') THEN |
255 |
& Nr+Nrphys,nlevels(listnum),qtmp1,n,myIter,myThid) |
C This is the old default behavior |
256 |
|
CALL mdswritefield_new(fn,writeBinaryPrec,glf,'RL', |
257 |
|
& Nr+Nrphys,nlevels(listnum),qtmp1,n,myIter,myThid) |
258 |
|
ELSEIF (fflags(listnum)(1:1) .EQ. 'R') THEN |
259 |
|
C Force it to be 32-bit precision |
260 |
|
CALL mdswritefield_new(fn,precFloat32,glf,'RL', |
261 |
|
& Nr+Nrphys,nlevels(listnum),qtmp1,n,myIter,myThid) |
262 |
|
ELSEIF (fflags(listnum)(1:1) .EQ. 'D') THEN |
263 |
|
C Force it to be 64-bit precision |
264 |
|
CALL mdswritefield_new(fn,precFloat64,glf,'RL', |
265 |
|
& Nr+Nrphys,nlevels(listnum),qtmp1,n,myIter,myThid) |
266 |
|
ENDIF |
267 |
ENDIF |
ENDIF |
268 |
#endif /* ALLOW_MDSIO */ |
#endif /* ALLOW_MDSIO */ |
269 |
|
|
346 |
CALL MNC_CW_ADD_VATTR_TEXT(cdiag(m),'units', |
CALL MNC_CW_ADD_VATTR_TEXT(cdiag(m),'units', |
347 |
& udiag(m),myThid) |
& udiag(m),myThid) |
348 |
|
|
349 |
CALL MNC_CW_RL_W('D',diag_mnc_bn,0,0, |
IF ((fflags(listnum)(1:1) .EQ. ' ') |
350 |
|
& .OR. (fflags(listnum)(1:1) .EQ. 'R')) THEN |
351 |
|
CALL MNC_CW_RL_W('R',diag_mnc_bn,0,0, |
352 |
& cdiag(m), qtmp1, myThid) |
& cdiag(m), qtmp1, myThid) |
353 |
|
ELSEIF (fflags(listnum)(1:1) .EQ. 'D') THEN |
354 |
|
CALL MNC_CW_RL_W('D',diag_mnc_bn,0,0, |
355 |
|
& cdiag(m), qtmp1, myThid) |
356 |
|
ENDIF |
357 |
|
|
358 |
CALL MNC_CW_DEL_VNAME(cdiag(m), myThid) |
CALL MNC_CW_DEL_VNAME(cdiag(m), myThid) |
359 |
CALL MNC_CW_DEL_GNAME(d_cw_name, myThid) |
CALL MNC_CW_DEL_GNAME(d_cw_name, myThid) |
360 |
|
|