/[MITgcm]/MITgcm/model/src/write_grid.F
ViewVC logotype

Diff of /MITgcm/model/src/write_grid.F

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

revision 1.20 by cnh, Tue Nov 8 23:01:10 2005 UTC revision 1.21 by jmc, Fri Aug 4 01:27:31 2006 UTC
# Line 36  C     myThid -  Number of this instances Line 36  C     myThid -  Number of this instances
36        INTEGER myThid        INTEGER myThid
37    
38  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
39  C     tmpfld  - Temporary array used to compute & write Total Depth  C     tmpfld :: Temporary array used to compute & write Total Depth ;
40  C               has to be in common for multi threading  C               loaded in multi-threaded way but written by single (master)
41  C     ?aja: not sure why the COMMON block is necessary - should ask JMC?  C               thread => needs to be in common to be shared by all threads
42  c     COMMON / LOCAL_INI_MASKS_ETC / tmpfld        COMMON / LOCAL_WRITE_GRID / tmpfld
43        _RS tmpfld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RS tmpfld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
44        INTEGER i,j,bi,bj        INTEGER i,j,bi,bj
45        LOGICAL writegrid_mdsio        LOGICAL writegrid_mdsio
# Line 52  C     Calculate the fluid thickness in R Line 52  C     Calculate the fluid thickness in R
52  C     model.  This may differ from what the user specified due to  C     model.  This may differ from what the user specified due to
53  C     partial cells, etc.  C     partial cells, etc.
54        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
55          DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
56            DO j=1-Oly,sNy+Oly           DO j=1-Oly,sNy+Oly
57              DO i=1-Olx,sNx+Olx            DO i=1-Olx,sNx+Olx
58  C             Total fluid column thickness (r_unit) :  C     Total fluid column thickness (r_unit) :
59                tmpfld(i,j,bi,bj) = Ro_surf(i,j,bi,bj) - R_low(i,j,bi,bj)              tmpfld(i,j,bi,bj) = Ro_surf(i,j,bi,bj) - R_low(i,j,bi,bj)
             ENDDO  
60            ENDDO            ENDDO
61          ENDDO           ENDDO
62           ENDDO
63        ENDDO        ENDDO
64          _BARRIER
65    
66        writegrid_mdsio = .TRUE.        writegrid_mdsio = .TRUE.
67  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
# Line 71  C             Total fluid column thickne Line 72  C             Total fluid column thickne
72    
73        IF ( writegrid_mdsio ) THEN        IF ( writegrid_mdsio ) THEN
74    
 C       _BEGIN_MASTER( myThid )  
   
75  C     Write horizontal grid arrays  C     Write horizontal grid arrays
76          CALL WRITE_FLD_XY_RS( 'XC',' ',XC,-1,myThid)          CALL WRITE_FLD_XY_RS( 'XC',' ',xC,-1,myThid)
77          CALL WRITE_FLD_XY_RS( 'YC',' ',YC,-1,myThid)          CALL WRITE_FLD_XY_RS( 'YC',' ',yC,-1,myThid)
78          CALL WRITE_FLD_XY_RS( 'XG',' ',XG,-1,myThid)          CALL WRITE_FLD_XY_RS( 'XG',' ',xG,-1,myThid)
79          CALL WRITE_FLD_XY_RS( 'YG',' ',YG,-1,myThid)          CALL WRITE_FLD_XY_RS( 'YG',' ',yG,-1,myThid)
80          CALL WRITE_FLD_XY_RS( 'RAC',' ',rA,-1,myThid)          CALL WRITE_FLD_XY_RS( 'RAC',' ',rA,-1,myThid)
81          CALL WRITE_FLD_XY_RS( 'RAW',' ',rAw,-1,myThid)          CALL WRITE_FLD_XY_RS( 'RAW',' ',rAw,-1,myThid)
82          CALL WRITE_FLD_XY_RS( 'RAS',' ',rAs,-1,myThid)          CALL WRITE_FLD_XY_RS( 'RAS',' ',rAs,-1,myThid)
83          CALL WRITE_FLD_XY_RS( 'RAZ',' ',rAz,-1,myThid)          CALL WRITE_FLD_XY_RS( 'RAZ',' ',rAz,-1,myThid)
84          CALL WRITE_FLD_XY_RS( 'DXG',' ',DXG,-1,myThid)          CALL WRITE_FLD_XY_RS( 'DXG',' ',dxG,-1,myThid)
85          CALL WRITE_FLD_XY_RS( 'DYG',' ',DYG,-1,myThid)          CALL WRITE_FLD_XY_RS( 'DYG',' ',dyG,-1,myThid)
86          CALL WRITE_FLD_XY_RS( 'DXC',' ',DXC,-1,myThid)          CALL WRITE_FLD_XY_RS( 'DXC',' ',dxC,-1,myThid)
87          CALL WRITE_FLD_XY_RS( 'DYC',' ',DYC,-1,myThid)          CALL WRITE_FLD_XY_RS( 'DYC',' ',dyC,-1,myThid)
88          IF ( usingCurvilinearGrid ) THEN          IF ( usingCurvilinearGrid ) THEN
89            CALL WRITE_FLD_XY_RS( 'AngleCS',' ',angleCosC,-1,myThid)            CALL WRITE_FLD_XY_RS( 'AngleCS',' ',angleCosC,-1,myThid)
90            CALL WRITE_FLD_XY_RS( 'AngleSN',' ',angleSinC,-1,myThid)            CALL WRITE_FLD_XY_RS( 'AngleSN',' ',angleSinC,-1,myThid)
# Line 110  C     Write vertical grid arrays Line 109  C     Write vertical grid arrays
109       &                                0,0, 1, -1, myThid)       &                                0,0, 1, -1, myThid)
110  #endif /* ALLOW_MDSIO */  #endif /* ALLOW_MDSIO */
111    
 C       _END_MASTER(myThid)  
   
112        ENDIF        ENDIF
113    
114    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
115    
116  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
117        IF ( useMNC .AND. writegrid_mnc ) THEN        IF ( useMNC .AND. writegrid_mnc ) THEN
118    
# Line 162  c       CALL MNC_CW_RL_W('D',bfname,0,0, Line 161  c       CALL MNC_CW_RL_W('D',bfname,0,0,
161          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacC',HFacC,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacC',HFacC,myThid)
162          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacW',HFacW,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacW',HFacW,myThid)
163          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacS',HFacS,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacS',HFacS,myThid)
164    
165          _END_MASTER(myThid)          _END_MASTER(myThid)
166    
167        ENDIF        ENDIF
# Line 169  c       CALL MNC_CW_RL_W('D',bfname,0,0, Line 169  c       CALL MNC_CW_RL_W('D',bfname,0,0,
169    
170        RETURN        RETURN
171        END        END
   
 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  
   

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

  ViewVC Help
Powered by ViewVC 1.1.22