@@ -150,6 +150,28 @@ def test_particleset_endtime_type(fieldset, endtime, expectation):
150150 pset .execute (endtime = endtime , dt = np .timedelta64 (10 , "m" ), pyfunc = DoNothing )
151151
152152
153+ def test_particleset_run_to_endtime (fieldset ):
154+ starttime = fieldset .time_interval .left
155+ endtime = fieldset .time_interval .right
156+
157+ def SampleU (particles , fieldset ): # pragma: no cover
158+ _ = fieldset .U [particles ]
159+
160+ pset = ParticleSet (fieldset , lon = [0.2 ], lat = [5.0 ], time = [starttime ])
161+ pset .execute (SampleU , endtime = endtime , dt = np .timedelta64 (1 , "D" ))
162+ assert pset [0 ].time + pset [0 ].dt == endtime
163+
164+
165+ def test_particleset_interpolate_domainedge (fieldset ):
166+ def SampleU (particles , fieldset ): # pragma: no cover
167+ particles .dlon = fieldset .U [particles ]
168+
169+ print (fieldset .U .grid .lon )
170+ pset = ParticleSet (fieldset , lon = fieldset .U .grid .lon [0 ], lat = fieldset .U .grid .lat [0 ])
171+ pset .execute (SampleU , runtime = np .timedelta64 (1 , "D" ), dt = np .timedelta64 (1 , "D" ))
172+ assert np .isfinite (pset [0 ].dlon )
173+
174+
153175@pytest .mark .parametrize (
154176 "dt" , [np .timedelta64 (1 , "s" ), np .timedelta64 (1 , "ms" ), np .timedelta64 (10 , "ms" ), np .timedelta64 (1 , "ns" )]
155177)
0 commit comments