[27556] | 1 | CBOP
|
---|
| 2 | C !ROUTINE: SIZE.h
|
---|
| 3 | C !INTERFACE:
|
---|
| 4 | C include SIZE.h
|
---|
| 5 | C !DESCRIPTION: \bv
|
---|
| 6 | C *==========================================================*
|
---|
| 7 | C | SIZE.h Declare size of underlying computational grid.
|
---|
| 8 | C *==========================================================*
|
---|
| 9 | C | The design here supports a three-dimensional model grid
|
---|
| 10 | C | with indices I,J and K. The three-dimensional domain
|
---|
| 11 | C | is comprised of nPx*nSx blocks (or tiles) of size sNx
|
---|
| 12 | C | along the first (left-most index) axis, nPy*nSy blocks
|
---|
| 13 | C | of size sNy along the second axis and one block of size
|
---|
| 14 | C | Nr along the vertical (third) axis.
|
---|
| 15 | C | Blocks/tiles have overlap regions of size OLx and OLy
|
---|
| 16 | C | along the dimensions that are subdivided.
|
---|
| 17 | C *==========================================================*
|
---|
| 18 | C \ev
|
---|
| 19 | C
|
---|
| 20 | C Voodoo numbers controlling data layout:
|
---|
| 21 | C sNx :: Number of X points in tile.
|
---|
| 22 | C sNy :: Number of Y points in tile.
|
---|
| 23 | C OLx :: Tile overlap extent in X.
|
---|
| 24 | C OLy :: Tile overlap extent in Y.
|
---|
| 25 | C nSx :: Number of tiles per process in X.
|
---|
| 26 | C nSy :: Number of tiles per process in Y.
|
---|
| 27 | C nPx :: Number of processes to use in X.
|
---|
| 28 | C nPy :: Number of processes to use in Y.
|
---|
| 29 | C Nx :: Number of points in X for the full domain.
|
---|
| 30 | C Ny :: Number of points in Y for the full domain.
|
---|
| 31 | C Nr :: Number of points in vertical direction.
|
---|
| 32 | CEOP
|
---|
| 33 | INTEGER sNx
|
---|
| 34 | INTEGER sNy
|
---|
| 35 | INTEGER OLx
|
---|
| 36 | INTEGER OLy
|
---|
| 37 | INTEGER nSx
|
---|
| 38 | INTEGER nSy
|
---|
| 39 | INTEGER nPx
|
---|
| 40 | INTEGER nPy
|
---|
| 41 | INTEGER Nx
|
---|
| 42 | INTEGER Ny
|
---|
| 43 | INTEGER Nr
|
---|
| 44 | PARAMETER (
|
---|
[27582] | 45 | & sNx = 20,
|
---|
| 46 | & sNy = 20,
|
---|
[27556] | 47 | & OLx = 3,
|
---|
| 48 | & OLy = 3,
|
---|
| 49 | & nSx = 1,
|
---|
| 50 | & nSy = 1,
|
---|
[27582] | 51 | & nPx = 1,
|
---|
| 52 | & nPy = 2,
|
---|
[27556] | 53 | & Nx = sNx*nSx*nPx,
|
---|
| 54 | & Ny = sNy*nSy*nPy,
|
---|
| 55 | & Nr = 30)
|
---|
| 56 |
|
---|
| 57 | C MAX_OLX :: Set to the maximum overlap region size of any array
|
---|
| 58 | C MAX_OLY that will be exchanged. Controls the sizing of exch
|
---|
| 59 | C routine buffers.
|
---|
| 60 | INTEGER MAX_OLX
|
---|
| 61 | INTEGER MAX_OLY
|
---|
| 62 | PARAMETER ( MAX_OLX = OLx,
|
---|
| 63 | & MAX_OLY = OLy )
|
---|
| 64 |
|
---|