@@ -235,11 +235,12 @@ def test_radialrotation(npart=10):
235235 lon = np .linspace (32 , 50 , npart )
236236 lat = np .ones (npart ) * 30
237237 starttime = np .arange (np .timedelta64 (0 , "s" ), npart * dt , dt )
238+ endtime = np .timedelta64 (10 , "m" )
238239
239240 pset = parcels .ParticleSet (fieldset , lon = lon , lat = lat , time = starttime )
240- pset .execute (parcels .kernels .AdvectionRK4 , endtime = np . timedelta64 ( 10 , "m" ) , dt = dt )
241+ pset .execute (parcels .kernels .AdvectionRK4 , endtime = endtime , dt = dt )
241242
242- theta = 2 * np .pi * (pset . time - starttime ) / np .timedelta64 (24 * 3600 , "s" )
243+ theta = 2 * np .pi * (endtime - starttime ) / np .timedelta64 (24 * 3600 , "s" )
243244 true_lon = (lon - 30.0 ) * np .cos (theta ) + 30.0
244245 true_lat = - (lon - 30.0 ) * np .sin (theta ) + 30.0
245246
@@ -282,20 +283,21 @@ def test_moving_eddy(kernel, rtol):
282283
283284 start_lon , start_lat , start_z = 12000 , 12500 , 12500
284285 dt = np .timedelta64 (30 , "m" )
286+ endtime = np .timedelta64 (1 , "h" )
285287
286288 if kernel == AdvectionRK45 :
287289 fieldset .add_constant ("RK45_tol" , rtol )
288290
289291 pset = ParticleSet (fieldset , lon = start_lon , lat = start_lat , z = start_z , time = np .timedelta64 (0 , "s" ))
290- pset .execute (kernel , dt = dt , endtime = np . timedelta64 ( 1 , "h" ) )
292+ pset .execute (kernel , dt = dt , endtime = endtime )
291293
292294 def truth_moving (x_0 , y_0 , t ):
293295 t /= np .timedelta64 (1 , "s" )
294296 lat = y_0 - (ds .u_0 - ds .u_g ) / ds .f * (1 - np .cos (ds .f * t ))
295297 lon = x_0 + ds .u_g * t + (ds .u_0 - ds .u_g ) / ds .f * np .sin (ds .f * t )
296298 return lon , lat
297299
298- exp_lon , exp_lat = truth_moving (start_lon , start_lat , pset . time [ 0 ] )
300+ exp_lon , exp_lat = truth_moving (start_lon , start_lat , endtime )
299301 np .testing .assert_allclose (pset .lon , exp_lon , rtol = rtol )
300302 np .testing .assert_allclose (pset .lat , exp_lat , rtol = rtol )
301303 if kernel == AdvectionRK4_3D :
@@ -321,13 +323,14 @@ def test_decaying_moving_eddy(kernel, rtol):
321323
322324 start_lon , start_lat = 10000 , 10000
323325 dt = np .timedelta64 (60 , "m" )
326+ endtime = np .timedelta64 (23 , "h" )
324327
325328 if kernel == AdvectionRK45 :
326329 fieldset .add_constant ("RK45_tol" , rtol )
327330 fieldset .add_constant ("RK45_min_dt" , 10 * 60 )
328331
329332 pset = ParticleSet (fieldset , lon = start_lon , lat = start_lat , time = np .timedelta64 (0 , "s" ))
330- pset .execute (kernel , dt = dt , endtime = np . timedelta64 ( 23 , "h" ) )
333+ pset .execute (kernel , dt = dt , endtime = endtime )
331334
332335 def truth_moving (x_0 , y_0 , t ):
333336 t /= np .timedelta64 (1 , "s" )
@@ -343,7 +346,7 @@ def truth_moving(x_0, y_0, t):
343346 )
344347 return lon , lat
345348
346- exp_lon , exp_lat = truth_moving (start_lon , start_lat , pset . time [ 0 ] )
349+ exp_lon , exp_lat = truth_moving (start_lon , start_lat , endtime )
347350 np .testing .assert_allclose (pset .lon , exp_lon , rtol = rtol )
348351 np .testing .assert_allclose (pset .lat , exp_lat , rtol = rtol )
349352
0 commit comments