@@ -1055,6 +1055,8 @@ contains
10551055 !! Remaining number of cells, in a particular coordinate direction,
10561056 !! after the majority is divided up among the available processors
10571057
1058+ integer :: recon_order !< reconstruction order
1059+
10581060 integer :: i, j !< Generic loop iterators
10591061
10601062 if (num_procs == 1 .and. parallel_io) then
@@ -1064,6 +1066,12 @@ contains
10641066 return
10651067 end if
10661068
1069+ if (igr) then
1070+ recon_order = igr_order
1071+ else
1072+ recon_order = weno_order
1073+ end if
1074+
10671075 ! 3D Cartesian Processor Topology
10681076 if (n > 0) then
10691077
@@ -1092,7 +1100,7 @@ contains
10921100
10931101 if (mod(num_procs, i) == 0 &
10941102 .and. &
1095- (m + 1)/i >= num_stcls_min*weno_order ) then
1103+ (m + 1)/i >= num_stcls_min*recon_order ) then
10961104
10971105 tmp_num_procs_x = i
10981106 tmp_num_procs_y = num_procs/i
@@ -1102,7 +1110,7 @@ contains
11021110 .and. &
11031111 (n + 1)/tmp_num_procs_y &
11041112 >= &
1105- num_stcls_min*weno_order ) then
1113+ num_stcls_min*recon_order ) then
11061114
11071115 num_procs_x = i
11081116 num_procs_y = num_procs/i
@@ -1138,13 +1146,13 @@ contains
11381146
11391147 if (mod(num_procs, i) == 0 &
11401148 .and. &
1141- (m + 1)/i >= num_stcls_min*weno_order ) then
1149+ (m + 1)/i >= num_stcls_min*recon_order ) then
11421150
11431151 do j = 1, num_procs/i
11441152
11451153 if (mod(num_procs/i, j) == 0 &
11461154 .and. &
1147- (n + 1)/j >= num_stcls_min*weno_order ) then
1155+ (n + 1)/j >= num_stcls_min*recon_order ) then
11481156
11491157 tmp_num_procs_x = i
11501158 tmp_num_procs_y = j
@@ -1157,7 +1165,7 @@ contains
11571165 .and. &
11581166 (p + 1)/tmp_num_procs_z &
11591167 >= &
1160- num_stcls_min*weno_order ) &
1168+ num_stcls_min*recon_order ) &
11611169 then
11621170
11631171 num_procs_x = i
@@ -1186,7 +1194,7 @@ contains
11861194 if (proc_rank == 0 .and. ierr == -1) then
11871195 call s_mpi_abort(' Unsupported combination of values ' // &
11881196 ' of num_procs, m, n, p and ' // &
1189- ' weno_order . Exiting.' )
1197+ ' weno / igr_order . Exiting.' )
11901198 end if
11911199
11921200 ! Creating new communicator using the Cartesian topology
@@ -1294,7 +1302,7 @@ contains
12941302
12951303 if (mod(num_procs, i) == 0 &
12961304 .and. &
1297- (m + 1)/i >= num_stcls_min*weno_order ) then
1305+ (m + 1)/i >= num_stcls_min*recon_order ) then
12981306
12991307 tmp_num_procs_x = i
13001308 tmp_num_procs_y = num_procs/i
@@ -1304,7 +1312,7 @@ contains
13041312 .and. &
13051313 (n + 1)/tmp_num_procs_y &
13061314 >= &
1307- num_stcls_min*weno_order ) then
1315+ num_stcls_min*recon_order ) then
13081316
13091317 num_procs_x = i
13101318 num_procs_y = num_procs/i
@@ -1323,7 +1331,7 @@ contains
13231331 if (proc_rank == 0 .and. ierr == -1) then
13241332 call s_mpi_abort(' Unsupported combination of values ' // &
13251333 ' of num_procs, m, n and ' // &
1326- ' weno_order . Exiting.' )
1334+ ' weno / igr_order . Exiting.' )
13271335 end if
13281336
13291337 ! Creating new communicator using the Cartesian topology
0 commit comments