C $Header: /u/gcmpack/MITgcm/verification/global_ocean.cs32x15/code/SIZE.h,v 1.6 2009/05/28 23:19:29 jmc Exp $ C $Name: $ 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 support a three-dimensional model grid C | with indices I,J and K. The three-dimensional domain C | is comprised of nPx*nSx blocks of size sNx along one axis C | nPy*nSy blocks of size sNy along another axis and one C | block of size Nz along the final axis. C | Blocks have overlap regions of size OLx and OLy along the C | dimensions that are subdivided. C *==========================================================* C \ev CEOP C Voodoo numbers controlling data layout. C sNx :: No. X points in sub-grid. C sNy :: No. Y points in sub-grid. C OLx :: Overlap extent in X. C OLy :: Overlat extent in Y. C nSx :: No. sub-grids in X. C nSy :: No. sub-grids in Y. C nPx :: No. of processes to use in X. C nPy :: No. of processes to use in Y. C Nx :: No. points in X for the total domain. C Ny :: No. points in Y for the total domain. C Nr :: No. points in Z for full process domain. INTEGER sNx INTEGER sNy INTEGER OLx INTEGER OLy INTEGER nSx INTEGER nSy INTEGER nPx INTEGER nPy INTEGER Nx INTEGER Ny INTEGER Nr C-- Note: the 4 test-experiments (input, input.thsice, input.viscA4 and C input.icedyn ) have different minimum Overlap-size requirement: C input & input.thsice : work with Olx=Oly=2 (= absolute minimum size) ; C input.viscA4 : needs at least Olx=Oly=3 (for biharmonic viscosity) ; C input.icedyn : needs at least Olx=Oly=4 (CS-grid multidimensional Advect.) PARAMETER ( & sNx = 32, & sNy = 16, & OLx = 4, & OLy = 4, & nSx = 12, & nSy = 1, & nPx = 1, & nPy = 1, & 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 )