diff --git a/parcels/field.py b/parcels/field.py index 952c8965fe..075eefcc09 100644 --- a/parcels/field.py +++ b/parcels/field.py @@ -548,9 +548,6 @@ def from_netcdf( if "time" in indices: logger.warning_once("time dimension in indices is not necessary anymore. It is then ignored.") - if "full_load" in kwargs: # for backward compatibility with Parcels < v2.0.0 - deferred_load = not kwargs["full_load"] - if grid.time.size <= 2: deferred_load = False diff --git a/parcels/interaction/interactionkernel.py b/parcels/interaction/interactionkernel.py index db4c7f8975..a02742abbf 100644 --- a/parcels/interaction/interactionkernel.py +++ b/parcels/interaction/interactionkernel.py @@ -1,5 +1,4 @@ import inspect -import sys from collections import defaultdict import numpy as np @@ -113,10 +112,7 @@ def check_kernel_signature_on_version(self): numkernelargs = [] if self._pyfunc is not None and isinstance(self._pyfunc, list): for func in self._pyfunc: - if sys.version_info[0] < 3: - numkernelargs.append(len(inspect.getargspec(func).args)) - else: - numkernelargs.append(len(inspect.getfullargspec(func).args)) + numkernelargs.append(len(inspect.getfullargspec(func).args)) return numkernelargs def remove_lib(self): diff --git a/parcels/kernel.py b/parcels/kernel.py index 37578af71f..097a777a88 100644 --- a/parcels/kernel.py +++ b/parcels/kernel.py @@ -233,9 +233,10 @@ def __init__( numkernelargs = self.check_kernel_signature_on_version() - assert ( - numkernelargs == 3 - ), "Since Parcels v2.0, kernels do only take 3 arguments: particle, fieldset, time !! AND !! Argument order in field interpolation is time, depth, lat, lon." + if numkernelargs != 3: + raise ValueError( + "Since Parcels v2.0, kernels do only take 3 arguments: particle, fieldset, time !! AND !! Argument order in field interpolation is time, depth, lat, lon." + ) self.name = f"{ptype.name}{self.funcname}" @@ -324,7 +325,7 @@ def Updatecoords(particle, fieldset, time): particle.depth_nextloop = particle.depth + particle_ddepth # noqa particle.time_nextloop = particle.time + particle.dt - self._pyfunc = self.__radd__(Setcoords).__add__(Updatecoords)._pyfunc + self._pyfunc = (Setcoords + self + Updatecoords)._pyfunc def check_fieldsets_in_kernels(self, pyfunc): """ @@ -382,13 +383,10 @@ def check_fieldsets_in_kernels(self, pyfunc): self.fieldset.add_constant("RK45_max_dt", 60 * 60 * 24) def check_kernel_signature_on_version(self): - numkernelargs = 0 - if self._pyfunc is not None: - if sys.version_info[0] < 3: - numkernelargs = len(inspect.getargspec(self._pyfunc).args) - else: - numkernelargs = len(inspect.getfullargspec(self._pyfunc).args) - return numkernelargs + """Returns number of arguments in a Python function.""" + if self._pyfunc is None: + return 0 + return len(inspect.getfullargspec(self._pyfunc).args) def remove_lib(self): if self._lib is not None: