Skip to content

Commit 17d4be2

Browse files
Fixing small bugs in interpolation
1 parent aa6d2f0 commit 17d4be2

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

parcels/_interpolation.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def _nearest_2d(ctx: InterpolationContext2D) -> float:
118118
xii = ctx.xi if ctx.xsi <= 0.5 else ctx.xi + 1
119119
yii = ctx.yi if ctx.eta <= 0.5 else ctx.yi + 1
120120
ft0 = ctx.data[ctx.ti, yii, xii]
121-
if calculate_next_ti(ctx.ti, ctx.tau, ctx.data.shape[0]):
121+
if not calculate_next_ti(ctx.ti, ctx.tau, ctx.data.shape[0]):
122122
return ft0
123123
ft1 = ctx.data[ctx.ti + 1, yii, xii]
124124
return (1 - ctx.tau) * ft0 + ctx.tau * ft1
@@ -176,9 +176,9 @@ def _get_data_temporalinterp(ti, yi, xi):
176176
if land[j][i] == 1: # index search led us directly onto land
177177
return 0
178178
else:
179-
return _get_data_temporalinterp(ti, yi + 1, xi + 1)
179+
return _get_data_temporalinterp(ti, yi + j, xi + i)
180180
elif land[j][i] == 0:
181-
val += _get_data_temporalinterp(ti, yi + 1, xi + 1) / distance
181+
val += _get_data_temporalinterp(ti, yi + j, xi + i) / distance
182182
w_sum += 1 / distance
183183
return val / w_sum
184184
else:
@@ -339,6 +339,5 @@ def _tracer_3d(ctx: InterpolationContext3D) -> float:
339339
ft0 = ctx.data[ctx.ti, ctx.zi, ctx.yi + 1, ctx.xi + 1]
340340
if not calculate_next_ti(ctx.ti, ctx.tau, ctx.data.shape[0]):
341341
return ft0
342-
else:
343-
ft1 = ctx.data[ctx.ti + 1, ctx.zi, ctx.yi + 1, ctx.xi + 1]
344-
return (1 - ctx.tau) * ft0 + ctx.tau * ft1
342+
ft1 = ctx.data[ctx.ti + 1, ctx.zi, ctx.yi + 1, ctx.xi + 1]
343+
return (1 - ctx.tau) * ft0 + ctx.tau * ft1

0 commit comments

Comments
 (0)