41 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
42 |
C fn :: character buffer for creating filename |
C fn :: character buffer for creating filename |
43 |
C prec :: precision of pickup files |
C prec :: precision of pickup files |
|
C lgf :: flag to write "global" files |
|
44 |
c INTEGER prec, iChar, lChar, k |
c INTEGER prec, iChar, lChar, k |
45 |
INTEGER prec, lChar, i |
INTEGER prec, lChar, i, sn |
46 |
CHARACTER*(MAX_LEN_FNAM) fn |
CHARACTER*(MAX_LEN_FNAM) fn |
|
LOGICAL lgf |
|
47 |
|
|
48 |
INTEGER ILNBLNK |
INTEGER ILNBLNK |
49 |
EXTERNAL ILNBLNK |
EXTERNAL ILNBLNK |
50 |
|
|
51 |
|
#ifdef ALLOW_MDSIO |
52 |
|
LOGICAL lgf |
53 |
|
INTEGER dUnit |
54 |
|
#endif /* ALLOW_MDSIO */ |
55 |
|
|
56 |
#ifdef ALLOW_MNC |
#ifdef ALLOW_MNC |
57 |
INTEGER ii |
INTEGER ii |
58 |
CHARACTER*(MAX_LEN_FNAM) diag_mnc_bn |
CHARACTER*(MAX_LEN_FNAM) diag_mnc_bn |
85 |
CALL MNC_CW_SET_UDIM(diag_mnc_bn, -1, myThid) |
CALL MNC_CW_SET_UDIM(diag_mnc_bn, -1, myThid) |
86 |
CALL MNC_CW_I_W_S('I',diag_mnc_bn,0,0,'T',myIter,myThid) |
CALL MNC_CW_I_W_S('I',diag_mnc_bn,0,0,'T',myIter,myThid) |
87 |
CALL MNC_CW_SET_UDIM(diag_mnc_bn, 0, myThid) |
CALL MNC_CW_SET_UDIM(diag_mnc_bn, 0, myThid) |
88 |
|
|
89 |
|
C Write the qdiag() array |
90 |
d_cw_name(1:NLEN) = dn_blnk(1:NLEN) |
d_cw_name(1:NLEN) = dn_blnk(1:NLEN) |
91 |
DO ii = 1,CW_DIMS |
DO ii = 1,CW_DIMS |
92 |
dn(ii)(1:NLEN) = dn_blnk(1:NLEN) |
dn(ii)(1:NLEN) = dn_blnk(1:NLEN) |
100 |
dim(2) = sNy + 2*OLy |
dim(2) = sNy + 2*OLy |
101 |
ib(2) = OLy + 1 |
ib(2) = OLy + 1 |
102 |
ie(2) = OLy + sNy + 1 |
ie(2) = OLy + sNy + 1 |
103 |
dn(3)(1:2) = 'Zd' |
dn(3)(1:2) = 'Nd' |
104 |
dim(3) = numdiags |
dim(3) = numdiags |
105 |
ib(3) = 1 |
ib(3) = 1 |
106 |
ie(3) = numdiags |
ie(3) = numdiags |
121 |
|
|
122 |
CALL MNC_CW_DEL_VNAME(d_cw_name, myThid) |
CALL MNC_CW_DEL_VNAME(d_cw_name, myThid) |
123 |
CALL MNC_CW_DEL_GNAME(d_cw_name, myThid) |
CALL MNC_CW_DEL_GNAME(d_cw_name, myThid) |
124 |
|
|
125 |
|
C Write the ndiag() array |
126 |
|
d_cw_name(1:NLEN) = dn_blnk(1:NLEN) |
127 |
|
DO ii = 1,CW_DIMS |
128 |
|
dn(ii)(1:NLEN) = dn_blnk(1:NLEN) |
129 |
|
ENDDO |
130 |
|
d_cw_name(1:10) = 'diag_count' |
131 |
|
dn(1)(1:2) = 'Nd' |
132 |
|
dim(1) = numdiags |
133 |
|
ib(1) = 1 |
134 |
|
ie(1) = numdiags |
135 |
|
dn(2)(1:1) = 'T' |
136 |
|
dim(2) = -1 |
137 |
|
ib(2) = 1 |
138 |
|
ie(2) = 1 |
139 |
|
|
140 |
|
CALL MNC_CW_ADD_GNAME(d_cw_name, 2, |
141 |
|
& dim, dn, ib, ie, myThid) |
142 |
|
CALL MNC_CW_ADD_VNAME(d_cw_name, d_cw_name, |
143 |
|
& 4,5, myThid) |
144 |
|
CALL MNC_CW_ADD_VATTR_TEXT(d_cw_name,'description', |
145 |
|
& 'diagnostics state',myThid) |
146 |
|
|
147 |
|
CALL MNC_CW_RL_W('I',diag_mnc_bn,0,0, |
148 |
|
& d_cw_name, ndiag, myThid) |
149 |
|
|
150 |
|
CALL MNC_CW_DEL_VNAME(d_cw_name, myThid) |
151 |
|
CALL MNC_CW_DEL_GNAME(d_cw_name, myThid) |
152 |
|
|
153 |
|
|
154 |
ENDIF |
ENDIF |
155 |
#endif |
#endif |
156 |
|
|
157 |
DO i = 1,MAX_LEN_FNAM |
#ifdef ALLOW_MDSIO |
|
fn(i:i) = ' ' |
|
|
ENDDO |
|
|
lChar = ILNBLNK(suff) |
|
|
WRITE(fn,'(A,A)') 'pickup_diagnostics.',suff(1:lChar) |
|
|
prec = precFloat64 |
|
|
lgf = globalFiles |
|
|
|
|
158 |
IF (diag_pickup_write_mdsio) THEN |
IF (diag_pickup_write_mdsio) THEN |
159 |
|
_BEGIN_MASTER( myThid ) |
160 |
|
|
161 |
|
sn = ILNBLNK(suff) |
162 |
|
|
163 |
|
C Write qdiag() |
164 |
|
DO i = 1,80 |
165 |
|
fn(i:i) = ' ' |
166 |
|
ENDDO |
167 |
|
write(fn,'(a,a)') 'pickup_qdiag.', suff(1:sn) |
168 |
|
prec = precFloat64 |
169 |
|
lgf = globalFiles |
170 |
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',numdiags,qdiag, |
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',numdiags,qdiag, |
171 |
& 1,myIter,myThid) |
& 1,myIter,myThid) |
172 |
|
|
173 |
|
C Write ndiag() |
174 |
|
DO i = 1,80 |
175 |
|
fn(i:i) = ' ' |
176 |
|
ENDDO |
177 |
|
WRITE(fn,'(a,a)') 'pickup_ndiag.', suff(1:sn) |
178 |
|
CALL MDSFINDUNIT( dUnit, mythid ) |
179 |
|
OPEN( dUnit, file=fn ) |
180 |
|
DO i = 1,numdiags |
181 |
|
WRITE(dUnit,'(I10)') ndiag(i) |
182 |
|
ENDDO |
183 |
|
CLOSE( dUnit ) |
184 |
|
_END_MASTER( myThid ) |
185 |
ENDIF |
ENDIF |
186 |
|
#endif /* ALLOW_MDSIO */ |
187 |
|
|
188 |
ENDIF |
ENDIF |
189 |
|
|