Skip to content

Commit 9e4f2bb

Browse files
committed
Block return_period and exceedance_freq_curve
1 parent 612a53c commit 9e4f2bb

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

climada/engine/impact_forecast.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,35 @@ def local_exceedance_impact(
119119
raise NotImplementedError(
120120
"local_exceedance_impact is not defined for ImpactForecast"
121121
)
122+
123+
def local_return_period(
124+
self,
125+
threshold_impact=(1000.0, 10000.0),
126+
method="interpolate",
127+
min_impact=0,
128+
log_frequency=True,
129+
log_impact=True,
130+
bin_decimals=None,
131+
):
132+
"""Compution of local return period for given impact thresholds is not
133+
implemented for ImpactForecast. See climada.engine.impact.Impact for details.
134+
Returns
135+
-------
136+
NotImplementedError
137+
"""
138+
139+
LOGGER.error("local_return_period is not defined for ImpactForecast")
140+
raise NotImplementedError(
141+
"local_return_period is not defined for ImpactForecast"
142+
)
143+
144+
def calc_freq_curve(self, return_per=None):
145+
"""Computation of the impact exceedance frequency curve is not
146+
implemented for ImpactForecast. See climada.engine.impact.Impact for details.
147+
Returns
148+
-------
149+
NotImplementedError
150+
"""
151+
152+
LOGGER.error("calc_freq_curve is not defined for ImpactForecast")
153+
raise NotImplementedError("calc_freq_curve is not defined for ImpactForecast")

climada/engine/test/test_impact_forecast.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,13 @@ def test_impact_forecast_concat(impact_forecast, member):
105105
npt.assert_array_equal(impact_fc.member, np.concatenate([member, member]))
106106

107107

108-
def test_impact_forecast_exceedance_freq_curve_error(impact_forecast):
108+
def test_impact_forecast_blocked_methods(impact_forecast):
109109
"""Check if ImpactForecast.exceedance_freq_curve raises NotImplementedError"""
110110
with pytest.raises(NotImplementedError):
111111
impact_forecast.local_exceedance_impact(np.array([10, 50, 100]))
112+
113+
with pytest.raises(NotImplementedError):
114+
impact_forecast.local_return_period(np.array([10, 50, 100]))
115+
116+
with pytest.raises(NotImplementedError):
117+
impact_forecast.calc_freq_curve(np.array([10, 50, 100]))

0 commit comments

Comments
 (0)