Merge branch 'feature/fix-industry-intermediate' of github.com:Climact/pypsa-eur-climact into Climact-feature/fix-industry-intermediate
This commit is contained in:
commit
eeb548c03f
@ -307,6 +307,8 @@ Upcoming Release
|
|||||||
|
|
||||||
* Fix non steel related coal demand during transition (using `sector_ratios_fraction_future`).
|
* Fix non steel related coal demand during transition (using `sector_ratios_fraction_future`).
|
||||||
|
|
||||||
|
* Fix fill missing data in `build_industry_sector_ratios_intermediate`.
|
||||||
|
|
||||||
PyPSA-Eur 0.10.0 (19th February 2024)
|
PyPSA-Eur 0.10.0 (19th February 2024)
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
|
@ -51,11 +51,14 @@ def build_industry_sector_ratios_intermediate():
|
|||||||
|
|
||||||
intermediate_sector_ratios = {}
|
intermediate_sector_ratios = {}
|
||||||
for ct, group in today_sector_ratios.T.groupby(level=0):
|
for ct, group in today_sector_ratios.T.groupby(level=0):
|
||||||
today_sector_ratios_ct = (
|
today_sector_ratios_ct = group.droplevel(0).T.reindex_like(future_sector_ratios)
|
||||||
group.droplevel(0)
|
missing_mask = today_sector_ratios_ct.isna().all()
|
||||||
.T.reindex_like(future_sector_ratios)
|
today_sector_ratios_ct.loc[:, missing_mask] = future_sector_ratios.loc[
|
||||||
.fillna(future_sector_ratios)
|
:, missing_mask
|
||||||
)
|
]
|
||||||
|
today_sector_ratios_ct.loc[:, ~missing_mask] = today_sector_ratios_ct.loc[
|
||||||
|
:, ~missing_mask
|
||||||
|
].fillna(0)
|
||||||
intermediate_sector_ratios[ct] = (
|
intermediate_sector_ratios[ct] = (
|
||||||
today_sector_ratios_ct * (1 - fraction_future)
|
today_sector_ratios_ct * (1 - fraction_future)
|
||||||
+ future_sector_ratios * fraction_future
|
+ future_sector_ratios * fraction_future
|
||||||
|
@ -1050,7 +1050,7 @@ def solve_network(n, config, solving, **kwargs):
|
|||||||
# add to network for extra_functionality
|
# add to network for extra_functionality
|
||||||
n.config = config
|
n.config = config
|
||||||
|
|
||||||
if rolling_horizon and snakemake.rule == 'solve_operations_network':
|
if rolling_horizon and snakemake.rule == "solve_operations_network":
|
||||||
kwargs["horizon"] = cf_solving.get("horizon", 365)
|
kwargs["horizon"] = cf_solving.get("horizon", 365)
|
||||||
kwargs["overlap"] = cf_solving.get("overlap", 0)
|
kwargs["overlap"] = cf_solving.get("overlap", 0)
|
||||||
n.optimize.optimize_with_rolling_horizon(**kwargs)
|
n.optimize.optimize_with_rolling_horizon(**kwargs)
|
||||||
|
Loading…
Reference in New Issue
Block a user