2 c---------------------------------------------------------------------
3 c---------------------------------------------------------------------
7 c---------------------------------------------------------------------
8 c---------------------------------------------------------------------
15 c---------------------------------------------------------------------
17 c---------------------------------------------------------------------
18 integer mm, ierror, errorcode
21 c---------------------------------------------------------------------
23 c set up the sub-domain sizes
25 c---------------------------------------------------------------------
27 c---------------------------------------------------------------------
29 c---------------------------------------------------------------------
39 c---------------------------------------------------------------------
41 c---------------------------------------------------------------------
51 c---------------------------------------------------------------------
53 c---------------------------------------------------------------------
56 c---------------------------------------------------------------------
57 c check the sub-domain size
58 c---------------------------------------------------------------------
59 if ( ( nx .lt. 4 ) .or.
61 > ( nz .lt. 4 ) ) then
62 write (*,2001) nx, ny, nz
63 2001 format (5x,'SUBDOMAIN SIZE IS TOO SMALL - ',
64 > /5x,'ADJUST PROBLEM SIZE OR NUMBER OF PROCESSORS',
65 > /5x,'SO THAT NX, NY AND NZ ARE GREATER THAN OR EQUAL',
66 > /5x,'TO 4 THEY ARE CURRENTLY', 3I3)
67 CALL MPI_ABORT( MPI_COMM_WORLD,
72 if ( ( nx .gt. isiz1 ) .or.
73 > ( ny .gt. isiz2 ) .or.
74 > ( nz .gt. isiz3 ) ) then
75 write (*,2002) nx, ny, nz
76 2002 format (5x,'SUBDOMAIN SIZE IS TOO LARGE - ',
77 > /5x,'ADJUST PROBLEM SIZE OR NUMBER OF PROCESSORS',
78 > /5x,'SO THAT NX, NY AND NZ ARE LESS THAN OR EQUAL TO ',
79 > /5x,'ISIZ1, ISIZ2 AND ISIZ3 RESPECTIVELY. THEY ARE',
80 > /5x,'CURRENTLY', 3I4)
81 CALL MPI_ABORT( MPI_COMM_WORLD,
87 c---------------------------------------------------------------------
88 c set up the start and end in i and j extents for all processors
89 c---------------------------------------------------------------------
92 if (north.eq.-1) ist = 2
93 if (south.eq.-1) iend = nx - 1
97 if (west.eq.-1) jst = 2
98 if (east.eq.-1) jend = ny - 1