Skip to content

Commit 420d91e

Browse files
Remove outdated v3 code (#2355)
1 parent 21a222c commit 420d91e

File tree

15 files changed

+74
-504
lines changed

15 files changed

+74
-504
lines changed

src/parcels/_core/field.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from parcels._core.utils.time import TimeInterval
2323
from parcels._core.uxgrid import UxGrid
2424
from parcels._core.xgrid import XGrid, _transpose_xfield_data_to_tzyx
25+
from parcels._python import assert_same_function_signature
2526
from parcels._reprs import default_repr
2627
from parcels._typing import VectorType
2728
from parcels.interpolators import (
@@ -30,7 +31,6 @@
3031
ZeroInterpolator,
3132
ZeroInterpolator_Vector,
3233
)
33-
from parcels.utils._helpers import _assert_same_function_signature
3434

3535
__all__ = ["Field", "VectorField"]
3636

@@ -139,7 +139,7 @@ def __init__(
139139
if interp_method is None:
140140
self._interp_method = _DEFAULT_INTERPOLATOR_MAPPING[type(self.grid)]
141141
else:
142-
_assert_same_function_signature(interp_method, ref=ZeroInterpolator, context="Interpolation")
142+
assert_same_function_signature(interp_method, ref=ZeroInterpolator, context="Interpolation")
143143
self._interp_method = interp_method
144144

145145
self.igrid = -1 # Default the grid index to -1
@@ -195,7 +195,7 @@ def interp_method(self):
195195

196196
@interp_method.setter
197197
def interp_method(self, method: Callable):
198-
_assert_same_function_signature(method, ref=ZeroInterpolator, context="Interpolation")
198+
assert_same_function_signature(method, ref=ZeroInterpolator, context="Interpolation")
199199
self._interp_method = method
200200

201201
def _check_velocitysampling(self):
@@ -270,7 +270,7 @@ def __init__(
270270
if vector_interp_method is None:
271271
self._vector_interp_method = None
272272
else:
273-
_assert_same_function_signature(vector_interp_method, ref=ZeroInterpolator_Vector, context="Interpolation")
273+
assert_same_function_signature(vector_interp_method, ref=ZeroInterpolator_Vector, context="Interpolation")
274274
self._vector_interp_method = vector_interp_method
275275

276276
def __repr__(self):
@@ -286,7 +286,7 @@ def vector_interp_method(self):
286286

287287
@vector_interp_method.setter
288288
def vector_interp_method(self, method: Callable):
289-
_assert_same_function_signature(method, ref=ZeroInterpolator_Vector, context="Interpolation")
289+
assert_same_function_signature(method, ref=ZeroInterpolator_Vector, context="Interpolation")
290290
self._vector_interp_method = method
291291

292292
def eval(self, time: datetime, z, y, x, particles=None, applyConversion=True):

src/parcels/_core/kernel.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
_raise_outside_time_interval_error,
1818
)
1919
from parcels._core.warnings import KernelWarning
20+
from parcels._python import assert_same_function_signature
2021
from parcels.kernels import (
2122
AdvectionAnalytical,
2223
AdvectionRK4,
2324
AdvectionRK45,
2425
)
25-
from parcels.utils._helpers import _assert_same_function_signature
2626

2727
if TYPE_CHECKING:
2828
from collections.abc import Callable
@@ -67,7 +67,7 @@ def __init__(
6767
for f in pyfuncs:
6868
if not isinstance(f, types.FunctionType):
6969
raise TypeError(f"Argument pyfunc should be a function or list of functions. Got {type(f)}")
70-
_assert_same_function_signature(f, ref=AdvectionRK4, context="Kernel")
70+
assert_same_function_signature(f, ref=AdvectionRK4, context="Kernel")
7171

7272
if len(pyfuncs) == 0:
7373
raise ValueError("List of `pyfuncs` should have at least one function.")

src/parcels/_core/particlefile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
import parcels
1717
from parcels._core.particle import _SAME_AS_FIELDSET_TIME_INTERVAL, ParticleClass
18-
from parcels.utils._helpers import timedelta_to_float
18+
from parcels._core.utils.time import timedelta_to_float
1919

2020
if TYPE_CHECKING:
2121
from parcels._core.particle import Variable

src/parcels/_core/utils/time.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,12 @@ def maybe_convert_python_timedelta_to_numpy(dt: timedelta | np.timedelta64) -> n
144144
return np.timedelta64(0, "s")
145145
except Exception as e:
146146
raise ValueError(f"Could not convert {dt!r} to np.timedelta64.") from e
147+
148+
149+
def timedelta_to_float(dt: float | timedelta | np.timedelta64) -> float:
150+
"""Convert a timedelta to a float in seconds."""
151+
if isinstance(dt, timedelta):
152+
return dt.total_seconds()
153+
if isinstance(dt, np.timedelta64):
154+
return float(dt / np.timedelta64(1, "s"))
155+
return float(dt)

0 commit comments

Comments
 (0)