Skip to content

Commit a4fe3b0

Browse files
committed
Add tests for hazard forecast mean min max
1 parent 3fc25af commit a4fe3b0

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

climada/hazard/test/test_forecast.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,3 +164,54 @@ def test_write_read_hazard_forecast(haz_fc, tmp_path):
164164
else:
165165
# npt.assert_array_equal also works for comparing int, float or list
166166
npt.assert_array_equal(haz_fc.__dict__[key], haz_fc_read.__dict__[key])
167+
168+
169+
def test_hazard_forecast_mean_min_max(haz_fc):
170+
"""Check mean, min, and max methods for ImpactForecast"""
171+
haz_fcst_mean = haz_fc.mean()
172+
haz_fcst_min = haz_fc.min()
173+
haz_fcst_max = haz_fc.max()
174+
175+
# assert intensity
176+
npt.assert_array_equal(
177+
haz_fcst_mean.intensity.todense(), haz_fc.intensity.todense().mean(axis=0)
178+
)
179+
npt.assert_array_equal(
180+
haz_fcst_min.intensity.todense(), haz_fc.intensity.todense().min(axis=0)
181+
)
182+
npt.assert_array_equal(
183+
haz_fcst_max.intensity.todense(), haz_fc.intensity.todense().max(axis=0)
184+
)
185+
# assert fraction
186+
npt.assert_array_equal(
187+
haz_fcst_mean.fraction.todense(), haz_fc.fraction.todense().mean(axis=0)
188+
)
189+
npt.assert_array_equal(
190+
haz_fcst_min.fraction.todense(), haz_fc.fraction.todense().min(axis=0)
191+
)
192+
npt.assert_array_equal(
193+
haz_fcst_max.fraction.todense(), haz_fc.fraction.todense().max(axis=0)
194+
)
195+
196+
# check that attributes where reduced correctly
197+
assert np.isnat(haz_fcst_mean.lead_time[0])
198+
assert np.isnat(haz_fcst_min.lead_time[0])
199+
assert np.isnat(haz_fcst_max.lead_time[0])
200+
assert haz_fcst_mean.member[0] == -1
201+
assert haz_fcst_min.member[0] == -1
202+
assert haz_fcst_max.member[0] == -1
203+
assert haz_fcst_mean.event_name[0] == "mean"
204+
assert haz_fcst_min.event_name[0] == "min"
205+
assert haz_fcst_max.event_name[0] == "max"
206+
assert haz_fcst_mean.event_id[0] == 0
207+
assert haz_fcst_min.event_id[0] == 0
208+
assert haz_fcst_max.event_id[0] == 0
209+
assert haz_fcst_mean.frequency == 1
210+
assert haz_fcst_min.frequency == 1
211+
assert haz_fcst_max.frequency == 1
212+
assert haz_fcst_mean.date == haz_fc.date.min()
213+
assert haz_fcst_min.date == haz_fc.date.min()
214+
assert haz_fcst_max.date == haz_fc.date.min()
215+
assert np.all(haz_fcst_mean.orig)
216+
assert np.all(haz_fcst_min.orig)
217+
assert np.all(haz_fcst_max.orig)

0 commit comments

Comments
 (0)