wiki:CCSM4Decompositions
Last modified 10 years ago Last modified on 08/22/08 15:41:14

Rules for decomposing CCSM4 on to processors.

One way to try different decompositions is to follow the instructions in env_pes.MACHINE. First edit that file to set the decomposition you want. Then do "./configure -cleanmach MACHINE" followed by ./configure -mach MACHINE". The second command will perform checks to see if the decomposition is valid.

Or you can try your own.

ATM

CAM-FV: FV uses two decompositions - lat/vert (YZ) and lon/lat (XY), with the only stipulation that the total number of subdomains be the same. Npr_yz = Ny, Nz, Mx, My, where (Ny,Nz) is the lat/vert decomp., and (Mx,My) is the lon/lat decomp. We typically run with My=Ny and Mx=Nz.

The main restriction for FV is that each latitudinal subdomain must contain at least 3 points. If you really want ALL possible configurations, then each longitudinal subdomain must also contain at least 3 points, but we don't come up against that often. NOTE: The number of processors does not have to evenly divide the number of lats, lons or levs.

1.9x2.5L26 res:  lat =96 lon = 144  lev=26

96      npr_yz		= 32,3,3,32   local: lat=3,lev=8.6,   lon=48[[BR]]
128     npr_yz         = 32,4,4,32   local: lat=3,lev=6.5, lon=36[[BR]]
192     npr_yz         = 32,6,6,32   local:  lat=3,lev=4.3, lon=24[[BR]]


0.9x1.25L26 res: lat=192   lon=288  lev=26

128     npr_yz         = 64,2,2,64   local:  lat=3, lev=13, lon=144


1x1.25L26  res:   lat= 181  lon = 288 lev = 26

160     npr_yz =   40,4,4,40    local:  lat = 4.5, lev = 6.5  lon = 72
384     npr_yz =   48,8,8,48    local:  lat = 3.7, lev = 3.25 lon = 36

OCN
In the ocean, you specify the local size instead of the number of procs

gx1v5 res:  lat = 384, lon=320, lev=60

96       POP_BLCKX = 40   POP_BLCKY= 32        Xprocs=8, Yprocs= 12[[BR]]
128      POP_BLCKX = 40   POP_BLCKY= 24        Xprocs=8, Yprocs= 16[[BR]]
160      POP_BLCKX = 32   POP_BLCKY = 24       Xprocs=10, Yprocs = 16[[BR]]
192      POP_BLCKX = 20   POP_BLCKY = 32       Xprocs = 16, Yprocs = 12[[BR]]
384      POP_BLCKX = 20   POP_BLCKY = 16       Xprocs = 16, Yprocs = 24

ICE
In the ice model, as in the ocean, you specify the local size. You want to give most of the processors to the X-direction

gx1v5 res:  lat = 384, lon = 320, lev=60

96       CICE_BLCKX = 10  CICE_BLCKY=128      Xprocs=32,  YProcs=3
128