|
14 | 14 | from parcels._datasets.structured.generated import simple_UV_dataset |
15 | 15 | from parcels._datasets.structured.generic import datasets as datasets_structured |
16 | 16 | 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 |
18 | 18 | from parcels.uxgrid import UxGrid |
19 | 19 | from parcels.xgrid import XGrid |
20 | 20 | from tests import utils |
@@ -158,6 +158,19 @@ def FieldAccessOutsideTime(particle, fieldset, time): # pragma: no cover |
158 | 158 | pset.execute(FieldAccessOutsideTime, runtime=np.timedelta64(400, "D"), dt=np.timedelta64(10, "D")) |
159 | 159 |
|
160 | 160 |
|
| 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 | + |
161 | 174 | def test_execution_check_stopallexecution(fieldset): |
162 | 175 | def addoneLon(particle, fieldset, time): # pragma: no cover |
163 | 176 | particle.dlon += 1 |
|
0 commit comments