Closed arnaud-leroy closed 7 years ago
In another model, I use the 2 carriers "heat" and "district_heat". This "large_Gas_Boiler" is providing "heat" instead of "district_heat":
large_Gas_Boiler:
carrier_in: gas
carrier_out:
district_heat: 0.9
constraints:
e_cap.max: .inf
costs:
monetary:
e_cap: 6100000.0
om_fixed: 109800.0
depreciation:
plant_life: 21.0
name: Gas Boiler
parent: conversion_plus
primary_carrier: district_heat
Thanks for this Arnaud. It was being caused by a in constraint generation:
carriers_out = model.get_carrier(y, 'out', all_carriers=True)
if c not in carriers_out:
return c_prod == 0
if c in carriers_out and model._locations.at[x, y] == 0:
return c_prod == 0
In the examples you give, with only one carrier out, model.get_carrier
returns a string e.g. district_heat
. So the carrier heat
would be flagged as being "in" district_heat
. If there were multiple output carriers, e.g. district_heat
and power
, model.get_carrier
would return a tuple (power
, district_heat
), and heat
would not be flagged as "in" this.
Conversion plus has quite a few quirks, I'll see if this can be resolved easily and then aim to fix it. If it causes issues downstream then it could take me a bit longer to sort.
Fixed in commit cc9536c
Hello,
I am testing conversion_plus technology after seeing some strange behavior while using it.
I created a model with a power demand, a power supply and a conversion plus technology consuming power to release another carrier.
In fact the name of the carrier_out has an influence on the result of the model:
In general, the power supply will provide the power for the demand.
But if the name of the carrier out contains 'power', like for example
carrier_out: power_out_conversion: 0.01
, orcarrier_out: test_power_out_conversion: 0.01
the conversion_plus technology ends up feeding the power demandIf I just change the name of the carrier_out to:
carrier_out: test_pow_er_out_conversion: 0.01
the supply is once again feeding the power demandI also changed the primary_carrier every time to match the carrier_out name.