/[MITgcm]/MITgcm/eesupp/src/gather_2d_rx.template
ViewVC logotype

Diff of /MITgcm/eesupp/src/gather_2d_rx.template

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

revision 1.2 by jmc, Tue May 12 19:53:02 2009 UTC revision 1.3 by jmc, Fri May 15 16:04:22 2009 UTC
# Line 11  C !INTERFACE: Line 11  C !INTERFACE:
11       O                  gloBuff,       O                  gloBuff,
12       I                  myField,       I                  myField,
13       I                  xSize, ySize,       I                  xSize, ySize,
14       I                  keepBlankTileIO,       I                  useExch2GlobLayOut,
15       I                  zeroBuff,       I                  zeroBuff,
16       I                  myThid )       I                  myThid )
17  C !DESCRIPTION:  C !DESCRIPTION:
# Line 32  C gloBuff   ( _RX ) :: full-domain 2D IO Line 32  C gloBuff   ( _RX ) :: full-domain 2D IO
32  C myField   ( _RX ) :: tiled, local (i.e. my Proc. tiles) 2D array (Input)  C myField   ( _RX ) :: tiled, local (i.e. my Proc. tiles) 2D array (Input)
33  C xSize    (integer):: global buffer 1rst dim (x)  C xSize    (integer):: global buffer 1rst dim (x)
34  C ySize    (integer):: global buffer 2nd  dim (y)  C ySize    (integer):: global buffer 2nd  dim (y)
35  C keepBlankTileIO   :: =T: keep blank-tiles in global IO (only with EXCH2)  C useExch2GlobLayOut:: =T: Use Exch2 global-map layout (only with EXCH2)
36  C zeroBuff (logical):: =T: initialise the buffer to zero before copy  C zeroBuff (logical):: =T: initialise the buffer to zero before copy
37  C myThid   (integer):: my Thread Id number  C myThid   (integer):: my Thread Id number
38    
39        INTEGER xSize, ySize        INTEGER xSize, ySize
40        _RX     gloBuff(xSize,ySize)        _RX     gloBuff(xSize,ySize)
41        _RX     myField(1:sNx,1:sNy,nSx,nSy)        _RX     myField(1:sNx,1:sNy,nSx,nSy)
42        LOGICAL keepBlankTileIO        LOGICAL useExch2GlobLayOut
43        LOGICAL zeroBuff        LOGICAL zeroBuff
44        INTEGER myThid        INTEGER myThid
45  CEOP  CEOP
# Line 67  C--   Make everyone wait except for mast Line 67  C--   Make everyone wait except for mast
67  C--   Process 0 fills-in its local data  C--   Process 0 fills-in its local data
68    
69  #ifdef ALLOW_EXCH2  #ifdef ALLOW_EXCH2
70          IF ( keepBlankTileIO ) THEN          IF ( useExch2GlobLayOut ) THEN
71  C--   If using blank-tiles, buffer will not be completely filled;  C--   If using blank-tiles, buffer will not be completely filled;
72  C     safer to reset to zero to avoid unknown values in output file  C     safer to reset to zero to avoid unknown values in output file
73            IF ( zeroBuff ) THEN            IF ( zeroBuff ) THEN
# Line 135  c         jBase = myYGlobalLo-1 Line 135  c         jBase = myYGlobalLo-1
135             ENDDO             ENDDO
136            ENDDO            ENDDO
137    
138  C       end if-else keepBlankTileIO  C       end if-else useExch2GlobLayOut
139          ENDIF          ENDIF
140    
141  C-    end if myProcId = 0  C-    end if myProcId = 0
# Line 162  C--   Process 0 polls and receives data Line 162  C--   Process 0 polls and receives data
162    
163  C--   Process 0 gathers the local arrays into the global buffer.  C--   Process 0 gathers the local arrays into the global buffer.
164  #ifdef ALLOW_EXCH2  #ifdef ALLOW_EXCH2
165           IF ( keepBlankTileIO ) THEN           IF ( useExch2GlobLayOut ) THEN
166    
167  c         DO bj=1,nSy  c         DO bj=1,nSy
168            bj=1            bj=1
# Line 223  c         jBase = mpi_myYGlobalLo(np)-1 Line 223  c         jBase = mpi_myYGlobalLo(np)-1
223             ENDDO             ENDDO
224            ENDDO            ENDDO
225    
226  C        end if-else keepBlankTileIO  C        end if-else useExch2GlobLayOut
227           ENDIF           ENDIF
228    
229  C-      end loop on np  C-      end loop on np

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

  ViewVC Help
Powered by ViewVC 1.1.22