/[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.5 by edhill, Wed Feb 23 05:31:03 2005 UTC revision 1.6 by edhill, Wed Feb 23 15:15:30 2005 UTC
# Line 30  C     !LOCAL VARIABLES: Line 30  C     !LOCAL VARIABLES:
30        INTEGER i,j,n,bi,bj        INTEGER i,j,n,bi,bj
31        CHARACTER*(80) fn        CHARACTER*(80) fn
32    
 #ifdef ALLOW_MDSIO  
       LOGICAL glf  
       INTEGER dUnit  
 #endif /* ALLOW_MDSIO */  
   
 #ifdef ALLOW_MNC  
       INTEGER ii  
       CHARACTER*(MAX_LEN_FNAM) diag_mnc_bn  
       INTEGER CW_DIMS, NLEN  
       PARAMETER ( CW_DIMS = 10 )  
       PARAMETER ( NLEN    = 80 )  
       INTEGER dim(CW_DIMS), ib(CW_DIMS), ie(CW_DIMS)  
       CHARACTER*(NLEN) dn(CW_DIMS)  
       CHARACTER*(NLEN) d_cw_name  
       CHARACTER*(NLEN) dn_blnk  
 #endif /*  ALLOW_MNC  */  
   
33  C     Zero out the qdiag array which accumulates during integration  C     Zero out the qdiag array which accumulates during integration
34        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
35          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
# Line 60  C     Zero out the qdiag array which acc Line 43  C     Zero out the qdiag array which acc
43          ENDDO          ENDDO
44        ENDDO        ENDDO
45    
46          CALL DIAGNOSTICS_READ_PICKUP( myThid )
 #ifdef DIAGNOSTICS_HAS_PICKUP  
   
 C     Add pickup capability  
       IF (diag_pickup_read) THEN  
   
 #ifdef ALLOW_MNC  
         IF (diag_pickup_read_mnc) THEN  
           DO i = 1,NLEN  
             dn_blnk(i:i) = ' '  
           ENDDO  
           DO i = 1,MAX_LEN_FNAM  
             diag_mnc_bn(i:i) = ' '  
           ENDDO  
           WRITE(diag_mnc_bn,'(A)') 'pickup_diagnostics'  
   
 C         Update the record dimension by writing the iteration number  
           CALL MNC_FILE_CLOSE_ALL_MATCHING(diag_mnc_bn, myThid)  
           CALL MNC_CW_SET_UDIM(diag_mnc_bn, 1, myThid)  
             
 C         Read the qdiag() array  
           d_cw_name(1:NLEN) = dn_blnk(1:NLEN)  
           DO ii = 1,CW_DIMS  
             dn(ii)(1:NLEN) = dn_blnk(1:NLEN)  
           ENDDO  
           d_cw_name(1:10) = 'diag_state'  
           dn(1)(1:3) = 'Xp1'  
           dim(1)     = sNx + 2*OLx  
           ib(1)      = OLx + 1  
           ie(1)      = OLx + sNx + 1  
           dn(2)(1:3) = 'Yp1'  
           dim(2)     = sNy + 2*OLy  
           ib(2)      = OLy + 1  
           ie(2)      = OLy + sNy + 1  
           dn(3)(1:2) = 'Zd'  
           dim(3)     = numdiags  
           ib(3)      = 1  
           ie(3)      = numdiags  
           dn(4)(1:1) = 'T'  
           dim(4)     = -1  
           ib(4)      = 1  
           ie(4)      = 1  
           CALL MNC_CW_ADD_GNAME(d_cw_name, 4,  
      &         dim, dn, ib, ie, myThid)  
           CALL MNC_CW_ADD_VNAME(d_cw_name, d_cw_name,  
      &         4,5, myThid)  
           CALL MNC_CW_RL_R('D',diag_mnc_bn,0,0,  
      &         d_cw_name, qdiag, myThid)  
           CALL MNC_CW_DEL_VNAME(d_cw_name, myThid)  
           CALL MNC_CW_DEL_GNAME(d_cw_name, myThid)  
             
 C         Read the ndiag() array  
           d_cw_name(1:NLEN) = dn_blnk(1:NLEN)  
           DO ii = 1,CW_DIMS  
             dn(ii)(1:NLEN) = dn_blnk(1:NLEN)  
           ENDDO  
           d_cw_name(1:10) = 'diag_count'  
           dn(1)(1:2) = 'Nd'  
           dim(1)     = numdiags  
           ib(1)      = 1  
           ie(1)      = numdiags  
           dn(2)(1:1) = 'T'  
           dim(2)     = -1  
           ib(2)      = 1  
           ie(2)      = 1  
           CALL MNC_CW_ADD_GNAME(d_cw_name, 2,  
      &         dim, dn, ib, ie, myThid)  
           CALL MNC_CW_ADD_VNAME(d_cw_name, d_cw_name,  
      &         4,5, myThid)  
           CALL MNC_CW_ADD_VATTR_TEXT(d_cw_name,'description',  
      &         'diagnostics state',myThid)  
           CALL MNC_CW_RL_R('I',diag_mnc_bn,0,0,  
      &         d_cw_name, ndiag, myThid)  
           CALL MNC_CW_DEL_VNAME(d_cw_name, myThid)  
           CALL MNC_CW_DEL_GNAME(d_cw_name, myThid)  
   
         ENDIF  
 #endif /* ALLOW_MNC */  
             
 #ifdef ALLOW_MDSIO  
         IF (diag_pickup_read_mdsio) THEN  
           _BEGIN_MASTER(myThid)  
   
 C         Read qdiag()  
           DO i = 1,80  
             fn(i:i) = ' '  
           ENDDO  
           write(fn,'(A,I10.10)') 'pickup_qdiag', nIter0  
           glf = globalFiles  
           CALL MDSREADFIELD(fn,readBinaryPrec,glf,'RL',  
      &         numdiags,qdiag,1,myThid)  
   
 C         Read ndiag()  
           DO i = 1,80  
             fn(i:i) = ' '  
           ENDDO  
           WRITE(fn,'(A,I10.10)') 'pickup_ndiag.', nIter0  
           CALL MDSFINDUNIT( dUnit, mythid )  
           OPEN( dUnit, file=fn )  
           DO i = 1,numdiags  
             READ(dUnit,'(I10)') ndiag(i)  
           ENDDO  
           CLOSE( dUnit )  
           _END_MASTER(myThid)  
         ENDIF  
 #endif /* ALLOW_MDSIO */  
   
       ENDIF  
   
 #endif /* DIAGNOSTICS_HAS_PICKUP */  
47    
48        RETURN        RETURN
49        END        END

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22