@@ -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