Skip to content

Commit 822db95

Browse files
Removing option that input to kernel is an object
1 parent ab53284 commit 822db95

3 files changed

Lines changed: 5 additions & 10 deletions

File tree

src/parcels/_core/kernel.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,7 @@ def __init__(
6565
raise ValueError(f"kernels must be a list. Got {kernels=!r}")
6666

6767
for f in kernels:
68-
if isinstance(f, Kernel):
69-
f = f._kernels # unwrap
70-
elif not isinstance(f, types.FunctionType):
68+
if not isinstance(f, types.FunctionType):
7169
raise TypeError(f"Argument `kernels` should be a function or list of functions. Got {type(f)}")
7270
assert_same_function_signature(f, ref=AdvectionRK4, context="Kernel")
7371

src/parcels/_core/particleset.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -395,12 +395,9 @@ def execute(
395395
if len(self) == 0:
396396
return
397397

398-
if isinstance(kernels, Kernel):
399-
self._kernel = kernels
400-
else:
401-
if isinstance(kernels, types.FunctionType):
402-
kernels = [kernels]
403-
self._kernel = Kernel(kernels, self)
398+
if isinstance(kernels, types.FunctionType):
399+
kernels = [kernels]
400+
self._kernel = Kernel(kernels, self)
404401

405402
if output_file is not None:
406403
output_file.set_metadata(self.fieldset.gridset[0]._mesh)

tests/test_kernel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def test_kernel_from_list_error_checking(fieldset):
8181
with pytest.raises(TypeError, match=r"Argument `kernels` should be a function or list of functions.*"):
8282
Kernel(kernels=[AdvectionRK4, "something else"], pset=pset)
8383

84-
with pytest.raises(TypeError, match=r".*is not a callable object"):
84+
with pytest.raises(TypeError, match=r".* should be a function or list of functions.*"):
8585
kernels_mixed = Kernel(kernels=[Kernel(kernels=[AdvectionRK4], pset=pset), MoveEast, MoveNorth], pset=pset)
8686
assert kernels_mixed.funcname == "AdvectionRK4MoveEastMoveNorth"
8787

0 commit comments

Comments
 (0)