@@ -1417,9 +1417,7 @@ def _is_land2D(self, di, yi, xi):
14171417 return True
14181418
14191419 def spatial_slip_interpolation (self , ti , z , y , x , time , particle = None , applyConversion = True ):
1420- (_ , zeta , eta , xsi , _ , zi , yi , xi ) = self .U ._search_indices (
1421- time , z , y , x , particle = particle
1422- ) # TOFO use tau here too
1420+ (_ , zeta , eta , xsi , _ , zi , yi , xi ) = self .U ._search_indices (time , z , y , x , particle = particle )
14231421 di = ti if self .U .grid .zdim == 1 else zi # general third dimension
14241422
14251423 f_u , f_v , f_w = 1 , 1 , 1
@@ -1520,22 +1518,22 @@ def spatial_slip_interpolation(self, ti, z, y, x, time, particle=None, applyConv
15201518 return u , v
15211519
15221520 def eval (self , time , z , y , x , particle = None , applyConversion = True ):
1521+ if self .U .interp_method in ["partialslip" , "freeslip" ]:
1522+ return self .spatial_slip_interpolation (time , z , y , x , particle = particle , applyConversion = applyConversion )
1523+
15231524 if self .U .interp_method not in ["cgrid_velocity" , "partialslip" , "freeslip" ]:
15241525 u = self .U .eval (time , z , y , x , particle = particle , applyConversion = False )
15251526 v = self .V .eval (time , z , y , x , particle = particle , applyConversion = False )
15261527 if applyConversion :
15271528 u = self .U .units .to_target (u , z , y , x )
15281529 v = self .V .units .to_target (v , z , y , x )
1529- else :
1530- interp = {
1531- "cgrid_velocity" : self .spatial_c_grid_interpolation2D ,
1532- "partialslip" : self .spatial_slip_interpolation ,
1533- "freeslip" : self .spatial_slip_interpolation ,
1534- }
1530+ elif self .U .interp_method == "cgrid_velocity" :
15351531 tau , ti = self .U ._time_index (time )
1536- (u , v ) = interp [self .U .interp_method ](ti , z , y , x , time , particle = particle , applyConversion = applyConversion )
1532+ (u , v ) = self .spatial_c_grid_interpolation2D (
1533+ ti , z , y , x , time , particle = particle , applyConversion = applyConversion
1534+ )
15371535 if ti < self .U .grid .tdim - 1 and time > self .U .grid .time [ti ]:
1538- (u1 , v1 ) = interp [ self .U . interp_method ] (
1536+ (u1 , v1 ) = self .spatial_c_grid_interpolation2D (
15391537 ti + 1 , z , y , x , time , particle = particle , applyConversion = applyConversion
15401538 )
15411539 u = u * (1 - tau ) + u1 * tau
0 commit comments