Skip to content

Commit fadca90

Browse files
Merge branch 'v4-dev' into testing_nemo_spatialhash
2 parents 85f025b + 62a596c commit fadca90

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

parcels/_core/utils/time.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ def __init__(self, left: T, right: T) -> None:
4545
self.left = left
4646
self.right = right
4747

48+
def __contains__(self, item: T) -> bool:
49+
return self.left <= item <= self.right
50+
4851
def is_all_time_in_interval(self, time):
4952
item = np.atleast_1d(time)
5053
return (self.left <= item).all() and (item <= self.right).all()

parcels/field.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
)
1919
from parcels.application_kernels.interpolation import UXPiecewiseLinearNode, XLinear, ZeroInterpolator
2020
from parcels.particle import KernelParticle
21-
from parcels.particleset import ParticleSet
2221
from parcels.tools.converters import (
2322
UnitConverter,
2423
unitconverters_map,
@@ -36,9 +35,9 @@
3635

3736

3837
def _deal_with_errors(error, key, vector_type: VectorType):
39-
if isinstance(key, (ParticleSet, KernelParticle)):
38+
if isinstance(key, KernelParticle):
4039
key.state = AllParcelsErrorCodes[type(error)]
41-
elif isinstance(key[-1], (ParticleSet, KernelParticle)):
40+
elif isinstance(key[-1], KernelParticle):
4241
key[-1].state = AllParcelsErrorCodes[type(error)]
4342
else:
4443
raise RuntimeError(f"{error}. Error could not be handled because particle was not part of the Field Sampling.")
@@ -256,7 +255,7 @@ def eval(self, time: datetime, z, y, x, particle=None, applyConversion=True):
256255
def __getitem__(self, key):
257256
self._check_velocitysampling()
258257
try:
259-
if isinstance(key, (KernelParticle, ParticleSet)):
258+
if isinstance(key, KernelParticle):
260259
return self.eval(key.time, key.depth, key.lat, key.lon, key)
261260
else:
262261
return self.eval(*key)
@@ -348,7 +347,7 @@ def eval(self, time: datetime, z, y, x, particle=None, applyConversion=True):
348347

349348
def __getitem__(self, key):
350349
try:
351-
if isinstance(key, (KernelParticle, ParticleSet)):
350+
if isinstance(key, KernelParticle):
352351
return self.eval(key.time, key.depth, key.lat, key.lon, key)
353352
else:
354353
return self.eval(*key)

0 commit comments

Comments
 (0)