From b97c0f031d94004584f47fcddace563b467a59d6 Mon Sep 17 00:00:00 2001 From: VEZINET Didier Date: Fri, 22 Nov 2019 18:07:03 +0100 Subject: [PATCH 1/6] [Issue215] Fixed interpolation bug, original quantity was called with wrong time index, fixed in all versions of interpolating function --- tofu/data/_comp.py | 73 +++++++++++++++++++++++----------------------- tofu/version.py | 2 +- 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/tofu/data/_comp.py b/tofu/data/_comp.py index 418933439..9935ef5cd 100644 --- a/tofu/data/_comp.py +++ b/tofu/data/_comp.py @@ -424,11 +424,11 @@ def func(pts, vect=None, t=None, ntall=ntall, tbinall=tbinall, idref1d=idref1d, idref2d=idref2d)[1:-2] - for ii in range(0,ntall): + for ii in range(0, ntall): ind = indt == indtu[ii] - val[ind,...] = mplTriLinInterp(mpltri, - vquant[indtq[ii],:], - trifinder=trifind)(r,z).filled(fill_value) + val[ind, ...] = mplTriLinInterp(mpltri, + vquant[indtq[indtu[ii]], :], + trifinder=trifind)(r,z).filled(fill_value) return val, t # -------------------- @@ -456,9 +456,9 @@ def func(pts, vect=None, t=None, ntall=ntall, tbinall=tbinall, idref1d=idref1d, idref2d=idref2d)[1:-2] - for ii in range(0,ntall): + for ii in range(0, ntall): ind = indt == indtu[ii] - val[ind,indok] = vquant[indtq[ii],indpts[indok]] + val[ind, indok] = vquant[indtq[indtu[ii]], indpts[indok]] return val, t @@ -503,19 +503,19 @@ def func(pts, vect=None, t=None, ntall=ntall, idref1d=idref1d, idref2d=idref2d, indtr1=indtr1, indtr2=indtr2)[1:] ntall, indt, indtu, indtr1, indtr2 = out - for ii in range(0,ntall): + for ii in range(0, ntall): # get ref values for mapping vii = mplTriLinInterp(mpltri, - vr2[indtr2[ii],:], - trifinder=trifind)(r,z) + vr2[indtr2[ii], :], + trifinder=trifind)(r, z) # interpolate 1d ind = indt == indtu[ii] - val[ind,...] = scpinterp.interp1d(vr1[indtr1[ii],:], - vquant[indtq[ii],:], - kind='linear', - bounds_error=False, - fill_value=fill_value)(np.asarray(vii)) + val[ind, ...] = scpinterp.interp1d(vr1[indtr1[indtu[ii]], :], + vquant[indtq[indtu[ii]], :], + kind='linear', + bounds_error=False, + fill_value=fill_value)(np.asarray(vii)) val[np.isnan(val)] = fill_value return val, t @@ -535,14 +535,15 @@ def func(pts, vect=None, t=None, ntall=ntall, val = np.full(tuple(shapeval), fill_value) indpts = trifind(r,z) indok = indpts > -1 + finterp = scpinterp.interp1d if t is None: for ii in range(0,ntall): # interpolate 1d - val[ii,indok] = scpinterp.interp1d(vr1[indtr1[ii],:], - vquant[indtq[ii],:], - kind='linear', - bounds_error=False, - fill_value=fill_value)(vr2[indtr2[ii],indpts[indok]]) + val[ii,indok] = finterp(vr1[indtr1[ii],:], + vquant[indtq[ii],:], + kind='linear', + bounds_error=False, + fill_value=fill_value)(vr2[indtr2[ii], indpts[indok]]) t = tall else: out = plasma._get_indtu(t=t, tall=tall, tbinall=tbinall, @@ -552,11 +553,11 @@ def func(pts, vect=None, t=None, ntall=ntall, for ii in range(0,ntall): # interpolate 1d ind = indt == indtu[ii] - val[ind,indok] = scpinterp.interp1d(vr1[indtr1[ii],:], - vquant[indtq[ii],:], - kind='linear', - bounds_error=False, - fill_value=fill_value)(vr2[indtr2[ii],indpts[indok]]) + val[ind, indok] = finterp(vr1[indtr1[indtu[ii]], :], + vquant[indtq[indtu[ii]], :], + kind='linear', + bounds_error=False, + fill_value=fill_value)(vr2[indtr2[ii], indpts[indok]]) return val, t return func @@ -623,15 +624,15 @@ def func(pts, vect=None, t=None, ntall=ntall, tbinall=tbinall)[1:4] for ii in range(0,ntall): ind = indt == indtu[ii] - valR[ind,...] = mplTriLinInterp(mpltri, - vq2dR[indtq[ii],:], - trifinder=trifind)(r,z) - valPhi[ind,...] = mplTriLinInterp(mpltri, - vq2dPhi[indtq[ii],:], - trifinder=trifind)(r,z) - valZ[ind,...] = mplTriLinInterp(mpltri, - vq2dZ[indtq[ii],:], - trifinder=trifind)(r,z) + valR[ind, ...] = mplTriLinInterp(mpltri, + vq2dR[indtq[indtu[ii]], :], + trifinder=trifind)(r,z) + valPhi[ind, ...] = mplTriLinInterp(mpltri, + vq2dPhi[indtq[indtu[ii]], :], + trifinder=trifind)(r,z) + valZ[ind, ...] = mplTriLinInterp(mpltri, + vq2dZ[indtq[indtu[ii]], :], + trifinder=trifind)(r,z) if Type == 'sca': @@ -682,9 +683,9 @@ def func(pts, vect=None, t=None, ntall=ntall, idref2d=idref2d)[1:] for ii in range(0,ntall): ind = indt == indtu[ii] - valR[ind,...] = vq2dR[indtq[ii],indpts] - valPhi[ind,...] = vq2dPhi[indtq[ii],indpts] - valZ[ind,...] = vq2dZ[indtq[ii],indpts] + valR[ind, ...] = vq2dR[indtq[indtu[ii]], indpts] + valPhi[ind, ...] = vq2dPhi[indtq[indtu[ii]], indpts] + valZ[ind, ...] = vq2dZ[indtq[indtu[ii]], indpts] if Type == 'sca': val = valR*vR[None,:] + valPhi*vPhi[None,:] + valZ*vZ[None,:] diff --git a/tofu/version.py b/tofu/version.py index ee4e25b5f..8da0c253e 100644 --- a/tofu/version.py +++ b/tofu/version.py @@ -1,2 +1,2 @@ # Do not edit, pipeline versioning governed by git tags! -__version__ = '1.4.2-alpha2-13-g7db6643' +__version__ = '1.4.2-alpha2-19-gccaeae2' From 9a534864420679a39084999b258900f1b302b829 Mon Sep 17 00:00:00 2001 From: VEZINET Didier Date: Fri, 22 Nov 2019 18:15:34 +0100 Subject: [PATCH 2/6] [Issue215] PEP8 Compliance 1 --- tofu/data/_comp.py | 60 +++++++++++++++++++++++++++------------------- tofu/version.py | 2 +- 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/tofu/data/_comp.py b/tofu/data/_comp.py index 9935ef5cd..f8f7d18ad 100644 --- a/tofu/data/_comp.py +++ b/tofu/data/_comp.py @@ -426,9 +426,11 @@ def func(pts, vect=None, t=None, ntall=ntall, idref2d=idref2d)[1:-2] for ii in range(0, ntall): ind = indt == indtu[ii] - val[ind, ...] = mplTriLinInterp(mpltri, - vquant[indtq[indtu[ii]], :], - trifinder=trifind)(r,z).filled(fill_value) + val[ind, ...] = mplTriLinInterp( + mpltri, + vquant[indtq[indtu[ii]], :], + trifinder=trifind + )(r, z).filled(fill_value) return val, t # -------------------- @@ -458,7 +460,8 @@ def func(pts, vect=None, t=None, ntall=ntall, idref2d=idref2d)[1:-2] for ii in range(0, ntall): ind = indt == indtu[ii] - val[ind, indok] = vquant[indtq[indtu[ii]], indpts[indok]] + val[ind, indok] = vquant[indtq[indtu[ii]], + indpts[indok]] return val, t @@ -492,11 +495,13 @@ def func(pts, vect=None, t=None, ntall=ntall, # interpolate 1d # This is reasonable (~0.15 s) - val[ii,...] = scpinterp.interp1d(vr1[indtr1[ii],:], - vquant[indtq[ii],:], - kind='linear', - bounds_error=False, - fill_value=fill_value)(np.asarray(vii)) + val[ii, ...] = scpinterp.interp1d( + vr1[indtr1[ii], :], + vquant[indtq[ii], :], + kind='linear', + bounds_error=False, + fill_value=fill_value + )(np.asarray(vii)) t = tall else: out = plasma._get_indtu(t=t, tall=tall, tbinall=tbinall, @@ -511,11 +516,13 @@ def func(pts, vect=None, t=None, ntall=ntall, # interpolate 1d ind = indt == indtu[ii] - val[ind, ...] = scpinterp.interp1d(vr1[indtr1[indtu[ii]], :], - vquant[indtq[indtu[ii]], :], - kind='linear', - bounds_error=False, - fill_value=fill_value)(np.asarray(vii)) + val[ind, ...] = scpinterp.interp1d( + vr1[indtr1[indtu[ii]], :], + vquant[indtq[indtu[ii]], :], + kind='linear', + bounds_error=False, + fill_value=fill_value + )(np.asarray(vii)) val[np.isnan(val)] = fill_value return val, t @@ -535,15 +542,16 @@ def func(pts, vect=None, t=None, ntall=ntall, val = np.full(tuple(shapeval), fill_value) indpts = trifind(r,z) indok = indpts > -1 - finterp = scpinterp.interp1d if t is None: for ii in range(0,ntall): # interpolate 1d - val[ii,indok] = finterp(vr1[indtr1[ii],:], - vquant[indtq[ii],:], - kind='linear', - bounds_error=False, - fill_value=fill_value)(vr2[indtr2[ii], indpts[indok]]) + val[ii, indok] = scpinterp.interp1d( + vr1[indtr1[ii], :], + vquant[indtq[ii], :], + kind='linear', + bounds_error=False, + fill_value=fill_value + )(vr2[indtr2[ii], indpts[indok]]) t = tall else: out = plasma._get_indtu(t=t, tall=tall, tbinall=tbinall, @@ -553,11 +561,13 @@ def func(pts, vect=None, t=None, ntall=ntall, for ii in range(0,ntall): # interpolate 1d ind = indt == indtu[ii] - val[ind, indok] = finterp(vr1[indtr1[indtu[ii]], :], - vquant[indtq[indtu[ii]], :], - kind='linear', - bounds_error=False, - fill_value=fill_value)(vr2[indtr2[ii], indpts[indok]]) + val[ind, indok] = scpinterp.interp1d( + vr1[indtr1[indtu[ii]], :], + vquant[indtq[indtu[ii]], :], + kind='linear', + bounds_error=False, + fill_value=fill_value + )(vr2[indtr2[ii], indpts[indok]]) return val, t return func diff --git a/tofu/version.py b/tofu/version.py index 8da0c253e..7ac6f1128 100644 --- a/tofu/version.py +++ b/tofu/version.py @@ -1,2 +1,2 @@ # Do not edit, pipeline versioning governed by git tags! -__version__ = '1.4.2-alpha2-19-gccaeae2' +__version__ = '1.4.2-alpha2-20-gb97c0f0' From 114b8652a0898c996940b88c185f7932f5c01032 Mon Sep 17 00:00:00 2001 From: VEZINET Didier Date: Fri, 22 Nov 2019 20:45:09 +0100 Subject: [PATCH 3/6] [Issue215] PEP8 Compliance 2 --- tofu/data/_comp.py | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/tofu/data/_comp.py b/tofu/data/_comp.py index f8f7d18ad..7dff34fd4 100644 --- a/tofu/data/_comp.py +++ b/tofu/data/_comp.py @@ -621,34 +621,34 @@ def func(pts, vect=None, t=None, ntall=ntall, for ii in range(0,ntall): valR[ii,...] = mplTriLinInterp(mpltri, vq2dR[indtq[ii],:], - trifinder=trifind)(r,z) + trifinder=trifind)(r, z) valPhi[ii,...] = mplTriLinInterp(mpltri, vq2dPhi[indtq[ii],:], - trifinder=trifind)(r,z) + trifinder=trifind)(r, z) valZ[ii,...] = mplTriLinInterp(mpltri, vq2dZ[indtq[ii],:], - trifinder=trifind)(r,z) + trifinder=trifind)(r, z) t = tall else: ntall, indt, indtu = plasma._get_indtu(t=t, tall=tall, tbinall=tbinall)[1:4] for ii in range(0,ntall): ind = indt == indtu[ii] - valR[ind, ...] = mplTriLinInterp(mpltri, - vq2dR[indtq[indtu[ii]], :], - trifinder=trifind)(r,z) + valR[ind, ...] = mplTriLinInterp(mpltri, + vq2dR[indtq[indtu[ii]], :], + trifinder=trifind)(r, z) valPhi[ind, ...] = mplTriLinInterp(mpltri, vq2dPhi[indtq[indtu[ii]], :], - trifinder=trifind)(r,z) - valZ[ind, ...] = mplTriLinInterp(mpltri, - vq2dZ[indtq[indtu[ii]], :], - trifinder=trifind)(r,z) + trifinder=trifind)(r, z) + valZ[ind, ...] = mplTriLinInterp(mpltri, + vq2dZ[indtq[indtu[ii]], :], + trifinder=trifind)(r, z) if Type == 'sca': - val = valR*vR[None,:] + valPhi*vPhi[None,:] + valZ*vZ[None,:] + val = valR*vR[None, :] + valPhi*vPhi[None,:] + valZ*vZ[None, :] elif Type == 'abs(sca)': - val = np.abs(valR*vR[None,:] + valPhi*vPhi[None,:] + valZ*vZ[None,:]) + val = np.abs(valR*vR[None, :] + valPhi*vPhi[None, :] + valZ*vZ[None, :]) val[np.isnan(val)] = fill_value return val, t @@ -679,28 +679,29 @@ def func(pts, vect=None, t=None, ntall=ntall, valZ = np.full(tuple(shapeval), fill_value) # Interpolate - indpts = trifind(r,z) + indpts = trifind(r, z) if t is None: for ii in range(0,ntall): - valR[ii,...] = vq2dR[indtq[ii],indpts] - valPhi[ii,...] = vq2dPhi[indtq[ii],indpts] - valZ[ii,...] = vq2dZ[indtq[ii],indpts] + valR[ii, ...] = vq2dR[indtq[ii], indpts] + valPhi[ii, ...] = vq2dPhi[indtq[ii], indpts] + valZ[ii, ...] = vq2dZ[indtq[ii], indpts] t = tall else: ntall, indt, indtu = plasma._get_indtu(t=t, tall=tall, tbinall=tbinall, idref1d=idref1d, idref2d=idref2d)[1:] - for ii in range(0,ntall): + for ii in range(0, ntall): ind = indt == indtu[ii] - valR[ind, ...] = vq2dR[indtq[indtu[ii]], indpts] + valR[ind, ...] = vq2dR[indtq[indtu[ii]], indpts] valPhi[ind, ...] = vq2dPhi[indtq[indtu[ii]], indpts] - valZ[ind, ...] = vq2dZ[indtq[indtu[ii]], indpts] + valZ[ind, ...] = vq2dZ[indtq[indtu[ii]], indpts] if Type == 'sca': - val = valR*vR[None,:] + valPhi*vPhi[None,:] + valZ*vZ[None,:] + val = valR*vR[None, :] + valPhi*vPhi[None, :] + valZ*vZ[None, :] elif Type == 'abs(sca)': - val = np.abs(valR*vR[None,:] + valPhi*vPhi[None,:] + valZ*vZ[None,:]) + val = np.abs(valR*vR[None, :] + valPhi*vPhi[None, :] + + valZ*vZ[None, :]) val[np.isnan(val)] = fill_value return val, t return func From 134fc3fbb37dea7a59aa47e63bd23f2058f210cd Mon Sep 17 00:00:00 2001 From: VEZINET Didier Date: Fri, 22 Nov 2019 20:50:55 +0100 Subject: [PATCH 4/6] [Issue215] PEP8 Compliance 3 --- tofu/data/_comp.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/tofu/data/_comp.py b/tofu/data/_comp.py index 7dff34fd4..aaf20a25c 100644 --- a/tofu/data/_comp.py +++ b/tofu/data/_comp.py @@ -634,15 +634,21 @@ def func(pts, vect=None, t=None, ntall=ntall, tbinall=tbinall)[1:4] for ii in range(0,ntall): ind = indt == indtu[ii] - valR[ind, ...] = mplTriLinInterp(mpltri, - vq2dR[indtq[indtu[ii]], :], - trifinder=trifind)(r, z) - valPhi[ind, ...] = mplTriLinInterp(mpltri, - vq2dPhi[indtq[indtu[ii]], :], - trifinder=trifind)(r, z) - valZ[ind, ...] = mplTriLinInterp(mpltri, - vq2dZ[indtq[indtu[ii]], :], - trifinder=trifind)(r, z) + valR[ind, ...] = mplTriLinInterp( + mpltri, + vq2dR[indtq[indtu[ii]], :], + trifinder=trifind + )(r, z) + valPhi[ind, ...] = mplTriLinInterp( + mpltri, + vq2dPhi[indtq[indtu[ii]], :], + trifinder=trifind + )(r, z) + valZ[ind, ...] = mplTriLinInterp( + mpltri, + vq2dZ[indtq[indtu[ii]], :], + trifinder=trifind + )(r, z) if Type == 'sca': @@ -698,7 +704,8 @@ def func(pts, vect=None, t=None, ntall=ntall, valZ[ind, ...] = vq2dZ[indtq[indtu[ii]], indpts] if Type == 'sca': - val = valR*vR[None, :] + valPhi*vPhi[None, :] + valZ*vZ[None, :] + val = (valR*vR[None, :] + valPhi*vPhi[None, :] + + valZ*vZ[None, :]) elif Type == 'abs(sca)': val = np.abs(valR*vR[None, :] + valPhi*vPhi[None, :] + valZ*vZ[None, :]) From 32e0627dccc2d1eee45c2d85f370022962fcec25 Mon Sep 17 00:00:00 2001 From: VEZINET Didier Date: Fri, 22 Nov 2019 20:52:50 +0100 Subject: [PATCH 5/6] [Issue215] PEP8 Compliance 4 --- tofu/data/_comp.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tofu/data/_comp.py b/tofu/data/_comp.py index aaf20a25c..dbdb33763 100644 --- a/tofu/data/_comp.py +++ b/tofu/data/_comp.py @@ -652,9 +652,10 @@ def func(pts, vect=None, t=None, ntall=ntall, if Type == 'sca': - val = valR*vR[None, :] + valPhi*vPhi[None,:] + valZ*vZ[None, :] + val = valR*vR[None, :] + valPhi*vPhi[None, :] + valZ*vZ[None, :] elif Type == 'abs(sca)': - val = np.abs(valR*vR[None, :] + valPhi*vPhi[None, :] + valZ*vZ[None, :]) + val = np.abs(valR*vR[None, :] + valPhi*vPhi[None, :] + + valZ*vZ[None, :]) val[np.isnan(val)] = fill_value return val, t From dc8b1ae098aa6d70c63e005f0dfa0f23c1ae9960 Mon Sep 17 00:00:00 2001 From: VEZINET Didier Date: Fri, 22 Nov 2019 20:54:05 +0100 Subject: [PATCH 6/6] [Issue215] PEP8 Compliance 5 --- tofu/data/_comp.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tofu/data/_comp.py b/tofu/data/_comp.py index dbdb33763..a18728a1b 100644 --- a/tofu/data/_comp.py +++ b/tofu/data/_comp.py @@ -652,7 +652,8 @@ def func(pts, vect=None, t=None, ntall=ntall, if Type == 'sca': - val = valR*vR[None, :] + valPhi*vPhi[None, :] + valZ*vZ[None, :] + val = (valR*vR[None, :] + valPhi*vPhi[None, :] + + valZ*vZ[None, :]) elif Type == 'abs(sca)': val = np.abs(valR*vR[None, :] + valPhi*vPhi[None, :] + valZ*vZ[None, :])