IO: Rewrite file division in read_restart_snapshot_xml().

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This commit is contained in:
Grzegorz Kowal 2021-12-01 08:55:39 -03:00
parent cc48f69803
commit e50c65e7dd

View File

@ -1594,35 +1594,26 @@ module io
else ! nprocs < lnprocs
! divide files between processes
! divide files between processes and update the block process accordingly
!
nl = 0
i = mod(lnprocs, nprocs)
j = lnprocs / nprocs
do p = 0, nprocs
k = 0
do n = 0, p
nl = k
if (n < i) then
nu = k + j
else
nu = k + j - 1
end if
k = nu + 1
end do
do n = nl, nu
call change_blocks_process(n, p)
end do
end do
k = 0
do n = 0, nproc
nl = k
if (n < i) then
nu = k + j
nd = lnprocs / nprocs
nr = mod(lnprocs, nprocs)
do n = 0, nprocs - 1
if (n < nr) then
il = n * (nd + 1)
iu = il + nd
else
nu = k + j - 1
il = n * nd + nr
iu = il + nd - 1
end if
do i = il, iu
call change_blocks_process(i, n)
end do
if (n == nproc) then
nl = il
nu = iu
end if
k = nu + 1
end do
do n = nl, nu