CBOP C !ROUTINE: SIZE.h C !INTERFACE: C include SIZE.h C !DESCRIPTION: \bv C *==========================================================* C | SIZE.h Declare size of underlying computational grid. C *==========================================================* C | The design here supports a three-dimensional model grid C | with indices I,J and K. The three-dimensional domain C | is comprised of nPx*nSx blocks (or tiles) of size sNx C | along the first (left-most index) axis, nPy*nSy blocks C | of size sNy along the second axis and one block of size C | Nr along the vertical (third) axis. C | Blocks/tiles have overlap regions of size OLx and OLy C | along the dimensions that are subdivided. C *==========================================================* C \ev C C Voodoo numbers controlling data layout: C sNx :: Number of X points in tile. C sNy :: Number of Y points in tile. C OLx :: Tile overlap extent in X. C OLy :: Tile overlap extent in Y. C nSx :: Number of tiles per process in X. C nSy :: Number of tiles per process in Y. C nPx :: Number of processes to use in X. C nPy :: Number of processes to use in Y. C Nx :: Number of points in X for the full domain. C Ny :: Number of points in Y for the full domain. C Nr :: Number of points in vertical direction. CEOP INTEGER sNx INTEGER sNy INTEGER OLx INTEGER OLy INTEGER nSx INTEGER nSy INTEGER nPx INTEGER nPy INTEGER Nx INTEGER Ny INTEGER Nr PARAMETER ( & sNx = 32, & sNy = 32, & OLx = 4, & OLy = 4, & nSx = 1, & nSy = 1, & nPx = 4, & nPy = 2, & Nx = sNx*nSx*nPx, & Ny = sNy*nSy*nPy, & Nr = 15) C MAX_OLX :: Set to the maximum overlap region size of any array C MAX_OLY that will be exchanged. Controls the sizing of exch C routine buffers. INTEGER MAX_OLX INTEGER MAX_OLY PARAMETER ( MAX_OLX = OLx, & MAX_OLY = OLy )