/[MITgcm]/MITgcm/pkg/exch2/W2_EXCH2_PARAMS.h
ViewVC logotype

Diff of /MITgcm/pkg/exch2/W2_EXCH2_PARAMS.h

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

revision 1.8 by jmc, Wed May 6 01:01:31 2009 UTC revision 1.9 by jmc, Tue May 12 19:40:32 2009 UTC
# Line 9  C     #include W2_EXCH2_PARAMS.h Line 9  C     #include W2_EXCH2_PARAMS.h
9  C     !DESCRIPTION:  C     !DESCRIPTION:
10  C     *==========================================================*  C     *==========================================================*
11  C     | W2_EXCH2_PARAMS.h  C     | W2_EXCH2_PARAMS.h
12  C     | o Header file defining Parameters for WRAPPER2 topology  C     | o Header file defining WRAPPER2-EXCH2 topology parameters
13  C     *==========================================================*  C     *==========================================================*
14  CEOP  CEOP
15    
16  C     W2_ioBufferSize  :: Maximum size of Single-CPU IO buffer  C--   COMMON /W2_EXCH2_PARM_I/ Integer valued parameters used by W2-EXCH2
17        INTEGER W2_ioBufferSize  C     preDefTopol :: pre-defined Topology selector:
18        PARAMETER( W2_ioBufferSize = exch2_global_Nx*exch2_global_Ny )  C                 :: = 0 : topology defined from processing "data.exch2";
19    C                 :: = 1 : simple, single facet topology;
20    C                 :: = 2 : customized topology (w2_set_myown_facets)
21    C                 :: = 3 : 6-face Cube (3 face-dims: nRed, nGreen, nBlue).
22    C     nFacets     :: Number of facets (or domains) in this topology
23    C     facet_dims  :: facet pair of dimensions (n1x,n1y, n2x,n2y, ...)
24    C     nTiles      :: Number of tiles in this topology
25    C     nBlankTiles :: Number of "Blank-Tiles"
26    C     blankList   :: List of "Blank-Tiles" (non active)
27    C--
28    C     W2_mapIO    :: select option for global-IO mapping:
29    C             =-1 :: old format, put facets 1 after the other in the X dir.;
30    C                 :: this is not necessary "compact".
31    C             = 1 :: compact format, 1 facet after the other (mostly in Y dir.)
32    C                 :: but needs to fold some facet (domain) if too large
33    C             = 0 :: compact format (= 1 long line), one facet after the other.
34    C--
35    C     W2_oUnit    :: output fortran Unit for printing Std messages
36    C     W2_printMsg :: select option for information messages printing
37    C             < 0 :: open and print to "w2_tile_topology" log file
38    C             = 0 :: print the minimun, to StdOut
39    C             = 1 :: no duplicated print from different processes (only Master)
40    C             = 2 :: all processes do print (used to check).
41          INTEGER preDefTopol
42          INTEGER nFacets
43          INTEGER facet_dims(2*W2_maxNbFacets)
44          INTEGER nTiles
45          INTEGER nBlankTiles
46          INTEGER blankList(W2_maxNbTiles)
47          INTEGER W2_mapIO
48          INTEGER W2_oUnit, W2_printMsg
49          COMMON /W2_EXCH2_PARM_I/
50         &        preDefTopol,
51         &        nFacets, facet_dims,
52         &        nTiles, nBlankTiles,
53         &        blankList,
54         &        W2_mapIO,
55         &        W2_oUnit, W2_printMsg
56    
57  C     W2 tile id variables (tile ids are no longer a function of  C--   COMMON /W2_EXCH2_BUILD_I/ Integer variables used to build topology
58  C     process and subgrid indicies).  C     facet_owns  :: Range of tiles this facet "owns"
59  C     W2_myTileList     :: list of tiles owned by this process  C     facet_pij   \  ::
60  C     W2_mpi_myTileList :: same as W2_myTileList, but contains  C     facet_oi     } :: indices correspondence matrix (facet_pij) & offsets:
61  C                          information for all processes  C     facet_oj    /  ::
62        INTEGER W2_myTileList(nSx), W2_mpi_myTileList(nPx*nPy,nSx)  C-with:  suffix "so" for indices of source facet j ;
63  c     INTEGER E2_MSGHANDLES(2,MAX_NEIGHBOURS, nSx)  C        suffix "tg" for indices of target facet jj= INT(facet_link(i,j))
64        COMMON /W2_EXCH2_PARAMS_I/ W2_myTileList, W2_mpi_myTileList  C      pij(:,i,j) : matrix which gives so indices when applied to tg indices
65    C        iso = pij(1)*itg + pij(2)*jtg + oi
66    C        jso = pij(3)*itg + pij(4)*jtg + oj
67    C-----
68          INTEGER facet_owns(2,W2_maxNbFacets)
69          INTEGER facet_pij(4,4,W2_maxNbFacets)
70          INTEGER facet_oi(4,W2_maxNbFacets)
71          INTEGER facet_oj(4,W2_maxNbFacets)
72          COMMON /W2_EXCH2_BUILD_I/
73         &        facet_owns,
74         &        facet_pij, facet_oi, facet_oj
75    
76        CHARACTER W2_myCommFlag(MAX_NEIGHBOURS,nSx)  C--   COMMON /W2_EXCH2_PARM_R/ Real*4 valued parameters used by W2-EXCH2
77        COMMON /W2_EXCH2_PARAMS_C/ W2_myCommFlag  C--   topology defined from processing "data.exch2" (preDefTopol=0):
78    C     facet_link  :: Face-Edge connectivity map:
79    C       facet_link(i,j)=XX.1 : face(j)-edge(i) (i=1,2,3,4 <==> N,S,E,W)
80    C       is connected to Northern edge of face "XX" ; similarly,
81    C       = XX.2 : to Southern.E, XX.3 = Eastern.E, XX.4 = Western.E of face "XX".
82          Real*4  facet_link( 4, W2_maxNbFacets )
83          COMMON /W2_EXCH2_PARM_R/ facet_link
84    
85  C     e2FillValue_RX :: filling value for null regions (face-corner halo regions)  C--   COMMON /EXCH2_FILLVAL_RX/ real type filling vallue used by EXCH2
86        INTEGER e2BufrRecSize  C     e2FillValue_RX :: filling value for null regions (facet-corner
87        PARAMETER (  C                    :: halo regions)
      & e2BufrRecSize = ( (sNx+2*OLx)*2*OLy+(sNy+2*OLy)*2*OLx)*Nr  
      &)  
       _RL E2BUFR1_RL( e2BufrRecSize, MAX_NEIGHBOURS, nSx, 2 )  
       _RL E2BUFR2_RL( e2BufrRecSize, MAX_NEIGHBOURS, nSx, 2 )  
       _RS E2BUFR1_RS( e2BufrRecSize, MAX_NEIGHBOURS, nSx, 2 )  
       _RS E2BUFR2_RS( e2BufrRecSize, MAX_NEIGHBOURS, nSx, 2 )  
       _R4 E2BUFR1_R4( e2BufrRecSize, MAX_NEIGHBOURS, nSx, 2 )  
       _R4 E2BUFR2_R4( e2BufrRecSize, MAX_NEIGHBOURS, nSx, 2 )  
       _R8 E2BUFR1_R8( e2BufrRecSize, MAX_NEIGHBOURS, nSx, 2 )  
       _R8 E2BUFR2_R8( e2BufrRecSize, MAX_NEIGHBOURS, nSx, 2 )  
88        _RL e2FillValue_RL        _RL e2FillValue_RL
89        _RS e2FillValue_RS        _RS e2FillValue_RS
90        _R4 e2FillValue_R4        _R4 e2FillValue_R4
91        _R8 e2FillValue_R8        _R8 e2FillValue_R8
92        COMMON /W2_EXCH2_BUF_RL/ E2BUFR1_RL, E2BUFR2_RL, e2FillValue_RL        COMMON /EXCH2_FILLVAL_RL/ e2FillValue_RL
93        COMMON /W2_EXCH2_BUF_RS/ E2BUFR1_RS, E2BUFR2_RS, e2FillValue_RS        COMMON /EXCH2_FILLVAL_RS/ e2FillValue_RS
94        COMMON /W2_EXCH2_BUF_R4/ E2BUFR1_R4, E2BUFR2_R4, e2FillValue_R4        COMMON /EXCH2_FILLVAL_R4/ e2FillValue_R4
95        COMMON /W2_EXCH2_BUF_R8/ E2BUFR1_R8, E2BUFR2_R8, e2FillValue_R8        COMMON /EXCH2_FILLVAL_R8/ e2FillValue_R8
96    
97    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22