@@ -26,7 +26,7 @@ class MainRecipe(StackedDamages, ABC):
2626 Parameters
2727 ----------
2828 discounting_type : str
29- Choice of discounting: ``euler_gwr``, ``euler_ramsey``, ``constant``, ``naive_ramsey``,
29+ Choice of discounting: ``euler_gwr``, ``euler_ramsey``, ``constant``, ``constant_gwr``, `` naive_ramsey``,
3030 ``naive_gwr``, ``gwr_gwr``.
3131 discrete_discounting: boolean
3232 Discounting is discrete if ``True``, else continuous (default is ``False``).
@@ -52,6 +52,7 @@ class MainRecipe(StackedDamages, ABC):
5252 DISCOUNT_TYPES = [
5353 "constant" ,
5454 "constant_model_collapsed" ,
55+ "constant_gwr" ,
5556 "naive_ramsey" ,
5657 "euler_ramsey" ,
5758 "naive_gwr" ,
@@ -253,7 +254,11 @@ def __init__(
253254 # 'constant_model_collapsed' should be here except that we allow
254255 # for a collapsed-model Ramsey rate to be calculated (for labour
255256 # and energy purposes)
256- if self .discounting_type in ["constant" , "constant_model_collapsed" ]:
257+ if self .discounting_type in [
258+ "constant" ,
259+ "constant_model_collapsed" ,
260+ "constant_gwr" ,
261+ ]:
257262 self .stream_discount_factors = None
258263
259264 # assert formulas for which clip_gmsl is implemented
@@ -318,8 +323,10 @@ def scc():
318323 self .logger .info ("Processing SCC calculation ..." )
319324 if self .fit_type == "quantreg" :
320325 self .full_uncertainty_iqr
321- self .calculate_scc
322- self .stat_uncertainty_iqr
326+ # stat_uncertainty_iqr function expects collapsed SCCs, so a fair aggregation is required
327+ if len (self .fair_aggregation ) > 0 :
328+ self .calculate_scc
329+ self .stat_uncertainty_iqr
323330 else :
324331 if len (self .fair_aggregation ) > 0 :
325332 self .stream_discount_factors
@@ -1093,7 +1100,7 @@ def discounted_damages(self, damages, discrate):
10931100 xr.Dataset
10941101 """
10951102
1096- if discrate in ["constant" , "constant_model_collapsed" ]:
1103+ if discrate in ["constant" , "constant_model_collapsed" , "constant_gwr" ]:
10971104 if self .discrete_discounting :
10981105 discrate_damages = [
10991106 damages * (1 / (1 + r )) ** (damages .year - self .climate .pulse_year )
0 commit comments