[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
This commit is contained in:
pre-commit-ci[bot] 2024-09-09 16:28:07 +00:00
parent 861054961a
commit 5465d8cc75
3 changed files with 33 additions and 21 deletions

View File

@ -420,7 +420,8 @@ def add_power_capacities_installed_before_baseyear(n, grouping_years, costs, bas
def get_efficiency(heat_system, carrier, nodes, heating_efficiencies, costs): def get_efficiency(heat_system, carrier, nodes, heating_efficiencies, costs):
""" """
Computes the heating system efficiency based on the sector and carrier type. Computes the heating system efficiency based on the sector and carrier
type.
Parameters: Parameters:
----------- -----------
@ -445,7 +446,7 @@ def get_efficiency(heat_system, carrier, nodes, heating_efficiencies, costs):
- For residential and services sectors, efficiency is mapped based on the nodes. - For residential and services sectors, efficiency is mapped based on the nodes.
- For other sectors, the default boiler efficiency is retrieved from the `costs` database. - For other sectors, the default boiler efficiency is retrieved from the `costs` database.
""" """
if heat_system.sector.value == "residential": if heat_system.sector.value == "residential":
key = f"{carrier} residential space efficiency" key = f"{carrier} residential space efficiency"
efficiency = nodes.str[:2].map(heating_efficiencies[key]) efficiency = nodes.str[:2].map(heating_efficiencies[key])
@ -458,6 +459,7 @@ def get_efficiency(heat_system, carrier, nodes, heating_efficiencies, costs):
return efficiency return efficiency
def add_heating_capacities_installed_before_baseyear( def add_heating_capacities_installed_before_baseyear(
n: pypsa.Network, n: pypsa.Network,
baseyear: int, baseyear: int,
@ -586,8 +588,9 @@ def add_heating_capacities_installed_before_baseyear(
lifetime=costs.at[heat_system.resistive_heater_costs_name, "lifetime"], lifetime=costs.at[heat_system.resistive_heater_costs_name, "lifetime"],
) )
efficiency = get_efficiency(heat_system, "gas", nodes, efficiency = get_efficiency(
heating_efficiencies, costs) heat_system, "gas", nodes, heating_efficiencies, costs
)
n.madd( n.madd(
"Link", "Link",
@ -612,8 +615,9 @@ def add_heating_capacities_installed_before_baseyear(
lifetime=costs.at[heat_system.gas_boiler_costs_name, "lifetime"], lifetime=costs.at[heat_system.gas_boiler_costs_name, "lifetime"],
) )
efficiency = get_efficiency(heat_system, "oil", nodes, efficiency = get_efficiency(
heating_efficiencies, costs) heat_system, "oil", nodes, heating_efficiencies, costs
)
n.madd( n.madd(
"Link", "Link",
@ -708,7 +712,7 @@ if __name__ == "__main__":
# one could use baseyear here instead (but dangerous if no data) # one could use baseyear here instead (but dangerous if no data)
heating_efficiencies = ( heating_efficiencies = (
pd.read_csv(snakemake.input.heating_efficiencies, index_col=[1,0]) pd.read_csv(snakemake.input.heating_efficiencies, index_col=[1, 0])
).loc[int(snakemake.config["energy"]["energy_totals_year"])] ).loc[int(snakemake.config["energy"]["energy_totals_year"])]
add_heating_capacities_installed_before_baseyear( add_heating_capacities_installed_before_baseyear(

View File

@ -612,9 +612,11 @@ def build_idees(countries: List[str]) -> pd.DataFrame:
# efficiency kgoe/100km -> ktoe/100km so that after conversion TWh/100km # efficiency kgoe/100km -> ktoe/100km so that after conversion TWh/100km
totals.loc[:, "passenger car efficiency"] /= 1e6 totals.loc[:, "passenger car efficiency"] /= 1e6
# convert ktoe to TWh # convert ktoe to TWh
exclude = totals.columns.str.fullmatch("passenger cars") \ exclude = (
^ totals.columns.str.fullmatch(".*space efficiency") \ totals.columns.str.fullmatch("passenger cars")
^ totals.columns.str.fullmatch(".*space efficiency")
^ totals.columns.str.fullmatch(".*water efficiency") ^ totals.columns.str.fullmatch(".*water efficiency")
)
totals = totals.copy() totals = totals.copy()
totals.loc[:, ~exclude] *= 11.63 / 1e3 totals.loc[:, ~exclude] *= 11.63 / 1e3
@ -696,11 +698,11 @@ def build_energy_totals(
[countries, eurostat_years], names=["country", "year"] [countries, eurostat_years], names=["country", "year"]
) )
to_drop = idees.columns[idees.columns.str.contains("space efficiency") to_drop = idees.columns[
^ idees.columns.str.contains("water efficiency")] idees.columns.str.contains("space efficiency")
to_drop = to_drop.append(pd.Index( ^ idees.columns.str.contains("water efficiency")
["passenger cars", "passenger car efficiency"] ]
)) to_drop = to_drop.append(pd.Index(["passenger cars", "passenger car efficiency"]))
df = idees.reindex(new_index).drop(to_drop, axis=1) df = idees.reindex(new_index).drop(to_drop, axis=1)
@ -1543,6 +1545,7 @@ def build_transformation_output_coke(eurostat, fn):
df = eurostat.loc[slicer, :].droplevel(level=[2, 3, 4, 5]) df = eurostat.loc[slicer, :].droplevel(level=[2, 3, 4, 5])
df.to_csv(fn) df.to_csv(fn)
def build_heating_efficiencies( def build_heating_efficiencies(
countries: List[str], idees: pd.DataFrame countries: List[str], idees: pd.DataFrame
) -> pd.DataFrame: ) -> pd.DataFrame:
@ -1569,8 +1572,10 @@ def build_heating_efficiencies(
years = np.arange(2000, 2022) years = np.arange(2000, 2022)
cols = idees.columns[idees.columns.str.contains("space efficiency") cols = idees.columns[
^ idees.columns.str.contains("water efficiency")] idees.columns.str.contains("space efficiency")
^ idees.columns.str.contains("water efficiency")
]
logger.info(cols) logger.info(cols)
@ -1595,6 +1600,7 @@ def build_heating_efficiencies(
return heating_efficiencies return heating_efficiencies
# %% # %%
if __name__ == "__main__": if __name__ == "__main__":
if "snakemake" not in globals(): if "snakemake" not in globals():

View File

@ -1806,14 +1806,14 @@ def build_heat_demand(n):
for sector, use in product(sectors, uses): for sector, use in product(sectors, uses):
name = f"{sector} {use}" name = f"{sector} {use}"
#efficiency for final energy to thermal energy service # efficiency for final energy to thermal energy service
eff = pop_weighted_energy_totals.index.str[:2].map( eff = pop_weighted_energy_totals.index.str[:2].map(
heating_efficiencies[f"total {sector} {use} efficiency"] heating_efficiencies[f"total {sector} {use} efficiency"]
) )
heat_demand[name] = ( heat_demand[name] = (
heat_demand_shape[name] / heat_demand_shape[name].sum() heat_demand_shape[name] / heat_demand_shape[name].sum()
).multiply(pop_weighted_energy_totals[f"total {sector} {use}"]*eff) * 1e6 ).multiply(pop_weighted_energy_totals[f"total {sector} {use}"] * eff) * 1e6
electric_heat_supply[name] = ( electric_heat_supply[name] = (
heat_demand_shape[name] / heat_demand_shape[name].sum() heat_demand_shape[name] / heat_demand_shape[name].sum()
).multiply(pop_weighted_energy_totals[f"electricity {sector} {use}"]) * 1e6 ).multiply(pop_weighted_energy_totals[f"electricity {sector} {use}"]) * 1e6
@ -4288,8 +4288,10 @@ if __name__ == "__main__":
pop_weighted_energy_totals.update(pop_weighted_heat_totals) pop_weighted_energy_totals.update(pop_weighted_heat_totals)
heating_efficiencies = ( heating_efficiencies = (
pd.read_csv(snakemake.input.heating_efficiencies, index_col=[0,1]) (pd.read_csv(snakemake.input.heating_efficiencies, index_col=[0, 1]))
).swaplevel().loc[int(snakemake.config["energy"]["energy_totals_year"])] .swaplevel()
.loc[int(snakemake.config["energy"]["energy_totals_year"])]
)
patch_electricity_network(n) patch_electricity_network(n)