|
39 | 39 | technology, |
40 | 40 | time, |
41 | 41 | ) |
42 | | -from temoa.extensions.economies_of_scale.core.model import ( |
43 | | - register_early_eos_components, |
44 | | -) |
45 | 42 | from temoa.extensions.framework import apply_model_extension_hooks, resolve_extension_specs |
46 | 43 | from temoa.model_checking.validators import ( |
47 | 44 | no_slash_or_pipe, |
@@ -570,7 +567,10 @@ def __init__( |
570 | 567 | self.cost_invest = Param(self.cost_invest_rtv) |
571 | 568 |
|
572 | 569 | # Inject cost_invest_eos extension components prior to loan params, if active |
573 | | - register_early_eos_components(self) |
| 570 | + if 'eos' in self.enabled_extensions: |
| 571 | + import temoa.extensions.economies_of_scale.core.model as eos |
| 572 | + |
| 573 | + eos.register_early_eos_components(self) |
574 | 574 |
|
575 | 575 | self.default_loan_rate = Param(domain=NonNegativeReals) |
576 | 576 | self.loan_rate = Param( |
@@ -687,9 +687,13 @@ def __init__( |
687 | 687 | self.seasonal_storage_constraints_rpsdtv = Set( |
688 | 688 | dimen=6, initialize=storage.seasonal_storage_constraint_indices |
689 | 689 | ) |
690 | | - self.limit_storage_fraction_param_rsdt = ( |
691 | | - Set() |
692 | | - ) # populated by hybrid_loader with (r, s, d, t, op) keys |
| 690 | + self.limit_storage_fraction_param_rsdt = Set( |
| 691 | + within=self.regional_global_indices |
| 692 | + * (self.time_season | self.time_season_sequential) |
| 693 | + * self.time_of_day |
| 694 | + * self.tech_storage |
| 695 | + * self.operator |
| 696 | + ) |
693 | 697 | self.limit_storage_fraction = Param( |
694 | 698 | self.limit_storage_fraction_param_rsdt, validate=validate_0to1 |
695 | 699 | ) |
|
0 commit comments