Merge branch 'feature/fix-industry-intermediate' of github.com:Climact/pypsa-eur-climact into Climact-feature/fix-industry-intermediate

This commit is contained in:
Fabian Neumann 2024-05-20 21:44:19 +02:00
commit eeb548c03f
3 changed files with 11 additions and 6 deletions

View File

@ -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)
===================================== =====================================

View File

@ -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

View File

@ -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)