Skip to content

Commit 742eaf1

Browse files
change leadtime to timedelta
1 parent 1688641 commit 742eaf1

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

climada/util/forecast.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ class Forecast:
2828
Attributes
2929
----------
3030
lead_time : np.ndarray
31-
Array of forecast lead times, given as datetime64 objects.
32-
Represents the time points for which forecasts are made.
31+
Array of forecast lead times, given as timedelta64 objects.
32+
Represents the lead times of the forecasts.
3333
member : np.ndarray
3434
Array of ensemble member identifiers, given as integers.
3535
Represents different forecast ensemble members.

climada/util/test/test_forecast.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import numpy as np
2323
import numpy.testing as npt
24+
import pandas as pd
2425

2526
from climada.util.forecast import Forecast
2627

@@ -34,19 +35,18 @@ def test_forecast_init():
3435
forecast = Forecast(member=np.array([1, 2]))
3536
npt.assert_array_equal(forecast.member, np.array([1, 2]), strict=True)
3637

37-
forecast = Forecast(lead_time=np.array([1, 2]))
38-
npt.assert_array_equal(forecast.lead_time, np.array([1, 2]), strict=True)
38+
forecast = Forecast(lead_time=np.array([6, 12], dtype="timedelta64[h]"))
39+
npt.assert_array_equal(
40+
forecast.lead_time, np.array([6, 12], dtype="timedelta64[h]"), strict=True
41+
)
3942

4043
forecast = Forecast(lead_time=np.array([1, 2]), member=[3, 4])
4144
npt.assert_array_equal(forecast.lead_time, np.array([1, 2]), strict=True)
4245
npt.assert_array_equal(forecast.member, np.array([3, 4]), strict=True)
4346
assert isinstance(forecast.member, np.ndarray)
4447

4548
# Test with datetime64 including seconds
46-
lead_times_seconds = np.array(
47-
["2024-01-01T00:00:00", "2024-01-01T00:01:00", "2024-01-01"],
48-
dtype="datetime64[s]",
49-
)
49+
lead_times_seconds = pd.timedelta_range(start="1 day", periods=4).to_numpy()
5050
forecast = Forecast(lead_time=lead_times_seconds, member=[1, 2, 3])
5151
npt.assert_array_equal(forecast.lead_time, lead_times_seconds, strict=True)
52-
assert forecast.lead_time.dtype == np.dtype("datetime64[s]")
52+
assert forecast.lead_time.dtype == np.dtype("timedelta64[ns]")

0 commit comments

Comments
 (0)