Skip to content

Commit 822b470

Browse files
Adding test for FieldInterpolationError
1 parent b7eaf60 commit 822b470

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

tests/v4/test_particleset_execute.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from parcels._datasets.structured.generated import simple_UV_dataset
1515
from parcels._datasets.structured.generic import datasets as datasets_structured
1616
from parcels._datasets.unstructured.generic import datasets as datasets_unstructured
17-
from parcels.tools.statuscodes import FieldOutOfBoundError, TimeExtrapolationError
17+
from parcels.tools.statuscodes import FieldInterpolationError, FieldOutOfBoundError, TimeExtrapolationError
1818
from parcels.uxgrid import UxGrid
1919
from parcels.xgrid import XGrid
2020
from tests import utils
@@ -158,6 +158,19 @@ def FieldAccessOutsideTime(particle, fieldset, time): # pragma: no cover
158158
pset.execute(FieldAccessOutsideTime, runtime=np.timedelta64(400, "D"), dt=np.timedelta64(10, "D"))
159159

160160

161+
def test_errorinterpolation(fieldset):
162+
def NaNInterpolator(field, ti, position, tau, t, z, y, x): # pragma: no cover
163+
return np.nan * np.zeros_like(x)
164+
165+
def SampleU(particle, fieldset, time): # pragma: no cover
166+
fieldset.U[particle.time, particle.depth, particle.lat, particle.lon, particle]
167+
168+
fieldset.U.interp_method = NaNInterpolator
169+
pset = ParticleSet(fieldset, lon=[0, 2], lat=[0, 0])
170+
with pytest.raises(FieldInterpolationError):
171+
pset.execute(SampleU, runtime=np.timedelta64(2, "s"), dt=np.timedelta64(1, "s"))
172+
173+
161174
def test_execution_check_stopallexecution(fieldset):
162175
def addoneLon(particle, fieldset, time): # pragma: no cover
163176
particle.dlon += 1

0 commit comments

Comments
 (0)