Skip to content

Commit 79c20db

Browse files
Adding test for stopping simulation
1 parent c002294 commit 79c20db

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

tests/v4/test_particleset.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
FieldSet,
1111
Particle,
1212
ParticleSet,
13+
StatusCode,
1314
UXPiecewiseConstantFace,
1415
VectorField,
1516
xgcm,
@@ -124,6 +125,17 @@ def test_pset_iterator(fieldset):
124125
assert i == npart - 1
125126

126127

128+
def test_pset_stop_simulation(fieldset):
129+
pset = ParticleSet(fieldset, lon=0, lat=0, pclass=Particle)
130+
131+
def Delete(particle, fieldset, time): # pragma: no cover
132+
if time >= fieldset.U.time[0].values + np.timedelta64(4, "s"):
133+
return StatusCode.StopExecution
134+
135+
pset.execute(Delete, dt=np.timedelta64(1, "s"), runtime=np.timedelta64(21, "s"))
136+
assert pset[0].time == fieldset.U.time[0].values + np.timedelta64(4, "s")
137+
138+
127139
@pytest.mark.parametrize("verbose_progress", [True, False])
128140
def test_uxstommelgyre_pset_execute(verbose_progress):
129141
ds = datasets_unstructured["stommel_gyre_delaunay"]

0 commit comments

Comments
 (0)