/[MITgcm]/MITgcm/pkg/diagnostics/diagnostics_write_pickup.F
ViewVC logotype

Diff of /MITgcm/pkg/diagnostics/diagnostics_write_pickup.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.3 by edhill, Sun Feb 20 05:28:20 2005 UTC revision 1.4 by edhill, Mon Feb 21 04:41:52 2005 UTC
# Line 41  C     myThid  :: Number of this instance Line 41  C     myThid  :: Number of this instance
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
# Line 82  C         Update the record dimension by Line 85  C         Update the record dimension by
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)
# Line 96  C         Update the record dimension by Line 100  C         Update the record dimension by
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
# Line 117  C         Update the record dimension by Line 121  C         Update the record dimension by
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    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22