bugfix for nskip=1

This commit is contained in:
Michael Krayer 2020-03-20 15:49:12 +01:00
parent d6f021fc12
commit d4888ac0e6
1 changed files with 35 additions and 31 deletions

View File

@ -107,24 +107,26 @@ while True:
(nxg,nyg,nzg) = params_in[7:10]
data = data.reshape((nxl+2*ighost,nyl+2*ighost,nzl+2*ighost),order='F')
islice = [ii-ibeg+ighost for ii in range(ibeg,ibeg+nxl) if (ii-1)%nskip==0]
jslice = [ii-jbeg+ighost for ii in range(jbeg,jbeg+nyl) if (ii-1)%nskip==0]
kslice = [ii-kbeg+ighost for ii in range(kbeg,kbeg+nzl) if (ii-1)%nskip==0]
if nskip>1:
islice = [ii-ibeg+ighost for ii in range(ibeg,ibeg+nxl) if (ii-1)%nskip==0]
jslice = [ii-jbeg+ighost for ii in range(jbeg,jbeg+nyl) if (ii-1)%nskip==0]
kslice = [ii-kbeg+ighost for ii in range(kbeg,kbeg+nzl) if (ii-1)%nskip==0]
data = data[np.ix_(islice,jslice,kslice)]
ibeg = (islice[0]+ibeg-ighost)//nskip+1
jbeg = (jslice[0]+jbeg-ighost)//nskip+1
kbeg = (kslice[0]+kbeg-ighost)//nskip+1
(nxl,nyl,nzl) = data.shape
nxg = (nxg-1)//nskip+1
nyg = (nyg-1)//nskip+1
nzg = (nzg-1)//nskip+1
data = data[np.ix_(islice,jslice,kslice)]
ibeg = (islice[0]+ibeg-ighost)//nskip+1
jbeg = (jslice[0]+jbeg-ighost)//nskip+1
kbeg = (kslice[0]+kbeg-ighost)//nskip+1
(nxl,nyl,nzl) = data.shape
nxg = (nxg-1)//nskip+1
nyg = (nyg-1)//nskip+1
nzg = (nzg-1)//nskip+1
params_out = list(params_in)
params_out[0] = 0
params_out[1:4] = (ibeg,jbeg,kbeg)
params_out[4:7] = (nxl,nyl,nzl)
params_out[7:10] = (nxg,nyg,nzg)
if nskip>1:
params_out[0] = 0
params_out[1:4] = (ibeg,jbeg,kbeg)
params_out[4:7] = (nxl,nyl,nzl)
params_out[7:10] = (nxg,nyg,nzg)
if saveSinglePrecision:
data = data.astype(np.float32,casting='same_kind')
@ -143,25 +145,27 @@ while True:
(nxl,nyl,nzl) = params_in[4:7]
(nxg,nyg,nzg) = params_in[7:10]
data = data.reshape((nxl+2*ighost,nyl+2*ighost,nzl+2*ighost),order='F')
if nskip>1:
islice = [ii-ibeg+ighost for ii in range(ibeg,ibeg+nxl) if (ii-1)%nskip==0]
jslice = [ii-jbeg+ighost for ii in range(jbeg,jbeg+nyl) if (ii-1)%nskip==0]
kslice = [ii-kbeg+ighost for ii in range(kbeg,kbeg+nzl) if (ii-1)%nskip==0]
islice = [ii-ibeg+ighost for ii in range(ibeg,ibeg+nxl) if (ii-1)%nskip==0]
jslice = [ii-jbeg+ighost for ii in range(jbeg,jbeg+nyl) if (ii-1)%nskip==0]
kslice = [ii-kbeg+ighost for ii in range(kbeg,kbeg+nzl) if (ii-1)%nskip==0]
data = data[np.ix_(islice,jslice,kslice)]
ibeg = (islice[0]+ibeg-ighost)//nskip+1
jbeg = (jslice[0]+jbeg-ighost)//nskip+1
kbeg = (kslice[0]+kbeg-ighost)//nskip+1
(nxl,nyl,nzl) = data.shape
nxg = (nxg-1)//nskip+1
nyg = (nyg-1)//nskip+1
nzg = (nzg-1)//nskip+1
data = data[np.ix_(islice,jslice,kslice)]
ibeg = (islice[0]+ibeg-ighost)//nskip+1
jbeg = (jslice[0]+jbeg-ighost)//nskip+1
kbeg = (kslice[0]+kbeg-ighost)//nskip+1
(nxl,nyl,nzl) = data.shape
nxg = (nxg-1)//nskip+1
nyg = (nyg-1)//nskip+1
nzg = (nzg-1)//nskip+1
params_out = list(params_in)
params_out[0] = 0
params_out[1:4] = (ibeg,jbeg,kbeg)
params_out[4:7] = (nxl,nyl,nzl)
params_out[7:10] = (nxg,nyg,nzg)
if nskip>1:
params_out[0] = 0
params_out[1:4] = (ibeg,jbeg,kbeg)
params_out[4:7] = (nxl,nyl,nzl)
params_out[7:10] = (nxg,nyg,nzg)
if saveSinglePrecision:
data = data.astype(np.float32,casting='same_kind')