add temperature correction

This commit is contained in:
lisazeyen 2024-03-04 08:34:08 +01:00
parent bed2ef43d5
commit 8efe43f35f
2 changed files with 39 additions and 10 deletions

View File

@ -1535,8 +1535,13 @@ def add_EVs(n, nodes, avail_profile, dsm_profile, p_set, electric_share,
options["EV_upper_degree_factor"],
)
temp_eff = 1 / (1+dd_EV)
profile = p_set/p_set.max()
efficiency = costs.at['Battery electric (passenger cars)', 'efficiency']
car_efficiency = costs.at['Battery electric (passenger cars)', 'efficiency']
efficiency = car_efficiency * temp_eff
n.madd(
"Link",
@ -1602,9 +1607,21 @@ def add_EVs(n, nodes, avail_profile, dsm_profile, p_set, electric_share,
def add_fuel_cell_cars(n, nodes, p_set, fuel_cell_share, temperature):
efficiency = options["transport_fuel_cell_efficiency"]
# correction factors for vehicle heating + cooling
dd_ICE = transport_degree_factor(
temperature,
options["transport_heating_deadband_lower"],
options["transport_heating_deadband_upper"],
options["ICE_lower_degree_factor"],
options["ICE_upper_degree_factor"],
)
temp_eff = 1 / (1+dd_ICE)
car_efficiency = options["transport_fuel_cell_efficiency"]
efficiency = car_efficiency * temp_eff
profile = p_set / p_set.max()
p_nom = fuel_cell_share * p_set / efficiency
p_nom = fuel_cell_share * p_set / car_efficiency
n.madd(
"Link",
@ -1624,10 +1641,22 @@ def add_fuel_cell_cars(n, nodes, p_set, fuel_cell_share, temperature):
def add_ice_cars(n, nodes, p_set, ice_share, temperature):
add_carrier_buses(n, "oil")
ice_efficiency = options["transport_internal_combustion_efficiency"]
p_nom = ice_share * p_set.max() / ice_efficiency
# correction factors for vehicle heating + cooling
dd_ICE = transport_degree_factor(
temperature,
options["transport_heating_deadband_lower"],
options["transport_heating_deadband_upper"],
options["ICE_lower_degree_factor"],
options["ICE_upper_degree_factor"],
)
temp_eff = 1 / (1+dd_ICE)
car_efficiency = options["transport_internal_combustion_efficiency"]
efficiency = car_efficiency * temp_eff
p_nom = ice_share * p_set.max() / car_efficiency
suffix = " land transport ICE"
p_nom.rename(lambda x: x + suffix, inplace=True)
@ -1639,7 +1668,7 @@ def add_ice_cars(n, nodes, p_set, ice_share, temperature):
bus1=nodes + " land transport",
bus2=["co2 atmosphere"],
carrier="land transport oil",
efficiency=ice_efficiency,
efficiency=efficiency,
efficiency2=costs.at["oil", "CO2 intensity"],
p_nom_extendable=False,
p_nom=p_nom,

View File

@ -921,19 +921,19 @@ def solve_network(n, config, solving, **kwargs):
return n
#%%
if __name__ == "__main__":
if "snakemake" not in globals():
from _helpers import mock_snakemake
snakemake = mock_snakemake(
"solve_sector_network",
configfiles="../config/test/config.perfect.yaml",
# configfiles="../config/test/config.perfect.yaml",
simpl="",
opts="",
clusters="37",
ll="v1.0",
sector_opts="CO2L0-1H-T-H-B-I-A-dist1",
sector_opts="730H-T-H-B-I-A-dist1",
planning_horizons="2030",
)
configure_logging(snakemake)