Skip to content

Commit 7512ee4

Browse files
committed
rename to multi-year
1 parent 36c9362 commit 7512ee4

4 files changed

Lines changed: 27 additions & 22 deletions

File tree

decoimpact/business/entities/rules/time_aggregation_rule.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,31 +35,33 @@ def __init__(
3535
name: str,
3636
input_variable_names: List[str],
3737
operation_type: TimeOperationType,
38-
start_year: Optional[int] = None,
39-
end_year: Optional[int] = None,
38+
multi_year_start: Optional[int] = None,
39+
multi_year_end: Optional[int] = None,
4040
):
41+
# pylint: disable=too-many-arguments
42+
# pylint: disable=too-many-parameters
4143
super().__init__(name, input_variable_names)
4244
self._settings = TimeOperationSettings({"month": "ME", "year": "YE"})
4345
self._settings.percentile_value = 0
4446
self._settings.operation_type = operation_type
4547
self._settings.time_scale = "year"
46-
self._start_year = start_year
47-
self._end_year = end_year
48+
self._multi_year_start = multi_year_start
49+
self._multi_year_end = multi_year_end
4850

4951
@property
5052
def settings(self):
5153
"""Time operation settings"""
5254
return self._settings
5355

5456
@property
55-
def start_year(self) -> Optional[int]:
57+
def multi_year_start(self) -> Optional[int]:
5658
"""Start year for the aggregation (inclusive)"""
57-
return self._start_year
59+
return self._multi_year_start
5860

5961
@property
60-
def end_year(self) -> Optional[int]:
62+
def multi_year_end(self) -> Optional[int]:
6163
"""End year for the aggregation (inclusive)"""
62-
return self._end_year
64+
return self._multi_year_end
6365

6466
def validate(self, logger: ILogger) -> bool:
6567
"""Validates if the rule is valid
@@ -77,8 +79,10 @@ def filter_years(
7779
Args:
7880
value_array (DataArray): value to filter
7981
"""
80-
start = str(self._start_year) if self._start_year is not None else None
81-
end = str(self._end_year) if self._end_year is not None else None
82+
start = (
83+
str(self._multi_year_start) if self._multi_year_start is not None else None
84+
)
85+
end = str(self._multi_year_end) if self._multi_year_end is not None else None
8286
slice_obj = slice(start, end)
8387
return value_array.sel({time_dim_name: slice_obj})
8488

decoimpact/data/api/i_time_aggregation_rule_data.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ def time_scale(self) -> str:
4545

4646
@property
4747
@abstractmethod
48-
def start_year(self) -> Optional[int]:
48+
def multi_year_start(self) -> Optional[int]:
4949
"""Start year for the aggregation (inclusive)"""
5050

5151
@property
5252
@abstractmethod
53-
def end_year(self) -> Optional[int]:
53+
def multi_year_end(self) -> Optional[int]:
5454
"""End year for the aggregation (inclusive)"""

decoimpact/data/entities/time_aggregation_rule_data.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,28 +27,29 @@ def __init__(
2727
name: str,
2828
input_variable: str,
2929
operation: TimeOperationType,
30-
start_year: Optional[int] = None,
31-
end_year: Optional[int] = None,
30+
multi_year_start: Optional[int] = None,
31+
multi_year_end: Optional[int] = None,
3232
):
3333
# pylint: disable=too-many-arguments
34+
# pylint: disable=too-many-parameters
3435
super().__init__(name, operation)
3536
self._name = name
3637
self._input_variable = input_variable
3738
self._operation = operation
38-
self._start_year = start_year
39-
self._end_year = end_year
39+
self._multi_year_start = multi_year_start
40+
self._multi_year_end = multi_year_end
4041

4142
@property
4243
def input_variable(self) -> str:
4344
"""Name of the input variable"""
4445
return self._input_variable
4546

4647
@property
47-
def start_year(self) -> Optional[int]:
48+
def multi_year_start(self) -> Optional[int]:
4849
"""Start year for aggregation"""
49-
return self._start_year
50+
return self._multi_year_start
5051

5152
@property
52-
def end_year(self) -> Optional[int]:
53+
def multi_year_end(self) -> Optional[int]:
5354
"""End year for aggregation"""
54-
return self._end_year
55+
return self._multi_year_end

tests/business/entities/rules/test_time_aggregation_rule.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -472,8 +472,8 @@ def test_multi_yearly_month_average_with_year_range():
472472
name="test",
473473
input_variable_names=["foo"],
474474
operation_type=TimeOperationType.MULTI_YEAR_MONTHLY_AVERAGE,
475-
start_year=2020,
476-
end_year=2020,
475+
multi_year_start=2020,
476+
multi_year_end=2020,
477477
)
478478
rule.settings.time_scale = "month"
479479

0 commit comments

Comments
 (0)