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

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

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

revision 1.2 by edhill, Sun Feb 20 04:31:54 2005 UTC revision 1.4 by edhill, Mon Feb 21 04:41:52 2005 UTC
# Line 29  CEOP Line 29  CEOP
29  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
30        INTEGER i,j,n,bi,bj        INTEGER i,j,n,bi,bj
31        CHARACTER*(80) fn        CHARACTER*(80) fn
32    
33    #ifdef ALLOW_MDSIO
34        LOGICAL glf        LOGICAL glf
35          INTEGER dUnit
36    #endif /* ALLOW_MDSIO */
37    
38    #ifdef ALLOW_MNC
39          INTEGER ii
40          CHARACTER*(MAX_LEN_FNAM) diag_mnc_bn
41          INTEGER CW_DIMS, NLEN
42          PARAMETER ( CW_DIMS = 10 )
43          PARAMETER ( NLEN    = 80 )
44          INTEGER dim(CW_DIMS), ib(CW_DIMS), ie(CW_DIMS)
45          CHARACTER*(NLEN) dn(CW_DIMS)
46          CHARACTER*(NLEN) d_cw_name
47          CHARACTER*(NLEN) dn_blnk
48    #endif /*  ALLOW_MNC  */
49    
50  C     Zero out the qdiag array which accumulates during integration  C     Zero out the qdiag array which accumulates during integration
51        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
# Line 49  C     Add pickup capability Line 65  C     Add pickup capability
65        IF (diag_pickup_read) THEN        IF (diag_pickup_read) THEN
66    
67  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
68  C       IF (useMNC .AND. diag_pickup_read_mnc) THEN          IF (diag_pickup_read_mnc) THEN
69  C       ENDIF            DO i = 1,NLEN
70  #endif              dn_blnk(i:i) = ' '
71                      ENDDO
72              DO i = 1,MAX_LEN_FNAM
73                diag_mnc_bn(i:i) = ' '
74              ENDDO
75              WRITE(diag_mnc_bn,'(A)') 'pickup_diagnostics'
76    
77    C         Update the record dimension by writing the iteration number
78              CALL MNC_FILE_CLOSE_ALL_MATCHING(diag_mnc_bn, myThid)
79              CALL MNC_CW_SET_UDIM(diag_mnc_bn, 1, myThid)
80              
81    C         Read the qdiag() array
82              d_cw_name(1:NLEN) = dn_blnk(1:NLEN)
83              DO ii = 1,CW_DIMS
84                dn(ii)(1:NLEN) = dn_blnk(1:NLEN)
85              ENDDO
86              d_cw_name(1:10) = 'diag_state'
87              dn(1)(1:3) = 'Xp1'
88              dim(1)     = sNx + 2*OLx
89              ib(1)      = OLx + 1
90              ie(1)      = OLx + sNx + 1
91              dn(2)(1:3) = 'Yp1'
92              dim(2)     = sNy + 2*OLy
93              ib(2)      = OLy + 1
94              ie(2)      = OLy + sNy + 1
95              dn(3)(1:2) = 'Zd'
96              dim(3)     = numdiags
97              ib(3)      = 1
98              ie(3)      = numdiags
99              dn(4)(1:1) = 'T'
100              dim(4)     = -1
101              ib(4)      = 1
102              ie(4)      = 1
103              CALL MNC_CW_ADD_GNAME(d_cw_name, 4,
104         &         dim, dn, ib, ie, myThid)
105              CALL MNC_CW_ADD_VNAME(d_cw_name, d_cw_name,
106         &         4,5, myThid)
107              CALL MNC_CW_RL_R('D',diag_mnc_bn,0,0,
108         &         d_cw_name, qdiag, myThid)
109              CALL MNC_CW_DEL_VNAME(d_cw_name, myThid)
110              CALL MNC_CW_DEL_GNAME(d_cw_name, myThid)
111              
112    C         Read the ndiag() array
113              d_cw_name(1:NLEN) = dn_blnk(1:NLEN)
114              DO ii = 1,CW_DIMS
115                dn(ii)(1:NLEN) = dn_blnk(1:NLEN)
116              ENDDO
117              d_cw_name(1:10) = 'diag_count'
118              dn(1)(1:2) = 'Nd'
119              dim(1)     = numdiags
120              ib(1)      = 1
121              ie(1)      = numdiags
122              dn(2)(1:1) = 'T'
123              dim(2)     = -1
124              ib(2)      = 1
125              ie(2)      = 1
126              CALL MNC_CW_ADD_GNAME(d_cw_name, 2,
127         &         dim, dn, ib, ie, myThid)
128              CALL MNC_CW_ADD_VNAME(d_cw_name, d_cw_name,
129         &         4,5, myThid)
130              CALL MNC_CW_ADD_VATTR_TEXT(d_cw_name,'description',
131         &         'diagnostics state',myThid)
132              CALL MNC_CW_RL_R('I',diag_mnc_bn,0,0,
133         &         d_cw_name, ndiag, myThid)
134              CALL MNC_CW_DEL_VNAME(d_cw_name, myThid)
135              CALL MNC_CW_DEL_GNAME(d_cw_name, myThid)
136    
137            ENDIF
138    #endif /* ALLOW_MNC */
139              
140    #ifdef ALLOW_MDSIO
141          IF (diag_pickup_read_mdsio) THEN          IF (diag_pickup_read_mdsio) THEN
142              _BEGIN_MASTER(myThid)
143    
144    C         Read qdiag()
145            DO i = 1,80            DO i = 1,80
146              fn(i:i) = ' '              fn(i:i) = ' '
147            ENDDO            ENDDO
148            write(fn,'(a)') 'pickup_diagnostics'            write(fn,'(A,I10.10)') 'pickup_qdiag', nIter0
149            glf = globalFiles            glf = globalFiles
150            CALL MDSREADFIELD(fn,readBinaryPrec,glf,'RL',            CALL MDSREADFIELD(fn,readBinaryPrec,glf,'RL',
151       &         numdiags,qdiag,1,myThid)       &         numdiags,qdiag,1,myThid)
152    
153    C         Read ndiag()
154              DO i = 1,80
155                fn(i:i) = ' '
156              ENDDO
157              WRITE(fn,'(A,I10.10)') 'pickup_ndiag.', nIter0
158              CALL MDSFINDUNIT( dUnit, mythid )
159              OPEN( dUnit, file=fn )
160              DO i = 1,numdiags
161                READ(dUnit,'(I10)') ndiag(i)
162              ENDDO
163              CLOSE( dUnit )
164              _END_MASTER(myThid)
165          ENDIF          ENDIF
166    #endif /* ALLOW_MDSIO */
167    
168        ENDIF        ENDIF
169    

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

  ViewVC Help
Powered by ViewVC 1.1.22