Technology documentation¶
Biogas imports¶
Technology ID: BIOGAS_IMPORTS
Input energy interface, with default energy:
- CO2_CONSUMPTION: co2
Output energy interface, with default energy:
- PRODUCTION: gas
Technology behaviors:
- MUST_RUN
- VOLUME_TARGET
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CO2_CONSUMPTION_YIELD | CO2 consumption yield w.r.t production | t/MW.h | Yield between the CO2 consumption and the production | |
PMAX | Pmax | MW | not MUST_RUN | Installed power capacity |
MIN_LOAD | Fleet min load | % | not MUST_RUN | Minimum production level, expressed as a percentage of the available capacity |
AVAILABILITY | Availability | % | not MUST_RUN | Available capacity, expressed as a percentage of the installed capacity |
MINIMUM_VOLUME | Minimal target volume | MW.h | VOLUME_TARGET and not MUST_RUN | Minimal export volume over the horizon |
STORAGE_CAPACITY | Storage capacity | MW.h | VOLUME_TARGET and not MUST_RUN | Storage capacity |
MIN_PROFILE | Minimal export profile | % | VOLUME_TARGET and not MUST_RUN | Minimal export profile |
STORAGE_AVAILABILITY | Storage availability | % | VOLUME_TARGET and not MUST_RUN | Storage availability, expressed as a percentage of the installed storage capacity |
IMPORTS | Imports | MW | MUST_RUN | Sets inelastic imports |
PRODUCTION_COST_CURVE | Production cost | Euro/MW.h HHV | Production cost (emission cost excluded) |
Model code:
# Asset parameters definition
cost = asset.getData(PRODUCTION_COST_CURVE)
# Modelling asset state ON
stateON = AssetState('ON')
addEnergyYield(stateON, asset.getData(CO2_CONSUMPTION_YIELD), asset.getParameter(ENERGY_DELIVERY), asset.getParameter(CO2_PICKUP), False, True)
if asset.isActiveBehavior(BH_MUST_RUN):
stateON.setEquality(asset.getParameter(ENERGY_DELIVERY), False, asset.getData(IMPORTS))
else:
addTargetInVolume(asset, stateON, interfaceName=ENERGY_DELIVERY, isInput=False, maxVolume=STORAGE_CAPACITY,
minVolume=MINIMUM_VOLUME, maxProfile=STORAGE_AVAILABILITY, minProfile=MIN_PROFILE)
addEnergyProduction(asset, stateON, energyDelivery=ENERGY_DELIVERY, productionCost=None, pmax=PMAX)
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, cost, asset=asset)
finalize(stateON)
Biomass boiler¶
Technology ID: BIOMASS_BOILER
Input energy interface, with default energy:
- FUEL_CONSUMPTION: biomass
Output energy interface, with default energy:
- CO2: co2
- PRODUCTION: heat
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
finalize(stateON)
Biomass boiler CCS¶
Technology ID: BIOMASS_BOILER_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: biomass
Output energy interface, with default energy:
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- PRODUCTION: heat
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
finalize(stateON)
Biomass CHP¶
Technology ID: BIOMASS_CHP
Input energy interface, with default energy:
- FUEL_CONSUMPTION: biomass
Output energy interface, with default energy:
- CO2: co2
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- MUST_RUN
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | (not CLUSTER) and FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_HEAT | Fuel yield w.r.t heat production | MW.h/MW.h HHV | FUEL | Yield between the heat production and the fuel consumption |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON, energyDelivery=ENERGY_DELIVERY, fuelYieldOrEfficiency=FUEL_YIELD)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Biomass CHP CCS¶
Technology ID: BIOMASS_CHP_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: biomass
Output energy interface, with default energy:
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- MUST_RUN
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | (not CLUSTER) and FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_HEAT | Fuel yield w.r.t heat production | MW.h/MW.h HHV | FUEL | Yield between the heat production and the fuel consumption |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON, energyDelivery=ENERGY_DELIVERY, fuelYieldOrEfficiency=FUEL_YIELD)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Biomass fleet¶
Technology ID: BIOMASS_FLEET
Input energy interface, with default energy:
- FUEL_CONSUMPTION: biomass
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- MUST_RUN
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
Biomass fleet CCS¶
Technology ID: BIOMASS_FLEET_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: biomass
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- MUST_RUN
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
Biomass imports¶
Technology ID: BIOMASS_IMPORTS
Input energy interface, with default energy:
- CO2_CONSUMPTION: co2
Output energy interface, with default energy:
- PRODUCTION: biomass
Technology behaviors:
- MUST_RUN
- VOLUME_TARGET
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CO2_CONSUMPTION_YIELD | CO2 consumption yield w.r.t production | t/MW.h | Yield between the CO2 consumption and the production | |
PMAX | Pmax | MW | not MUST_RUN | Installed power capacity |
MIN_LOAD | Fleet min load | % | not MUST_RUN | Minimum production level, expressed as a percentage of the available capacity |
AVAILABILITY | Availability | % | not MUST_RUN | Available capacity, expressed as a percentage of the installed capacity |
MINIMUM_VOLUME | Minimal target volume | MW.h | VOLUME_TARGET and not MUST_RUN | Minimal export volume over the horizon |
STORAGE_CAPACITY | Storage capacity | MW.h | VOLUME_TARGET and not MUST_RUN | Storage capacity |
MIN_PROFILE | Minimal export profile | % | VOLUME_TARGET and not MUST_RUN | Minimal export profile |
STORAGE_AVAILABILITY | Storage availability | % | VOLUME_TARGET and not MUST_RUN | Storage availability, expressed as a percentage of the installed storage capacity |
IMPORTS | Imports | MW | MUST_RUN | Sets inelastic imports |
PRODUCTION_COST_CURVE | Production cost | Euro/MW.h HHV | Production cost (emission cost excluded) |
Model code:
# Asset parameters definition
cost = asset.getData(PRODUCTION_COST_CURVE)
# Modelling asset state ON
stateON = AssetState('ON')
addEnergyYield(stateON, asset.getData(CO2_CONSUMPTION_YIELD), asset.getParameter(ENERGY_DELIVERY), asset.getParameter(CO2_PICKUP), False, True)
if asset.isActiveBehavior(BH_MUST_RUN):
stateON.setEquality(asset.getParameter(ENERGY_DELIVERY), False, asset.getData(IMPORTS))
else:
addTargetInVolume(asset, stateON, interfaceName=ENERGY_DELIVERY, isInput=False, maxVolume=STORAGE_CAPACITY,
minVolume=MINIMUM_VOLUME, maxProfile=STORAGE_AVAILABILITY, minProfile=MIN_PROFILE)
addEnergyProduction(asset, stateON, energyDelivery=ENERGY_DELIVERY, productionCost=None, pmax=PMAX)
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, cost, asset=asset)
finalize(stateON)
Biomass supply¶
Technology ID: BIOMASS_SUPPLY
Input energy interface, with default energy:
- CO2_CONSUMPTION: co2
Output energy interface, with default energy:
- PRODUCTION: biomass
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CO2_CONSUMPTION_YIELD | CO2 consumption yield w.r.t production | t/MW.h | Yield between the CO2 consumption and the production | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PRODUCTION_COST))
# Biomass supply consumes CO2 to ensure the carbon neutrality of Biomass consuming assets
if getAssetData(asset, CO2_CONSUMPTION_YIELD, mustExist=False, dataName=LABELS[CO2_CONSUMPTION_YIELD]) is not None:
addEnergyYield(stateON, asset.getData(CO2_CONSUMPTION_YIELD), asset.getParameter(ENERGY_DELIVERY), asset.getParameter(CO2_PICKUP), False, True)
MODEL.addState(stateON)
CAES fleet¶
Technology ID: CAES_FLEET
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- DISCHARGE_TIMES
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | (not DISCHARGE_TIMES) | Storage capacity |
DISCHARGE_TIME | Discharge time | h | DISCHARGE_TIMES | Discharge time |
STORAGE_AVAILABILITY | Storage availability | % | Storage availability, expressed as a percentage of the installed storage capacity | |
INPUT_EFFICIENCY | Input efficiency | % | Pumping efficiency | |
OUTPUT_EFFICIENCY | Output efficiency | % | Turbining efficiency | |
LOSS_RATE | Loss rate | %/h | Storage loss rate |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
addEnergyConsumption(asset, stateON)
addDischargeStock(asset, stateON, inputEfficiency=INPUT_EFFICIENCY, outputEfficiency=OUTPUT_EFFICIENCY, storageAvailability=STORAGE_AVAILABILITY, initialEqualsFinal=True)
addReserveProductionStorage(asset, stateON)
finalize(stateON)
CCGT fleet¶
Technology ID: CCGT_FLEET
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
CCGT fleet CCS¶
Technology ID: CCGT_FLEET_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
CO2 captured demand¶
Technology ID: CO2_CAPTURED_DEMAND
Input energy interface, with default energy:
- CONSUMPTION: co2_captured
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
DEMAND | Demand | t | Power demand |
Model code:
stateON = AssetState('ON')
stateON.setEquality(asset.getParameter(ENERGY_PICKUP), True, asset.getData(DEMAND))
MODEL.addState(stateON)
CO2 captured maritime transport¶
Technology ID: CO2_CAPTURED_MARITIME_TRANSPORT
Input energy interface, with default energy:
- CONSUMPTION: co2_captured
Output energy interface, with default energy:
- PRODUCTION: co2_captured
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- RETROFIT_H2
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/t/h | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/t/h | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | t/h | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | t/h | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
PMAX | Pmax | t/h | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
CAPEX | CAPEX | Euro/t/h/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/t/h/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAXMIN | Min Pmax | t/h | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | t/h | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
PRODUCTION_COST | Production cost | Euro/t | Production cost (emission cost excluded) | |
ENTRY_FEE | Fee for gas injection on the internal network | Euro/t | Entry fee | |
CONSUMPTION_COST | Consumption cost | Euro/t | Consumption cost | |
EXIT_FEE | Fee for gas withdrawal from the internal network | Euro/t | Exit fee | |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
LOSSES | Losses | % | Transmission losses | |
MIN_FLOW | Minimal flow | % | Minimal flow on a pipeline, expressed as a percentage of the installed capacity. | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
addGradients(asset, stateON, isInput=True)
# Computing overall cost to set on incoming flows (consumption cost + network exit fee)
overallConsumptionCost = getAssetData(asset, CONSUMPTION_COST, dataName=LABELS[CONSUMPTION_COST], mustExist=False)
exitFee = getAssetData(asset, "EXIT_FEE", mustExist=False)
if exitFee is not None:
overallConsumptionCost += exitFee
# Computing overall cost to set on outcoming flows (production cost + network entry fee)
overallProductionCost = getAssetData(asset, PRODUCTION_COST, dataName=LABELS[PRODUCTION_COST], mustExist=False)
entryFee = getAssetData(asset, "ENTRY_FEE", mustExist=False)
if entryFee is not None:
overallProductionCost += entryFee
addEnergyTransmission(asset, stateON, consumptionCost = overallConsumptionCost, productionCost = overallProductionCost)
# Add minimum flows constraints
minimumFlow = getAssetData(asset, MIN_FLOW, mustExist=False, resizePercentage=True)
if minimumFlow is not None and minimumFlow > 0:
addMinimumFlow(asset, stateON)
finalize(stateON)
CO2 captured pipeline¶
Technology ID: CO2_CAPTURED_PIPELINE
Input energy interface, with default energy:
- CONSUMPTION: co2_captured
Output energy interface, with default energy:
- PRODUCTION: co2_captured
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- RETROFIT_H2
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/t/h | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/t/h | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | t/h | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | t/h | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
PMAX | Pmax | t/h | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
CAPEX | CAPEX | Euro/t/h/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/t/h/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAXMIN | Min Pmax | t/h | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | t/h | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
PRODUCTION_COST | Production cost | Euro/t | Production cost (emission cost excluded) | |
ENTRY_FEE | Fee for gas injection on the internal network | Euro/t | Entry fee | |
CONSUMPTION_COST | Consumption cost | Euro/t | Consumption cost | |
EXIT_FEE | Fee for gas withdrawal from the internal network | Euro/t | Exit fee | |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
LOSSES | Losses | % | Transmission losses | |
MIN_FLOW | Minimal flow | % | Minimal flow on a pipeline, expressed as a percentage of the installed capacity. | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
addGradients(asset, stateON, isInput=True)
# Computing overall cost to set on incoming flows (consumption cost + network exit fee)
overallConsumptionCost = getAssetData(asset, CONSUMPTION_COST, dataName=LABELS[CONSUMPTION_COST], mustExist=False)
exitFee = getAssetData(asset, "EXIT_FEE", mustExist=False)
if exitFee is not None:
overallConsumptionCost += exitFee
# Computing overall cost to set on outcoming flows (production cost + network entry fee)
overallProductionCost = getAssetData(asset, PRODUCTION_COST, dataName=LABELS[PRODUCTION_COST], mustExist=False)
entryFee = getAssetData(asset, "ENTRY_FEE", mustExist=False)
if entryFee is not None:
overallProductionCost += entryFee
addEnergyTransmission(asset, stateON, consumptionCost = overallConsumptionCost, productionCost = overallProductionCost)
# Add minimum flows constraints
minimumFlow = getAssetData(asset, MIN_FLOW, mustExist=False, resizePercentage=True)
if minimumFlow is not None and minimumFlow > 0:
addMinimumFlow(asset, stateON)
finalize(stateON)
CO2 captured sequestration¶
Technology ID: CO2_CAPTURED_SEQUESTRATION
Input energy interface, with default energy:
- CONSUMPTION: co2_captured
Technology behaviors:
- OPTIM_PMAX
- OPTIM_PATHWAY
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CONSUMPTION_COST | Consumption cost | Euro/t | Consumption cost | |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/t/h | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/t/h | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | t/h | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | t/h | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
PMAX | Pmax | t/h | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
CAPEX | CAPEX | Euro/t/h/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/t/h/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAXMIN | Min Pmax | t/h | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | t/h | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
Model code:
stateON = AssetState('ON')
addEnergyConsumption(asset, stateON, availability=100)
finalize(stateON)
CO2 captured storage¶
Technology ID: CO2_CAPTURED_STORAGE
Input energy interface, with default energy:
- CONSUMPTION: co2_captured
Output energy interface, with default energy:
- PRODUCTION: co2_captured
Technology behaviors:
- OPTIM_PATHWAY
- USE_PMAX_IN
- OPTIM_PMAX
- DISCHARGE_TIMES
- GRADIENTS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/t/h | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/t/h | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | t/h | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | t/h | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/t/Year | Overnight capital expenditure for storage assets | |
PMAX | Pmax | t/h | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
CAPEX | CAPEX | Euro/t/h/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/t/h/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAXMIN | Min Pmax | t/h | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | t/h | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
CONSUMPTION_COST | Consumption cost | Euro/t | Consumption cost | |
EXIT_FEE | Fee for gas withdrawal from the internal network | Euro/t | Exit fee | |
PRODUCTION_COST | Production cost | Euro/t | Production cost (emission cost excluded) | |
ENTRY_FEE | Fee for gas injection on the internal network | Euro/t | Entry fee | |
STORAGE_CAPEX | CAPEX (Storage) | Euro/t/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | t | Storage capacity | |
PMAX_IN | Pmax In | t | USE_PMAX_IN and (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Input maximal power |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
STORAGE_AVAILABILITY | Storage availability | % | Storage availability, expressed as a percentage of the installed storage capacity | |
MIN_STORAGE_LEVEL | Minimal storage level | % | Minimum level for storage, expressed as a percentage of the installed storage capacity | |
DISCHARGE_TIME | Discharge time | h | Discharge time | |
AVAILABILITY_IN | Input availability | % | Injection capacity availability | |
MIN_INITIAL_STORAGE_LEVEL | Minimal initial storage level | % | Minimal initial storage level, expressed as percentage of the storage capacity | |
MAX_INITIAL_STORAGE_LEVEL | Maximal initial storage level | % | Maximal initial storage level, expressed as percentage of the storage capacity | |
PMAX_IN_OUT_RATIO | Withdrawal over Injection ratio (for capacity optimization) | % | OPTIM_PMAX or OPTIM_PATHWAY | Injection (to the storage) over Withdrawal (from the storage) ratio (for capacity optimization) |
EMPTY_STORAGE_RATIO_WITHDRAWAL | Empty storage ratio of available withdrawal capacity | % | Share of storage available withdrawal capacity when empty | |
FILLED_STORAGE_RATIO_INJECTION | Filled storage ratio of available injection capacity | % | Share of storage available injection capacity when filled | |
INJECTION_INFLEXION_STORAGE_LEVEL | Injection capacity inflexion storage level | % | Storage level at which available injection capacity starts to decrease | |
WITHDRAWAL_INFLEXION_STORAGE_LEVEL | Withdrawal capacity inflexion storage level | % | Storage level at which available withdrawal capacity reaches 100% | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
moduleStock = addDischargeStock(asset, stateON, minStorageLevel=MIN_STORAGE_LEVEL, initialStorageLevel=None, storageAvailability=STORAGE_AVAILABILITY, initialEqualsFinal=True)
variableStorageInjectionCapacity(MODEL, asset, stateON, moduleStock, pmaxInOutRatio = PMAX_IN_OUT_RATIO)
variableStorageWithdrawalCapacity(MODEL, asset, stateON, moduleStock)
addInitialStorageLevelBounds(asset, moduleStock, initialStorageLevel=None, minInitialStorageLevel=MIN_INITIAL_STORAGE_LEVEL, maxInitialStorageLevel= MAX_INITIAL_STORAGE_LEVEL)
# Computing overall cost to set on incoming flows (consumption cost + network exit fee)
overallConsumptionCost = getAssetData(asset, CONSUMPTION_COST, dataName=LABELS[CONSUMPTION_COST], mustExist=False)
exitFee = getAssetData(asset, "EXIT_FEE", mustExist=False)
if exitFee is not None:
overallConsumptionCost += exitFee
# Computing overall cost to set on outcoming flows (production cost + network entry fee)
overallProductionCost = getAssetData(asset, PRODUCTION_COST, dataName=LABELS[PRODUCTION_COST], mustExist=False)
entryFee = getAssetData(asset, "ENTRY_FEE", mustExist=False)
if entryFee is not None:
overallProductionCost += entryFee
addEnergyConsumption(asset, stateON, availability = "AVAILABILITY_IN", pmaxInOutRatio = PMAX_IN_OUT_RATIO, consumptionCost = overallConsumptionCost)
addEnergyProduction(asset, stateON, productionCost = overallProductionCost)
addGradients(asset, stateON)
finalize(stateON)
CO2 emissions¶
Technology ID: CO2_EMISSIONS
Input energy interface, with default energy:
- CONSUMPTION: co2
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRICE | Price | Euro/t | Price |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_PICKUP), True, asset.getData(PRICE))
MODEL.addState(stateON)
CO2 emissions limit¶
Technology ID: CO2_EMISSIONS_LIMIT
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SET_CONSTRAINTS | Set constraints | Boolean | Boolean that activates the associated model object | |
CO2_EMISSIONS_LIMIT_NODES | Nodes of CO2 emissions limit | Matrix mapping nodes to CO2 emission limited regions | ||
CO2_EMISSIONS_LIMIT_ZONES | Quotas of CO2 emissions limit | CO2 quotas of CO2 limited regions |
Model code:
if bool(asset.getData("SET_CONSTRAINTS").getDataValue()) == True:
setCO2EmissionLimit(asset, Crystal.getPortfolio())
Nodes of CO2 emissions limit¶
Technology ID: CO2_EMISSIONS_LIMIT_NODES
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
NODE | Delivery points | |||
EMISSION_ZONE | Aggregated region | CO2 limited aggregated region | ||
value | value |
Quotas of CO2 emissions limit¶
Technology ID: CO2_EMISSIONS_LIMIT_ZONES
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
EMISSION_ZONE | Aggregated region | CO2 limited aggregated region |
CO2 supply¶
Technology ID: CO2_SUPPLY
Output energy interface, with default energy:
- PRODUCTION: co2
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PRODUCTION_COST))
# Biomass supply consumes CO2 to ensure the carbon neutrality of Biomass consuming assets
if getAssetData(asset, CO2_CONSUMPTION_YIELD, mustExist=False, dataName=LABELS[CO2_CONSUMPTION_YIELD]) is not None:
addEnergyYield(stateON, asset.getData(CO2_CONSUMPTION_YIELD), asset.getParameter(ENERGY_DELIVERY), asset.getParameter(CO2_PICKUP), False, True)
MODEL.addState(stateON)
Coal CHP¶
Technology ID: COAL_CHP
Input energy interface, with default energy:
- FUEL_CONSUMPTION: coal
Output energy interface, with default energy:
- CO2: co2
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- MUST_RUN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | (not CLUSTER) and FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_HEAT | Fuel yield w.r.t heat production | MW.h/MW.h HHV | FUEL | Yield between the heat production and the fuel consumption |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON, energyDelivery=ENERGY_DELIVERY, fuelYieldOrEfficiency=FUEL_YIELD)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Coal CHP CCS¶
Technology ID: COAL_CHP_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: coal
Output energy interface, with default energy:
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- MUST_RUN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | (not CLUSTER) and FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_HEAT | Fuel yield w.r.t heat production | MW.h/MW.h HHV | FUEL | Yield between the heat production and the fuel consumption |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON, energyDelivery=ENERGY_DELIVERY, fuelYieldOrEfficiency=FUEL_YIELD)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Coal fleet¶
Technology ID: COAL_FLEET
Input energy interface, with default energy:
- FUEL_CONSUMPTION: coal
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
Coal fleet CCS¶
Technology ID: COAL_FLEET_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: coal
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
Coal supply¶
Technology ID: COAL_SUPPLY
Output energy interface, with default energy:
- PRODUCTION: coal
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PRODUCTION_COST))
# Biomass supply consumes CO2 to ensure the carbon neutrality of Biomass consuming assets
if getAssetData(asset, CO2_CONSUMPTION_YIELD, mustExist=False, dataName=LABELS[CO2_CONSUMPTION_YIELD]) is not None:
addEnergyYield(stateON, asset.getData(CO2_CONSUMPTION_YIELD), asset.getParameter(ENERGY_DELIVERY), asset.getParameter(CO2_PICKUP), False, True)
MODEL.addState(stateON)
CSP fleet¶
Technology ID: CSP_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- DISCHARGE_TIMES
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
PRORATA_SUPPLY | Availability solar | % | Availability solar | |
PRORATA_SUPPLY_COEF | Ratio PmaxSolar/PmaxTurbine | Ratio PmaxSolar/PmaxTurbine | ||
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | (not DISCHARGE_TIMES) | Storage capacity |
DISCHARGE_TIME | Discharge time | h | DISCHARGE_TIMES | Discharge time |
STORAGE_AVAILABILITY | Storage availability | % | Storage availability, expressed as a percentage of the installed storage capacity | |
LOSS_RATE | Loss rate | %/h | Storage loss rate | |
OUTPUT_EFFICIENCY | Output efficiency | MW/MW.h | Turbining efficiency |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
addDischargeStock(asset, stateON, energyPickup=None, outputEfficiency=OUTPUT_EFFICIENCY, storageCost=0, initialStorageLevel=0, storageAvailability=STORAGE_AVAILABILITY, initialEqualsFinal=True)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Decentralized thermal fleet¶
Technology ID: DECENTRALIZED_THERMAL_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- CLUSTER
- RESERVE
- UNIT
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
CO2_CONTENT | CO2 emissions | t/MW.h | Yield between the CO2 emissions and the production | |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | CLUSTER or UNIT | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addCo2Production(asset, stateON)
addEnergyProduction(asset, stateON, minLoad=MIN_LOAD)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
Demand¶
Technology ID: DEMAND
Input energy interface, with default energy:
- CONSUMPTION: electricity
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
DEMAND | Demand | MW | Power demand |
Model code:
stateON = AssetState('ON')
stateON.setEquality(asset.getParameter(ENERGY_PICKUP), True, asset.getData(DEMAND))
MODEL.addState(stateON)
Demand-response¶
Technology ID: DEMAND-RESPONSE
Input energy interface, with default energy:
- CONSUMPTION: electricity
Technology behaviors:
- MUST_RUN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
DEMAND_CYCLE_DURATION | Demand cycle duration | h | not MUST_RUN | Demand cycle duration, to compute a regular flexible demand from the realistic demand |
DEMAND_FIRST_HOUR | Demand first hour | h | not MUST_RUN | Demand cycle duration, to compute a regular flexible demand from the realistic demand |
STORAGE_COST | Storage cost | Euro/MW.h/h | not MUST_RUN | Cost associated with storage. Non-zero storage cost prevents equaly-optimal |
DEMAND | Demand | MW | Power demand | |
PMAX_IN | Pmax In | MW | not MUST_RUN | Input maximal power |
Model code:
stateON = AssetState('ON')
setDemandResponseModel(stateON, asset)
finalize(stateON)
Derived gasses fleet¶
Technology ID: DERIVED_GASSES_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
CO2_CONTENT | CO2 emissions | t/MW.h | Yield between the CO2 emissions and the production |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
addCo2Production(asset, stateON)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Direct air capture¶
Technology ID: DIRECT_AIR_CAPTURE
Input energy interface, with default energy:
- CO2_CONSUMPTION: co2
- CONSUMPTION: electricity
Output energy interface, with default energy:
- PRODUCTION: co2_captured
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/t/h | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/t/h | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | t/h | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | t/h | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
PMAX | Pmax | t/h | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
CAPEX | CAPEX | Euro/t/h/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/t/h/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAXMIN | Min Pmax | t/h | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | t/h | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/t | Production cost (emission cost excluded) | |
YIELD | Yield w.r.t production | t/MW | Yield between the production and the consumption | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
yieldRatio = getAssetData(asset, YIELD)
consumption = asset.getParameter(ENERGY_PICKUP)
co2Consumption = asset.getParameter(CO2_PICKUP)
production = asset.getParameter(ENERGY_DELIVERY)
addGradients(asset,stateON)
addEnergyYield(stateON, yieldRatio, consumption, production, isInputA=True, isInputB=False)
addEnergyYield(stateON, 1, production, co2Consumption, isInputA=False, isInputB=True)
finalize(stateON)
Domestic heat pump¶
Technology ID: DOMESTIC_HEAT_PUMP
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
- CONSUMPTION: electricity
Output energy interface, with default energy:
- CO2: co2
Technology behaviors:
- GAS_BACKUP_HEATER
- MUST_RUN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
BIVALENT_TEMP | Bivalent temperature | The temperature below which the back-up heater has to supplement the heat pump is called the bivalent temperature | ||
TEMPERATURE | Heat source temperature | Heat source temperature | ||
COP | Coefficient of performance | x:temperature; y:efficiency | Coefficient of performance | |
BACKUP_HEATER_YIELD | Backup heater efficiency | Backup heater efficiency | ||
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | GAS_BACKUP_HEATER | Yield between the fuel consumption and the CO2 emissions |
DISCHARGE_TIME | Discharge time | h | not MUST_RUN | Discharge time |
STORAGE_COST | Storage cost | Euro/MW.h/h | not MUST_RUN | Cost associated with storage. Non-zero storage cost prevents equaly-optimal |
LOSS_RATE | Loss rate | %/h | not MUST_RUN | Storage loss rate |
HEATING_DEMAND | Heating demand | MW.h | Heating demand | |
BIVALENT_TEMP_PMAX | HP capacity | MW | HP capacity above bivalent temperature |
Model code:
stateON = AssetState('ON')
heatPumpCapacity = buildHPcapacity(asset, stateON)
createHeatPumpConstraints(asset, stateON, heatPumpCapacity)
finalize(stateON)
DSR¶
Technology ID: DSR
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
Technology behaviors:
- RESERVE
- SYNC_RESERVE_UP
- SYNC_RESERVE_DOWN
- MFRR_UP
- MFRR_DOWN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PMAX | Pmax | MW | RESERVE | Installed power capacity |
SYNC_RESERVE_PROCUREMENT_COST | Synchronized reserve procurement cost | Euro/MW | RESERVE and (SYNC_RESERVE_UP or SYNC_RESERVE_DOWN) | Synchronized reserve procurement cost, for up and downward reserve |
MFRR_PROCUREMENT_COST | mFRR reserve procurement cost | Euro/MW | RESERVE and (MFRR_UP or MFRR_DOWN) | mFRR reserve procurement cost for up and downward reserve |
Model code:
stateON = AssetState('ON')
addDSRReserveProduction(asset, stateON)
finalize(stateON)
Electric boiler¶
Technology ID: ELECTRIC_BOILER
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- PRODUCTION: heat
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
YIELD | Yield w.r.t production | MW.h/MW.h HHV | Yield between the production and the consumption | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity |
Model code:
stateON = AssetState('ON')
yieldRatio = getAssetData(asset, YIELD)
consumption = asset.getParameter(ENERGY_PICKUP)
production = asset.getParameter(ENERGY_DELIVERY)
addEnergyYield(stateON, yieldRatio, consumption, production, isInputA=True, isInputB=False)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
finalize(stateON)
Electric vehicles¶
Technology ID: ELECTRIC_VEHICLES
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- USE_ENERGY_PRODUCTION
- MUST_RUN
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
ARRIVALS | Percentage of EV arriving at terminal | % | Percentage of vehicles arriving at terminal | |
EV_RECHARGE | Average journey discharge | kWh | Average journey discharge | |
EV_PMAX_IN | Average charging capacity | kW | Average charging capacity per vehicle | |
INPUT_EFFICIENCY | Input efficiency | % | Pumping efficiency | |
INITIAL_CONNECTED_EV | Percentage of connected EV at t=0 | % | not MUST_RUN | Percentage of connected EV at t=0 |
DEPARTURES | Percentage of EV leaving from terminal | % | not MUST_RUN | Percentage of vehicles leaving from terminal |
EV_STORAGE_CAPACITY | EV storage capacity | kWh | not MUST_RUN | EV storage capacity |
STORAGE_COST | Storage cost | Euro/MWh/h | not MUST_RUN | Cost associated with storage. Non-zero storage cost prevents equaly-optimal |
EV_PMAX_OUT | Average V2G discharging capacity | kW | USE_ENERGY_PRODUCTION and not MUST_RUN | Average Vehicle-to-grid discharging capacity |
OUTPUT_EFFICIENCY | Output efficiency | % | USE_ENERGY_PRODUCTION and not MUST_RUN | Turbining efficiency |
PRODUCTION_COST | Production cost | USE_ENERGY_PRODUCTION and not MUST_RUN | Production cost (emission cost excluded) | |
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE and not MUST_RUN | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE and not MUST_RUN | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE and not MUST_RUN | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE and not MUST_RUN | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE and not MUST_RUN | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE and not MUST_RUN | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE and not MUST_RUN | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE and not MUST_RUN | Operating cost of downward mFRR |
TOTAL_EV | Total number of EV | EV | Total number of vehicles |
Model code:
stateON = AssetState('ON')
setElectricVehiclesModel(stateON, asset)
finalize(stateON)
Electrolysis¶
Technology ID: ELECTROLYSIS
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- PRODUCTION: hydrogen
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
YIELD | Yield w.r.t production | MW.h/MW.h HHV | Yield between the production and the consumption |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
yieldRatio = getAssetData(asset, "YIELD")
consumption = asset.getParameter(ENERGY_PICKUP)
production = asset.getParameter(ENERGY_DELIVERY)
addEnergyYield(stateON, yieldRatio, consumption, production, isInputA=True, isInputB=False)
finalize(stateON)
Export contract¶
Technology ID: EXPORT_CONTRACT
Input energy interface, with default energy:
- CONSUMPTION: electricity
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
EXPORTS | Exports | MW | Exports |
Model code:
stateON = AssetState('ON')
stateON.setEquality(asset.getParameter(ENERGY_PICKUP), True, asset.getData(EXPORTS))
MODEL.addState(stateON)
Flow-based domain¶
Technology ID: FLOW_BASED_DOMAIN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
FLOW_BASED_DOMAIN | Flow-based domain | Defines critical network elements data (PTDF and RAM) to allocate capacities on flow-based interconnections | ||
CNEC | CNEC | Critical Network Element Contingency | ||
FB_PARAMETER | Flow-based parameter | Flow-based parameter : n | ||
NODE_FB | Flow-based node | Node in flow-based coupling method | ||
NODE_INPUT | Input node | |||
NODE_OUTPUT | Output node |
Fuel cell CHP¶
Technology ID: FUEL_CELL_CHP
Input energy interface, with default energy:
- FUEL_CONSUMPTION: hydrogen
Output energy interface, with default energy:
- CO2: co2
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- MUST_RUN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | (not CLUSTER) and FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_HEAT | Fuel yield w.r.t heat production | MW.h/MW.h HHV | FUEL | Yield between the heat production and the fuel consumption |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON, energyDelivery=ENERGY_DELIVERY, fuelYieldOrEfficiency=FUEL_YIELD)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Gas boiler¶
Technology ID: GAS_BOILER
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
Output energy interface, with default energy:
- CO2: co2
- PRODUCTION: heat
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
finalize(stateON)
Gas boiler CCS¶
Technology ID: GAS_BOILER_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
Output energy interface, with default energy:
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- PRODUCTION: heat
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
finalize(stateON)
Gas CHP¶
Technology ID: GAS_CHP
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
Output energy interface, with default energy:
- CO2: co2
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- MUST_RUN
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | (not CLUSTER) and FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_HEAT | Fuel yield w.r.t heat production | MW.h/MW.h HHV | FUEL | Yield between the heat production and the fuel consumption |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON, energyDelivery=ENERGY_DELIVERY, fuelYieldOrEfficiency=FUEL_YIELD)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Gas CHP CCS¶
Technology ID: GAS_CHP_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
Output energy interface, with default energy:
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- MUST_RUN
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | (not CLUSTER) and FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_HEAT | Fuel yield w.r.t heat production | MW.h/MW.h HHV | FUEL | Yield between the heat production and the fuel consumption |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON, energyDelivery=ENERGY_DELIVERY, fuelYieldOrEfficiency=FUEL_YIELD)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Gas consumption¶
Technology ID: GAS_CONSUMPTION
Input energy interface, with default energy:
- CONSUMPTION: gas
Output energy interface, with default energy:
- CO2: co2
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CO2_CONTENT | CO2 emissions | t/MW.h | Yield between the CO2 emissions and the production | |
COST | Consumption cost | t/MW.h | Consumption cost | |
DEMAND | Demand | MW | Power demand |
Model code:
stateON = AssetState('ON')
stateON.setEquality(asset.getParameter(ENERGY_PICKUP), True, asset.getData(DEMAND))
# If Equipped with CCS, co2Content is shared between CO2_DELIVERY and CO2_CAPTURED_DELIVERY interfaces
co2Content = asset.getData(CO2_CONTENT)
ratioCC = getAssetData(asset, RATIO_CC, mustExist=False, dataName=LABELS[RATIO_CC])
if ratioCC is not None:
addEnergyYield(stateON, co2Content * (ratioCC/100), asset.getParameter(ENERGY_PICKUP), asset.getParameter(CO2_CAPTURED_DELIVERY), True, False)
co2Content = co2Content * (1 - ratioCC/100)
addEnergyYield(stateON, co2Content, asset.getParameter(ENERGY_PICKUP), asset.getParameter(CO2_DELIVERY), True, False)
addEnergyCost(stateON, asset.getParameter(ENERGY_PICKUP), True, asset.getData(COST))
finalize(stateON)
Gas consumption CCS¶
Technology ID: GAS_CONSUMPTION_CCS
Input energy interface, with default energy:
- CONSUMPTION: gas
Output energy interface, with default energy:
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CO2_CONTENT | CO2 emissions | t/MW.h | Yield between the CO2 emissions and the production | |
COST | Consumption cost | t/MW.h | Consumption cost | |
DEMAND | Demand | MW | Power demand |
Model code:
stateON = AssetState('ON')
stateON.setEquality(asset.getParameter(ENERGY_PICKUP), True, asset.getData(DEMAND))
# If Equipped with CCS, co2Content is shared between CO2_DELIVERY and CO2_CAPTURED_DELIVERY interfaces
co2Content = asset.getData(CO2_CONTENT)
ratioCC = getAssetData(asset, RATIO_CC, mustExist=False, dataName=LABELS[RATIO_CC])
if ratioCC is not None:
addEnergyYield(stateON, co2Content * (ratioCC/100), asset.getParameter(ENERGY_PICKUP), asset.getParameter(CO2_CAPTURED_DELIVERY), True, False)
co2Content = co2Content * (1 - ratioCC/100)
addEnergyYield(stateON, co2Content, asset.getParameter(ENERGY_PICKUP), asset.getParameter(CO2_DELIVERY), True, False)
addEnergyCost(stateON, asset.getParameter(ENERGY_PICKUP), True, asset.getData(COST))
finalize(stateON)
Gas exports¶
Technology ID: GAS_EXPORTS
Input energy interface, with default energy:
- CONSUMPTION: gas
Technology behaviors:
- MUST_RUN
- VOLUME_TARGET
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PMAX | Pmax | MW | not MUST_RUN | Installed power capacity |
MIN_LOAD | Fleet min load | % | not MUST_RUN | Minimum production level, expressed as a percentage of the available capacity |
AVAILABILITY | Availability | % | not MUST_RUN | Available capacity, expressed as a percentage of the installed capacity |
MINIMUM_VOLUME | Minimal target volume | MW.h | VOLUME_TARGET and not MUST_RUN | Minimal export volume over the horizon |
STORAGE_CAPACITY | Storage capacity | MW.h | VOLUME_TARGET and not MUST_RUN | Storage capacity |
MIN_PROFILE | Minimal export profile | % | VOLUME_TARGET and not MUST_RUN | Minimal export profile |
STORAGE_AVAILABILITY | Storage availability | % | VOLUME_TARGET and not MUST_RUN | Storage availability, expressed as a percentage of the installed storage capacity |
EXPORTS | Exports | MW | MUST_RUN | Exports |
PRICE | Price | Euro | Price |
Model code:
# Asset parameters definition
# Price can't be of type curve because of -1 multiplication
consumptionCost = - asset.getData(PRICE)
# Modelling asset state ON
stateON = AssetState('ON')
if asset.isActiveBehavior(BH_MUST_RUN):
stateON.setEquality(asset.getParameter(ENERGY_PICKUP), True, asset.getData(EXPORTS))
else:
addTargetInVolume(asset, stateON, interfaceName=ENERGY_PICKUP, isInput=True, maxVolume=STORAGE_CAPACITY, minVolume="MINIMUM_VOLUME" , maxProfile=STORAGE_AVAILABILITY, minProfile="MIN_PROFILE")
addEnergyConsumption(asset, stateON, energyPickup=ENERGY_PICKUP, consumptionCost=None, pmaxIn=PMAX)
addEnergyCost(stateON, asset.getParameter(ENERGY_PICKUP), True, consumptionCost, asset=asset)
finalize(stateON)
Gas imports¶
Technology ID: GAS_IMPORTS
Output energy interface, with default energy:
- PRODUCTION: gas
Technology behaviors:
- MUST_RUN
- VOLUME_TARGET
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PMAX | Pmax | MW | not MUST_RUN | Installed power capacity |
MIN_LOAD | Fleet min load | % | not MUST_RUN | Minimum production level, expressed as a percentage of the available capacity |
AVAILABILITY | Availability | % | not MUST_RUN | Available capacity, expressed as a percentage of the installed capacity |
MINIMUM_VOLUME | Minimal target volume | MW.h | VOLUME_TARGET and not MUST_RUN | Minimal export volume over the horizon |
STORAGE_CAPACITY | Storage capacity | MW.h | VOLUME_TARGET and not MUST_RUN | Storage capacity |
MIN_PROFILE | Minimal export profile | % | VOLUME_TARGET and not MUST_RUN | Minimal export profile |
STORAGE_AVAILABILITY | Storage availability | % | VOLUME_TARGET and not MUST_RUN | Storage availability, expressed as a percentage of the installed storage capacity |
IMPORTS | Imports | MW | MUST_RUN | Sets inelastic imports |
PRODUCTION_COST_CURVE | Production cost | Euro/MW.h HHV | Production cost (emission cost excluded) |
Model code:
# Asset parameters definition
cost = asset.getData(PRODUCTION_COST_CURVE)
# Modelling asset state ON
stateON = AssetState('ON')
if asset.isActiveBehavior(BH_MUST_RUN):
stateON.setEquality(asset.getParameter(ENERGY_DELIVERY), False, asset.getData(IMPORTS))
else:
addTargetInVolume(asset, stateON, interfaceName=ENERGY_DELIVERY, isInput=False, maxVolume=STORAGE_CAPACITY, minVolume="MINIMUM_VOLUME" , maxProfile=STORAGE_AVAILABILITY, minProfile="MIN_PROFILE")
addEnergyProduction(asset, stateON, energyDelivery=ENERGY_DELIVERY, productionCost=None, pmax=PMAX)
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, cost, asset=asset)
finalize(stateON)
Gas production¶
Technology ID: GAS_PRODUCTION
Output energy interface, with default energy:
- PRODUCTION: gas
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- GRADIENTS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST_CURVE | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
MIN_LOAD | Fleet min load | % of Pmax | not MUST_RUN | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
addGradients(asset, stateON)
addEnergyProduction(asset, stateON, productionCost=None)
cost = asset.getData(PRODUCTION_COST_CURVE)
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, cost, asset=asset)
finalize(stateON)
Gas storage¶
Technology ID: GAS_STORAGE
Input energy interface, with default energy:
- CONSUMPTION: gas
Output energy interface, with default energy:
- PRODUCTION: gas
Technology behaviors:
- OPTIM_PATHWAY
- USE_PMAX_IN
- OPTIM_PMAX
- DISCHARGE_TIMES
- GRADIENTS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
EXIT_FEE | Fee for gas withdrawal from the internal network | Euro/MW.h | Exit fee | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
ENTRY_FEE | Fee for gas injection on the internal network | Euro/MW.h | Entry fee | |
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | Storage capacity | |
STORAGE_AVAILABILITY | Storage availability | % | Storage availability, expressed as a percentage of the installed storage capacity | |
MIN_STORAGE_LEVEL | Minimal storage level | % | Minimum level for storage, expressed as a percentage of the installed storage capacity | |
DISCHARGE_TIME | Discharge time | h | Discharge time | |
PMAX_IN | Pmax In | MW | USE_PMAX_IN and (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Input maximal power |
AVAILABILITY_IN | Input availability | % | Injection capacity availability | |
MIN_INITIAL_STORAGE_LEVEL | Minimal initial storage level | % | Minimal initial storage level, expressed as percentage of the storage capacity | |
MAX_INITIAL_STORAGE_LEVEL | Maximal initial storage level | % | Maximal initial storage level, expressed as percentage of the storage capacity | |
PMAX_IN_OUT_RATIO | Withdrawal over Injection ratio (for capacity optimization) | % | OPTIM_PMAX or OPTIM_PATHWAY | Injection (to the storage) over Withdrawal (from the storage) ratio (for capacity optimization) |
EMPTY_STORAGE_RATIO_WITHDRAWAL | Empty storage ratio of available withdrawal capacity | % | Share of storage available withdrawal capacity when empty | |
FILLED_STORAGE_RATIO_INJECTION | Filled storage ratio of available injection capacity | % | Share of storage available injection capacity when filled | |
INJECTION_INFLEXION_STORAGE_LEVEL | Injection capacity inflexion storage level | % | Storage level at which available injection capacity starts to decrease | |
WITHDRAWAL_INFLEXION_STORAGE_LEVEL | Withdrawal capacity inflexion storage level | % | Storage level at which available withdrawal capacity reaches 100% | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
moduleStock = addDischargeStock(asset, stateON, minStorageLevel=MIN_STORAGE_LEVEL, initialStorageLevel=None, storageAvailability=STORAGE_AVAILABILITY, initialEqualsFinal=True)
variableStorageInjectionCapacity(MODEL, asset, stateON, moduleStock, pmaxInOutRatio = PMAX_IN_OUT_RATIO)
variableStorageWithdrawalCapacity(MODEL, asset, stateON, moduleStock)
addInitialStorageLevelBounds(asset, moduleStock, initialStorageLevel=None, minInitialStorageLevel=MIN_INITIAL_STORAGE_LEVEL, maxInitialStorageLevel= MAX_INITIAL_STORAGE_LEVEL)
# Computing overall cost to set on incoming flows (consumption cost + network exit fee)
overallConsumptionCost = getAssetData(asset, CONSUMPTION_COST, dataName=LABELS[CONSUMPTION_COST], mustExist=False)
exitFee = getAssetData(asset, "EXIT_FEE", mustExist=False)
if exitFee is not None:
overallConsumptionCost += exitFee
# Computing overall cost to set on outcoming flows (production cost + network entry fee)
overallProductionCost = getAssetData(asset, PRODUCTION_COST, dataName=LABELS[PRODUCTION_COST], mustExist=False)
entryFee = getAssetData(asset, "ENTRY_FEE", mustExist=False)
if entryFee is not None:
overallProductionCost += entryFee
addEnergyConsumption(asset, stateON, availability = "AVAILABILITY_IN", pmaxInOutRatio = PMAX_IN_OUT_RATIO, consumptionCost = overallConsumptionCost)
addEnergyProduction(asset, stateON, productionCost = overallProductionCost)
addGradients(asset, stateON)
finalize(stateON)
Gas supply¶
Technology ID: GAS_SUPPLY
Output energy interface, with default energy:
- PRODUCTION: gas
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PRODUCTION_COST))
# Biomass supply consumes CO2 to ensure the carbon neutrality of Biomass consuming assets
if getAssetData(asset, CO2_CONSUMPTION_YIELD, mustExist=False, dataName=LABELS[CO2_CONSUMPTION_YIELD]) is not None:
addEnergyYield(stateON, asset.getData(CO2_CONSUMPTION_YIELD), asset.getParameter(ENERGY_DELIVERY), asset.getParameter(CO2_PICKUP), False, True)
MODEL.addState(stateON)
Generic storage¶
Technology ID: GENERIC_STORAGE
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- DISCHARGE_TIMES
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | (not DISCHARGE_TIMES) | Storage capacity |
DISCHARGE_TIME | Discharge time | h | DISCHARGE_TIMES | Discharge time |
STORAGE_AVAILABILITY | Storage availability | % | Storage availability, expressed as a percentage of the installed storage capacity | |
INPUT_EFFICIENCY | Input efficiency | % | Pumping efficiency | |
OUTPUT_EFFICIENCY | Output efficiency | % | Turbining efficiency | |
LOSS_RATE | Loss rate | %/h | Storage loss rate |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
addEnergyConsumption(asset, stateON)
addDischargeStock(asset, stateON, inputEfficiency=INPUT_EFFICIENCY, outputEfficiency=OUTPUT_EFFICIENCY, storageAvailability=STORAGE_AVAILABILITY, initialEqualsFinal=True)
addReserveProductionStorage(asset, stateON)
finalize(stateON)
Geothermal fleet¶
Technology ID: GEOTHERMAL_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
CO2_CONTENT | CO2 emissions | t/MW.h | Yield between the CO2 emissions and the production |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
addCo2Production(asset, stateON)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Geothermal heat¶
Technology ID: GEOTHERMAL_HEAT
Output energy interface, with default energy:
- PRODUCTION: heat
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
finalize(stateON)
H2_PIPELINE_RETROFIT¶
Technology ID: H2_PIPELINE_RETROFIT
Input energy interface, with default energy:
- CONSUMPTION: hydrogen
Output energy interface, with default energy:
- PRODUCTION: hydrogen
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- RETROFIT_H2
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
ENTRY_FEE | Fee for gas injection on the internal network | Euro/MW.h | Entry fee | |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
EXIT_FEE | Fee for gas withdrawal from the internal network | Euro/MW.h | Exit fee | |
LOSSES | Losses | % | Transmission losses | |
MIN_FLOW | Minimal flow | % | Minimal flow on a pipeline, expressed as a percentage of the installed capacity. | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
addGradients(asset, stateON, isInput=True)
# Computing overall cost to set on incoming flows (consumption cost + network exit fee)
overallConsumptionCost = getAssetData(asset, CONSUMPTION_COST, dataName=LABELS[CONSUMPTION_COST], mustExist=False)
exitFee = getAssetData(asset, "EXIT_FEE", mustExist=False)
if exitFee is not None:
overallConsumptionCost += exitFee
# Computing overall cost to set on outcoming flows (production cost + network entry fee)
overallProductionCost = getAssetData(asset, PRODUCTION_COST, dataName=LABELS[PRODUCTION_COST], mustExist=False)
entryFee = getAssetData(asset, "ENTRY_FEE", mustExist=False)
if entryFee is not None:
overallProductionCost += entryFee
addEnergyTransmission(asset, stateON, consumptionCost = overallConsumptionCost, productionCost = overallProductionCost)
# Add minimum flows constraints
minimumFlow = getAssetData(asset, MIN_FLOW, mustExist=False, resizePercentage=True)
if minimumFlow is not None and minimumFlow > 0:
addMinimumFlow(asset, stateON)
finalize(stateON)
Hydrogen pipeline retrofitted equality¶
Technology ID: H2_PIPELINE_RETROFIT_EQUALITY
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SET_CONSTRAINTS | Set constraints | Boolean | Boolean that activates the associated model object |
Model code:
if bool(asset.getData("SET_CONSTRAINTS").getDataValue()) == True:
setTransmissionEquality(Crystal.getPortfolio(), F_H2_PIPELINE_RETROFIT)
Heat demand¶
Technology ID: HEAT_DEMAND
Input energy interface, with default energy:
- CONSUMPTION: heat
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
DEMAND | Demand | MW | Power demand |
Model code:
stateON = AssetState('ON')
stateON.setEquality(asset.getParameter(ENERGY_PICKUP), True, asset.getData(DEMAND))
MODEL.addState(stateON)
Hydrogen boiler¶
Technology ID: HYDROGEN_BOILER
Input energy interface, with default energy:
- CONSUMPTION: hydrogen
Output energy interface, with default energy:
- PRODUCTION: heat
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
YIELD | Yield w.r.t production | MW.h/MW.h HHV | Yield between the production and the consumption | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity |
Model code:
stateON = AssetState('ON')
yieldRatio = getAssetData(asset, YIELD)
consumption = asset.getParameter(ENERGY_PICKUP)
production = asset.getParameter(ENERGY_DELIVERY)
addEnergyYield(stateON, yieldRatio, consumption, production, isInputA=True, isInputB=False)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
finalize(stateON)
Hydrogen CCGT¶
Technology ID: HYDROGEN_CCGT
Input energy interface, with default energy:
- FUEL_CONSUMPTION: hydrogen
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
Hydrogen CHP¶
Technology ID: HYDROGEN_CHP
Input energy interface, with default energy:
- FUEL_CONSUMPTION: hydrogen
Output energy interface, with default energy:
- CO2: co2
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- MUST_RUN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | (not CLUSTER) and FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_HEAT | Fuel yield w.r.t heat production | MW.h/MW.h HHV | FUEL | Yield between the heat production and the fuel consumption |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON, energyDelivery=ENERGY_DELIVERY, fuelYieldOrEfficiency=FUEL_YIELD)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Hydrogen demand¶
Technology ID: HYDROGEN_DEMAND
Input energy interface, with default energy:
- CONSUMPTION: hydrogen
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
DEMAND | Demand | MW | Power demand |
Model code:
stateON = AssetState('ON')
stateON.setEquality(asset.getParameter(ENERGY_PICKUP), True, asset.getData(DEMAND))
MODEL.addState(stateON)
Hydrogen OCGT¶
Technology ID: HYDROGEN_OCGT
Input energy interface, with default energy:
- FUEL_CONSUMPTION: hydrogen
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
MFRR_UP_NOT_RUNNING_COST | Cost for not running upward mFRR | Euro/MW | RESERVE | Cost associated with the mfrr reserve procurement from non-running capacity |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isQuickStart=True)
addUnitMode(asset, stateON)
finalize(stateON)
Hydrogen pipeline¶
Technology ID: HYDROGEN_PIPELINE
Input energy interface, with default energy:
- CONSUMPTION: hydrogen
Output energy interface, with default energy:
- PRODUCTION: hydrogen
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
ENTRY_FEE | Fee for gas injection on the internal network | Euro/MW.h | Entry fee | |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
EXIT_FEE | Fee for gas withdrawal from the internal network | Euro/MW.h | Exit fee | |
LOSSES | Losses | % | Transmission losses | |
MIN_FLOW | Minimal flow | % | Minimal flow on a pipeline, expressed as a percentage of the installed capacity. | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
addGradients(asset, stateON, isInput=True)
# Computing overall cost to set on incoming flows (consumption cost + network exit fee)
overallConsumptionCost = getAssetData(asset, CONSUMPTION_COST, dataName=LABELS[CONSUMPTION_COST], mustExist=False)
exitFee = getAssetData(asset, "EXIT_FEE", mustExist=False)
if exitFee is not None:
overallConsumptionCost += exitFee
# Computing overall cost to set on outcoming flows (production cost + network entry fee)
overallProductionCost = getAssetData(asset, PRODUCTION_COST, dataName=LABELS[PRODUCTION_COST], mustExist=False)
entryFee = getAssetData(asset, "ENTRY_FEE", mustExist=False)
if entryFee is not None:
overallProductionCost += entryFee
addEnergyTransmission(asset, stateON, consumptionCost = overallConsumptionCost, productionCost = overallProductionCost)
# Add minimum flows constraints
minimumFlow = getAssetData(asset, MIN_FLOW, mustExist=False, resizePercentage=True)
if minimumFlow is not None and minimumFlow > 0:
addMinimumFlow(asset, stateON)
finalize(stateON)
Hydrogen storage¶
Technology ID: HYDROGEN_STORAGE
Input energy interface, with default energy:
- CONSUMPTION: hydrogen
Output energy interface, with default energy:
- PRODUCTION: hydrogen
Technology behaviors:
- OPTIM_PATHWAY
- USE_PMAX_IN
- OPTIM_PMAX
- DISCHARGE_TIMES
- GRADIENTS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
EXIT_FEE | Fee for gas withdrawal from the internal network | Euro/MW.h | Exit fee | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
ENTRY_FEE | Fee for gas injection on the internal network | Euro/MW.h | Entry fee | |
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | Storage capacity | |
STORAGE_AVAILABILITY | Storage availability | % | Storage availability, expressed as a percentage of the installed storage capacity | |
MIN_STORAGE_LEVEL | Minimal storage level | % | Minimum level for storage, expressed as a percentage of the installed storage capacity | |
DISCHARGE_TIME | Discharge time | h | Discharge time | |
PMAX_IN | Pmax In | MW | USE_PMAX_IN and (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Input maximal power |
AVAILABILITY_IN | Input availability | % | Injection capacity availability | |
MIN_INITIAL_STORAGE_LEVEL | Minimal initial storage level | % | Minimal initial storage level, expressed as percentage of the storage capacity | |
MAX_INITIAL_STORAGE_LEVEL | Maximal initial storage level | % | Maximal initial storage level, expressed as percentage of the storage capacity | |
PMAX_IN_OUT_RATIO | Withdrawal over Injection ratio (for capacity optimization) | % | OPTIM_PMAX or OPTIM_PATHWAY | Injection (to the storage) over Withdrawal (from the storage) ratio (for capacity optimization) |
EMPTY_STORAGE_RATIO_WITHDRAWAL | Empty storage ratio of available withdrawal capacity | % | Share of storage available withdrawal capacity when empty | |
FILLED_STORAGE_RATIO_INJECTION | Filled storage ratio of available injection capacity | % | Share of storage available injection capacity when filled | |
INJECTION_INFLEXION_STORAGE_LEVEL | Injection capacity inflexion storage level | % | Storage level at which available injection capacity starts to decrease | |
WITHDRAWAL_INFLEXION_STORAGE_LEVEL | Withdrawal capacity inflexion storage level | % | Storage level at which available withdrawal capacity reaches 100% | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
moduleStock = addDischargeStock(asset, stateON, minStorageLevel=MIN_STORAGE_LEVEL, initialStorageLevel=None, storageAvailability=STORAGE_AVAILABILITY, initialEqualsFinal=True)
variableStorageInjectionCapacity(MODEL, asset, stateON, moduleStock, pmaxInOutRatio = PMAX_IN_OUT_RATIO)
variableStorageWithdrawalCapacity(MODEL, asset, stateON, moduleStock)
addInitialStorageLevelBounds(asset, moduleStock, initialStorageLevel=None, minInitialStorageLevel=MIN_INITIAL_STORAGE_LEVEL, maxInitialStorageLevel= MAX_INITIAL_STORAGE_LEVEL)
# Computing overall cost to set on incoming flows (consumption cost + network exit fee)
overallConsumptionCost = getAssetData(asset, CONSUMPTION_COST, dataName=LABELS[CONSUMPTION_COST], mustExist=False)
exitFee = getAssetData(asset, "EXIT_FEE", mustExist=False)
if exitFee is not None:
overallConsumptionCost += exitFee
# Computing overall cost to set on outcoming flows (production cost + network entry fee)
overallProductionCost = getAssetData(asset, PRODUCTION_COST, dataName=LABELS[PRODUCTION_COST], mustExist=False)
entryFee = getAssetData(asset, "ENTRY_FEE", mustExist=False)
if entryFee is not None:
overallProductionCost += entryFee
addEnergyConsumption(asset, stateON, availability = "AVAILABILITY_IN", pmaxInOutRatio = PMAX_IN_OUT_RATIO, consumptionCost = overallConsumptionCost)
addEnergyProduction(asset, stateON, productionCost = overallProductionCost)
addGradients(asset, stateON)
finalize(stateON)
Hydrogen supply¶
Technology ID: HYDROGEN_SUPPLY
Output energy interface, with default energy:
- PRODUCTION: hydrogen
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PRODUCTION_COST))
# Biomass supply consumes CO2 to ensure the carbon neutrality of Biomass consuming assets
if getAssetData(asset, CO2_CONSUMPTION_YIELD, mustExist=False, dataName=LABELS[CO2_CONSUMPTION_YIELD]) is not None:
addEnergyYield(stateON, asset.getData(CO2_CONSUMPTION_YIELD), asset.getParameter(ENERGY_DELIVERY), asset.getParameter(CO2_PICKUP), False, True)
MODEL.addState(stateON)
Hydro fleet¶
Technology ID: HYDRO_FLEET
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- CLUSTER
- DISCHARGE_TIMES
- RESERVE
- USE_PMAX_IN
- UNIT
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
AVAILABILITY_IN | Input availability | % | Injection capacity availability | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | (not DISCHARGE_TIMES) | Storage capacity |
DISCHARGE_TIME | Discharge time | h | DISCHARGE_TIMES | Discharge time |
STORAGE_AVAILABILITY | Storage availability | % | Storage availability, expressed as a percentage of the installed storage capacity | |
INPUT_EFFICIENCY | Input efficiency | % | Pumping efficiency | |
OUTPUT_EFFICIENCY | Output efficiency | % | Turbining efficiency | |
MIN_STORAGE_LEVEL | Minimal storage level | % | Minimum level for storage, expressed as a percentage of the installed storage capacity | |
INITIAL_STORAGE_LEVEL | Storage initial level | % | Initial storage level, expressed as a percentage of the installed storage capacity | |
BOUNDED_SUPPLY | Bounded supply | MW | Supply with overflow control. Excess supply will not be added to storage if it is already full. | |
STORAGE_COST | Storage cost | Euro/MW.h/h | Cost associated with storage. Non-zero storage cost prevents equaly-optimal | |
PMAX_IN | Pmax In | MW | USE_PMAX_IN and (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Input maximal power |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW | CLUSTER | Cost associated with maintaining a certain running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
MFRR_UP_NOT_RUNNING_COST | Cost for not running upward mFRR | Euro/MW | RESERVE | Cost associated with the mfrr reserve procurement from non-running capacity |
Model code:
stateON = AssetState('ON')
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addEnergyConsumption(asset, stateON, availability="AVAILABILITY_IN")
addDischargeStock(asset, stateON, minStorageLevel=MIN_STORAGE_LEVEL, inputEfficiency=INPUT_EFFICIENCY, outputEfficiency=OUTPUT_EFFICIENCY, initialStorageLevel=INITIAL_STORAGE_LEVEL, storageAvailability=STORAGE_AVAILABILITY, initialEqualsFinal=True)
addReserveProduction(asset, stateON, isQuickStart=True, isFleetModeEnabled=True)
addUnitMode(asset, stateON)
finalize(stateON)
Hydro RoR fleet¶
Technology ID: HYDRO_ROR_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
INCENTIVE | Incentives to produce (cost) | Euro/MW.h | Incentives to produce |
Model code:
# Asset parameters definition
productionCostWithIncentive = asset.getData(PRODUCTION_COST) - asset.getData(INCENTIVE)
# Modelling asset state ON
stateON = AssetState('ON')
addEnergyProduction(asset, stateON, productionCost=productionCostWithIncentive)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Import contract¶
Technology ID: IMPORT_CONTRACT
Output energy interface, with default energy:
- PRODUCTION: electricity
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
IMPORTS | Imports | MW | Sets inelastic imports |
Model code:
stateON = AssetState('ON')
stateON.setEquality( asset.getParameter(ENERGY_DELIVERY), False, asset.getData(IMPORTS) )
MODEL.addState(stateON)
Import pipeline¶
Technology ID: IMPORT_PIPELINE
Input energy interface, with default energy:
- CONSUMPTION: gas
Output energy interface, with default energy:
- PRODUCTION: gas
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
ENTRY_FEE | Fee for gas injection on the internal network | Euro/MW.h | Entry fee | |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
EXIT_FEE | Fee for gas withdrawal from the internal network | Euro/MW.h | Exit fee | |
LOSSES | Losses | % | Transmission losses | |
MIN_FLOW | Minimal flow | % | Minimal flow on a pipeline, expressed as a percentage of the installed capacity. | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
addGradients(asset, stateON, isInput=True)
# Computing overall cost to set on incoming flows (consumption cost + network exit fee)
overallConsumptionCost = getAssetData(asset, CONSUMPTION_COST, dataName=LABELS[CONSUMPTION_COST], mustExist=False)
exitFee = getAssetData(asset, "EXIT_FEE", mustExist=False)
if exitFee is not None:
overallConsumptionCost += exitFee
# Computing overall cost to set on outcoming flows (production cost + network entry fee)
overallProductionCost = getAssetData(asset, PRODUCTION_COST, dataName=LABELS[PRODUCTION_COST], mustExist=False)
entryFee = getAssetData(asset, "ENTRY_FEE", mustExist=False)
if entryFee is not None:
overallProductionCost += entryFee
addEnergyTransmission(asset, stateON, consumptionCost = overallConsumptionCost, productionCost = overallProductionCost)
# Add minimum flows constraints
minimumFlow = getAssetData(asset, MIN_FLOW, mustExist=False, resizePercentage=True)
if minimumFlow is not None and minimumFlow > 0:
addMinimumFlow(asset, stateON)
finalize(stateON)
Interruptible load¶
Technology ID: INTERRUPTIBLE_LOAD
Input energy interface, with default energy:
- CONSUMPTION: electricity
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
STORAGE_CAPACITY | Storage capacity | MW.h | Storage capacity | |
PRODUCTION_COST | Production cost | Production cost (emission cost excluded) | ||
DEMAND | Demand | MW | Power demand |
Model code:
stateON = AssetState('ON')
setInterruptibleLoadModel(stateON, asset)
finalize(stateON)
Large-scale electric heat pump¶
Technology ID: LARGE-SCALE_HEAT_PUMP_ELEC
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- PRODUCTION: heat
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
YIELD | Yield w.r.t production | MW.h/MW.h HHV | Yield between the production and the consumption |
Model code:
stateON = AssetState('ON')
yieldRatio = getAssetData(asset, YIELD)
consumption = asset.getParameter(ENERGY_PICKUP)
production = asset.getParameter(ENERGY_DELIVERY)
addEnergyYield(stateON, yieldRatio, consumption, production, isInputA=True, isInputB=False)
addEnergyProduction(asset, stateON)
finalize(stateON)
Large-scale gas heat pump¶
Technology ID: LARGE-SCALE_HEAT_PUMP_GAS
Input energy interface, with default energy:
- CONSUMPTION: gas
Output energy interface, with default energy:
- PRODUCTION: heat
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
YIELD | Yield w.r.t production | MW.h/MW.h HHV | Yield between the production and the consumption |
Model code:
stateON = AssetState('ON')
yieldRatio = getAssetData(asset, YIELD)
consumption = asset.getParameter(ENERGY_PICKUP)
production = asset.getParameter(ENERGY_DELIVERY)
addEnergyYield(stateON, yieldRatio, consumption, production, isInputA=True, isInputB=False)
addEnergyProduction(asset, stateON)
finalize(stateON)
Lignite fleet¶
Technology ID: LIGNITE_FLEET
Input energy interface, with default energy:
- FUEL_CONSUMPTION: lignite
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
Lignite fleet CCS¶
Technology ID: LIGNITE_FLEET_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: lignite
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
Lignite supply¶
Technology ID: LIGNITE_SUPPLY
Output energy interface, with default energy:
- PRODUCTION: lignite
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PRODUCTION_COST))
# Biomass supply consumes CO2 to ensure the carbon neutrality of Biomass consuming assets
if getAssetData(asset, CO2_CONSUMPTION_YIELD, mustExist=False, dataName=LABELS[CO2_CONSUMPTION_YIELD]) is not None:
addEnergyYield(stateON, asset.getData(CO2_CONSUMPTION_YIELD), asset.getParameter(ENERGY_DELIVERY), asset.getParameter(CO2_PICKUP), False, True)
MODEL.addState(stateON)
Lithium ion battery fleet¶
Technology ID: LITHIUM_ION_BATTERY_FLEET
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- DISCHARGE_TIMES
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | (not DISCHARGE_TIMES) | Storage capacity |
DISCHARGE_TIME | Discharge time | h | DISCHARGE_TIMES | Discharge time |
STORAGE_AVAILABILITY | Storage availability | % | Storage availability, expressed as a percentage of the installed storage capacity | |
INPUT_EFFICIENCY | Input efficiency | % | Pumping efficiency | |
OUTPUT_EFFICIENCY | Output efficiency | % | Turbining efficiency | |
LOSS_RATE | Loss rate | %/h | Storage loss rate |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
addEnergyConsumption(asset, stateON)
addDischargeStock(asset, stateON, inputEfficiency=INPUT_EFFICIENCY, outputEfficiency=OUTPUT_EFFICIENCY, storageAvailability=STORAGE_AVAILABILITY, initialEqualsFinal=True)
addReserveProductionStorage(asset, stateON)
finalize(stateON)
LNG exports¶
Technology ID: LNG_EXPORTS
Input energy interface, with default energy:
- CONSUMPTION: gas
Technology behaviors:
- MUST_RUN
- VOLUME_TARGET
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PMAX | Pmax | MW | not MUST_RUN | Installed power capacity |
MIN_LOAD | Fleet min load | % | not MUST_RUN | Minimum production level, expressed as a percentage of the available capacity |
AVAILABILITY | Availability | % | not MUST_RUN | Available capacity, expressed as a percentage of the installed capacity |
MINIMUM_VOLUME | Minimal target volume | MW.h | VOLUME_TARGET and not MUST_RUN | Minimal export volume over the horizon |
STORAGE_CAPACITY | Storage capacity | MW.h | VOLUME_TARGET and not MUST_RUN | Storage capacity |
MIN_PROFILE | Minimal export profile | % | VOLUME_TARGET and not MUST_RUN | Minimal export profile |
STORAGE_AVAILABILITY | Storage availability | % | VOLUME_TARGET and not MUST_RUN | Storage availability, expressed as a percentage of the installed storage capacity |
EXPORTS | Exports | MW | MUST_RUN | Exports |
PRICE | Price | Euro | Price |
Model code:
# Asset parameters definition
# Price can't be of type curve because of -1 multiplication
consumptionCost = - asset.getData(PRICE)
# Modelling asset state ON
stateON = AssetState('ON')
if asset.isActiveBehavior(BH_MUST_RUN):
stateON.setEquality( asset.getParameter(ENERGY_PICKUP), True, asset.getData(EXPORTS) )
else:
addTargetInVolume(asset, stateON, interfaceName=ENERGY_PICKUP, isInput=True, maxVolume=STORAGE_CAPACITY, minVolume="MINIMUM_VOLUME" , maxProfile=STORAGE_AVAILABILITY, minProfile="MIN_PROFILE")
addEnergyConsumption(asset, stateON, energyPickup=ENERGY_PICKUP, consumptionCost=None, pmaxIn=PMAX)
addEnergyCost(stateON, asset.getParameter(ENERGY_PICKUP), True, consumptionCost, asset=asset)
finalize(stateON)
LNG imports¶
Technology ID: LNG_IMPORTS
Output energy interface, with default energy:
- PRODUCTION: gas
Technology behaviors:
- MUST_RUN
- VOLUME_TARGET
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PMAX | Pmax | MW | not MUST_RUN | Installed power capacity |
MIN_LOAD | Fleet min load | % | not MUST_RUN | Minimum production level, expressed as a percentage of the available capacity |
AVAILABILITY | Availability | % | not MUST_RUN | Available capacity, expressed as a percentage of the installed capacity |
MINIMUM_VOLUME | Minimal target volume | MW.h | VOLUME_TARGET and not MUST_RUN | Minimal export volume over the horizon |
STORAGE_CAPACITY | Storage capacity | MW.h | VOLUME_TARGET and not MUST_RUN | Storage capacity |
MIN_PROFILE | Minimal export profile | % | VOLUME_TARGET and not MUST_RUN | Minimal export profile |
STORAGE_AVAILABILITY | Storage availability | % | VOLUME_TARGET and not MUST_RUN | Storage availability, expressed as a percentage of the installed storage capacity |
IMPORTS | Imports | MW | MUST_RUN | Sets inelastic imports |
PRODUCTION_COST_CURVE | Production cost | Euro/MW.h | Production cost (emission cost excluded) |
Model code:
# Asset parameters definition
cost = asset.getData(PRODUCTION_COST_CURVE)
# Modelling asset state ON
stateON = AssetState('ON')
if asset.isActiveBehavior(BH_MUST_RUN):
stateON.setEquality(asset.getParameter(ENERGY_DELIVERY), False, asset.getData(IMPORTS))
else:
addTargetInVolume(asset, stateON, interfaceName=ENERGY_DELIVERY, isInput=False, maxVolume=STORAGE_CAPACITY, minVolume="MINIMUM_VOLUME" , maxProfile=STORAGE_AVAILABILITY, minProfile="MIN_PROFILE")
addEnergyProduction(asset, stateON, energyDelivery=ENERGY_DELIVERY, productionCost=None, pmax=PMAX)
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, cost, asset=asset)
finalize(stateON)
LNG liquefaction train¶
Technology ID: LNG_LIQUEFACTION_TRAIN
Input energy interface, with default energy:
- CONSUMPTION: gas
Output energy interface, with default energy:
- PRODUCTION: gas
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
LOSSES | Losses | % | Transmission losses |
Model code:
stateON = AssetState('ON')
addEnergyTransmission(asset, stateON)
finalize(stateON)
LNG terminal¶
Technology ID: LNG_TERMINAL
Input energy interface, with default energy:
- CONSUMPTION: gas
Output energy interface, with default energy:
- PRODUCTION: gas
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- DISCHARGE_TIMES
- USE_PMAX_IN
- CONSTANT_VAR
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | (not DISCHARGE_TIMES) | Storage capacity |
STORAGE_AVAILABILITY | Storage availability | % | Storage availability, expressed as a percentage of the installed storage capacity | |
INITIAL_STORAGE_LEVEL | Storage initial level | % | Initial storage level, expressed as a percentage of the installed storage capacity | |
DISCHARGE_TIME | Discharge time | h | DISCHARGE_TIMES | Discharge time |
PMAX_IN | Pmax In | MW | USE_PMAX_IN and (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Input maximal power |
AVAILABILITY_IN | Input availability | % | Injection capacity availability |
Model code:
stateON = AssetState('ON')
if asset.isActiveBehavior(BH_USE_PMAX_IN) and asset.isActiveBehavior(BH_OPTIM_PATHWAY):
raise ValueError('USE_PMAX_IN and OPTIM_PATHWAY cannot be used at the same time in a pathway optimization.')
addDischargeStock(asset, stateON, initialStorageLevel=INITIAL_STORAGE_LEVEL, minStorageLevel=None, storageAvailability=STORAGE_AVAILABILITY, initialEqualsFinal=True)
addEnergyProduction(asset, stateON)
# Add a limitation on consumption only if the behavior USE_PMAX_IN is active
if asset.isActiveBehavior(BH_USE_PMAX_IN):
addEnergyConsumption(asset, stateON, availability="AVAILABILITY_IN", pmaxInOutRatio=None)
finalize(stateON)
# Specific constraint: to do after the finalize
forceConstantInterface(MODEL, asset, ENERGY_PICKUP, True)
Loss of load¶
Technology ID: LOSS_OF_LOAD
Output energy interface, with default energy:
- PRODUCTION: electricity
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRICE | Price | Euro/MW.h | Price | |
PRICE_SIMU_AFTER_OPTIM_CAPA | Simulation price | Euro/MW.h |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PRICE))
MODEL.addState(stateON)
Methanation¶
Technology ID: METHANATION
Input energy interface, with default energy:
- CO2_CONSUMPTION: co2_captured
- CONSUMPTION: hydrogen
Output energy interface, with default energy:
- PRODUCTION: gas
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
YIELD | Yield w.r.t production | MW.h/MW.h HHV (HHV) | Yield between the production and the consumption | |
CO2_CONSUMPTION_YIELD | CO2 consumption yield w.r.t production | t/MW.h | Yield between the CO2 consumption and the production |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
yieldRatio = getAssetData(asset, YIELD)
co2YieldRatio = asset.getData(CO2_CONSUMPTION_YIELD)
consumption = asset.getParameter(ENERGY_PICKUP)
co2Consumption = asset.getParameter(CO2_PICKUP)
production = asset.getParameter(ENERGY_DELIVERY)
addEnergyYield(stateON, yieldRatio, consumption, production, isInputA=True, isInputB=False)
addEnergyYield(stateON, co2YieldRatio, production, co2Consumption, isInputA=False, isInputB=True)
finalize(stateON)
Nuclear fleet¶
Technology ID: NUCLEAR_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- CLUSTER
- RESERVE
- EXTENDABLE
- UNIT
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
CO2_CONTENT | CO2 emissions | t/MW.h | Yield between the CO2 emissions and the production | |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | CLUSTER or UNIT | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
addUnitMode(asset, stateON)
finalize(stateON)
OCGT fleet¶
Technology ID: OCGT_FLEET
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
MFRR_UP_NOT_RUNNING_COST | Cost for not running upward mFRR | Euro/MW | RESERVE | Cost associated with the mfrr reserve procurement from non-running capacity |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isQuickStart=True)
addUnitMode(asset, stateON)
finalize(stateON)
OCGT fleet CCS¶
Technology ID: OCGT_FLEET_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
MFRR_UP_NOT_RUNNING_COST | Cost for not running upward mFRR | Euro/MW | RESERVE | Cost associated with the mfrr reserve procurement from non-running capacity |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isQuickStart=True)
addUnitMode(asset, stateON)
finalize(stateON)
Oil CHP¶
Technology ID: OIL_CHP
Input energy interface, with default energy:
- FUEL_CONSUMPTION: oil
Output energy interface, with default energy:
- CO2: co2
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- MUST_RUN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | (not CLUSTER) and FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_HEAT | Fuel yield w.r.t heat production | MW.h/MW.h HHV | FUEL | Yield between the heat production and the fuel consumption |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON, energyDelivery=ENERGY_DELIVERY, fuelYieldOrEfficiency=FUEL_YIELD)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Oil CHP CCS¶
Technology ID: OIL_CHP_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: oil
Output energy interface, with default energy:
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- MUST_RUN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | (not CLUSTER) and FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_HEAT | Fuel yield w.r.t heat production | MW.h/MW.h HHV | FUEL | Yield between the heat production and the fuel consumption |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON, energyDelivery=ENERGY_DELIVERY, fuelYieldOrEfficiency=FUEL_YIELD)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Oil fleet¶
Technology ID: OIL_FLEET
Input energy interface, with default energy:
- FUEL_CONSUMPTION: oil
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
MFRR_UP_NOT_RUNNING_COST | Cost for not running upward mFRR | Euro/MW | RESERVE | Cost associated with the mfrr reserve procurement from non-running capacity |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isQuickStart=True)
addUnitMode(asset, stateON)
finalize(stateON)
Oil fleet CCS¶
Technology ID: OIL_FLEET_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: oil
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- FUEL
- CLUSTER
- RESERVE
- UNIT
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
MFRR_UP_NOT_RUNNING_COST | Cost for not running upward mFRR | Euro/MW | RESERVE | Cost associated with the mfrr reserve procurement from non-running capacity |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isQuickStart=True)
addUnitMode(asset, stateON)
finalize(stateON)
Oil supply¶
Technology ID: OIL_SUPPLY
Output energy interface, with default energy:
- PRODUCTION: oil
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PRODUCTION_COST))
# Biomass supply consumes CO2 to ensure the carbon neutrality of Biomass consuming assets
if getAssetData(asset, CO2_CONSUMPTION_YIELD, mustExist=False, dataName=LABELS[CO2_CONSUMPTION_YIELD]) is not None:
addEnergyYield(stateON, asset.getData(CO2_CONSUMPTION_YIELD), asset.getParameter(ENERGY_DELIVERY), asset.getParameter(CO2_PICKUP), False, True)
MODEL.addState(stateON)
Other CO2 captured production¶
Technology ID: OTHER_CO2_CAPTURED_PRODUCTION
Output energy interface, with default energy:
- PRODUCTION: co2_captured
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PMAX | Pmax | t/t | Installed power capacity |
Model code:
stateON = AssetState('ON')
stateON.setEquality(asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PMAX))
finalize(stateON)
Other fleet¶
Technology ID: OTHER_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Other renewable fleet¶
Technology ID: OTHER_RENEWABLE_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Other thermal fleet¶
Technology ID: OTHER_THERMAL_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
CO2_CONTENT | CO2 emissions | t/MW.h | Yield between the CO2 emissions and the production |
Model code:
stateON = AssetState('ON')
addCo2Production(asset, stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Other thermal fleet CCS¶
Technology ID: OTHER_THERMAL_FLEET_CCS
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
CO2_CONTENT | CO2 emissions | t/MW.h | Yield between the CO2 emissions and the production |
Model code:
stateON = AssetState('ON')
addCo2Production(asset, stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Constraints for the pathway optimization¶
Technology ID: PATHWAY_OPTIMIZATION_CONSTRAINTS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
DISCOUNT_RATE | Discount rate | % | Discount rate of the whole pathway |
Model code:
portfolio = Crystal.getPortfolio()
context =portfolio.getContext()
if not "InterContext" in context:
coeWarning("The specific pathway model object is present in the context " + str(context) + ". It will be ignored as it should only appear in the intercontext for pathway optimization (useless in other cases).")
else:
multiportfolio = Crystal.getPortfolioMap()
coePrint('Preliminary essential checks specific to the optimization of pathway')
runPathwayChecks(multiportfolio)
coePrint('MO : Actualisation weights')
discountRate = getAssetData(asset, DEFVALUE[DISCOUNT_RATE], dataName=LABELS[DISCOUNT_RATE], mustExist=True, resizePercentage=True)
setPortfolioWeight(multiportfolio, discountRate)
coePrint('MO: Lifetime constraints')
setLifeTimeConstraints(multiportfolio)
coePrint('MO: Time constraints')
setTimeConstraints(multiportfolio)
coePrint('MO: Equality between realizations')
setEqualityCapacityConstraintBetweenRealizations(multiportfolio)
coePrint('MO: Repowering constraints')
setRepoweringConstraints(multiportfolio)
coePrint('End of MO')
Pipeline¶
Technology ID: PIPELINE
Input energy interface, with default energy:
- CONSUMPTION: gas
Output energy interface, with default energy:
- PRODUCTION: gas
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- RETROFIT_H2
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
ENTRY_FEE | Fee for gas injection on the internal network | Euro/MW.h | Entry fee | |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
EXIT_FEE | Fee for gas withdrawal from the internal network | Euro/MW.h | Exit fee | |
LOSSES | Losses | % | Transmission losses | |
MIN_FLOW | Minimal flow | % | Minimal flow on a pipeline, expressed as a percentage of the installed capacity. | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
addGradients(asset, stateON, isInput=True)
# Computing overall cost to set on incoming flows (consumption cost + network exit fee)
overallConsumptionCost = getAssetData(asset, CONSUMPTION_COST, dataName=LABELS[CONSUMPTION_COST], mustExist=False)
exitFee = getAssetData(asset, "EXIT_FEE", mustExist=False)
if exitFee is not None:
overallConsumptionCost += exitFee
# Computing overall cost to set on outcoming flows (production cost + network entry fee)
overallProductionCost = getAssetData(asset, PRODUCTION_COST, dataName=LABELS[PRODUCTION_COST], mustExist=False)
entryFee = getAssetData(asset, "ENTRY_FEE", mustExist=False)
if entryFee is not None:
overallProductionCost += entryFee
addEnergyTransmission(asset, stateON, consumptionCost = overallConsumptionCost, productionCost = overallProductionCost)
# Add minimum flows constraints
minimumFlow = getAssetData(asset, MIN_FLOW, mustExist=False, resizePercentage=True)
if minimumFlow is not None and minimumFlow > 0:
addMinimumFlow(asset, stateON)
finalize(stateON)
Pipeline equality¶
Technology ID: PIPELINE_EQUALITY
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SET_CONSTRAINTS | Set constraints | Boolean | Boolean that activates the associated model object |
Model code:
if bool(asset.getData("SET_CONSTRAINTS").getDataValue()) == True:
setTransmissionEquality(Crystal.getPortfolio(), F_PIPELINE)
Pipeline reverse flow¶
Technology ID: PIPELINE_REVERSE_FLOW
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SET_CONSTRAINTS | Set constraints | Boolean | Boolean that activates the associated model object |
Model code:
if bool(asset.getData("SET_CONSTRAINTS").getDataValue()) == True:
setPipelineReverseFlowConstraints(Crystal.getPortfolio())
Power demand¶
Technology ID: POWER_DEMAND
Input energy interface, with default energy:
- CONSUMPTION: electricity
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
DEMAND | Demand | MW | Power demand |
Model code:
stateON = AssetState('ON')
stateON.setEquality(asset.getParameter(ENERGY_PICKUP), True, asset.getData(DEMAND))
MODEL.addState(stateON)
Pumped storage fleet¶
Technology ID: PUMPED_STORAGE_FLEET
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- DISCHARGE_TIMES
- CLUSTER
- RESERVE
- USE_PMAX_IN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
AVAILABILITY_IN | Input availability | % | Injection capacity availability | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
MIN_LOAD | Fleet min load | % | not CLUSTER | Minimum production level, expressed as a percentage of the available capacity |
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | (not DISCHARGE_TIMES) | Storage capacity |
DISCHARGE_TIME | Discharge time | h | DISCHARGE_TIMES | Discharge time |
STORAGE_AVAILABILITY | Storage availability | % | Storage availability, expressed as a percentage of the installed storage capacity | |
INPUT_EFFICIENCY | Input efficiency | % | Pumping efficiency | |
OUTPUT_EFFICIENCY | Output efficiency | % | Turbining efficiency | |
MIN_STORAGE_LEVEL | Minimal storage level | % | Minimum level for storage, expressed as a percentage of the installed storage capacity | |
INITIAL_STORAGE_LEVEL | Storage initial level | % | Initial storage level, expressed as a percentage of the installed storage capacity | |
BOUNDED_SUPPLY | Bounded supply | MW | Supply with overflow control. Excess supply will not be added to storage if it is already full. | |
STORAGE_COST | Storage cost | Euro/MW.h/h | Cost associated with storage. Non-zero storage cost prevents equaly-optimal | |
PMAX_IN | Pmax In | MW | USE_PMAX_IN and not OPTIM_PMAX | Input maximal power |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW | CLUSTER | Cost associated with maintaining a certain running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
addEnergyConsumption(asset, stateON, availability="AVAILABILITY_IN")
addDischargeStock(asset, stateON, minStorageLevel=MIN_STORAGE_LEVEL, inputEfficiency=INPUT_EFFICIENCY, outputEfficiency=OUTPUT_EFFICIENCY, initialStorageLevel=INITIAL_STORAGE_LEVEL, storageAvailability=STORAGE_AVAILABILITY, initialEqualsFinal=True)
addReserveProductionStorage(asset, stateON)
finalize(stateON)
Regulated coal fleet¶
Technology ID: REGULATED_COAL_FLEET
Input energy interface, with default energy:
- FUEL_CONSUMPTION: coal
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- CLUSTER
- RESERVE
- DISCHARGE_TIMES
- UNIT
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | not DISCHARGE_TIMES | Storage capacity |
DISCHARGE_TIME | Discharge time | h | DISCHARGE_TIMES | Discharge time |
BOUNDED_SUPPLY | Bounded supply | MW | Supply with overflow control. Excess supply will not be added to storage if it is already full. |
Model code:
stateON = AssetState('ON')
addDischargeStock(asset, stateON, energyPickup=None)
addGradients(asset,stateON)
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON)
addUnitMode(asset, stateON)
finalize(stateON)
Regulated oil fleet¶
Technology ID: REGULATED_OIL_FLEET
Input energy interface, with default energy:
- FUEL_CONSUMPTION: oil
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- FUEL
- CLUSTER
- RESERVE
- DISCHARGE_TIMES
- UNIT
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
MIN_ON_TIME | Min on time | h | UNIT | When an asset in Unit Mode is switched ON it cannot be turned OFF before min On time. |
STARTUP_TIME | Start up time | h | UNIT | Time an asset in Unit Mode takes to make a transition between OFF state and ON state. At the end of this duration, asset is at runningCapacityMinLoad*pMax. |
STARTING_COST | Starting cost | Euro | UNIT | Fixed cost in euros associated to start an asset in Unit Mode. Is applied to any transition leading to state ON |
STOPPING_COST | Stopping cost | Euro | UNIT | Fixed cost in euros associated to stop an asset in Unit Mode. Is applied to any transition leading to state OFF |
STORAGE_CAPEX_OVERNIGHT | Overnight CAPEX (Storage) | Euro/MW.h/Year | Overnight capital expenditure for storage assets | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_YIELD_PMIN | Fuel yield at P min | MW.h/MW.h HHV | (CLUSTER or UNIT) and FUEL | Yield between the production and the fuel consumption when the Unit is at P min |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
MIN_LOAD | Fleet min load | % | not (CLUSTER or UNIT) | Minimum production level, expressed as a percentage of the available capacity |
CLUSTER_STARTING_COST | Starting cost | Euro/MW | CLUSTER | Cost to start additional capacity |
RUNNING_COST | Running cost | Euro/MW/h | CLUSTER | Cost associated with maintaining a certain running capacity |
CO2_CONTENT_RUNNING_BOUND | CO2 emissions w.r.t. running capacity | t/MW.h | (CLUSTER or UNIT) and not FUEL | CO2 emissions with respect to running capacity |
RUNNING_CAPACITY_MIN_LOAD | Running capacity min load | % | RESERVE or CLUSTER or UNIT | Minimum level for the production, expressed as a percentage of the running capacity in Cluster Mode and as percentage of available capacity (pMax*availabilty) inUnit Mode .For assets in fleet mode with reserve, please refer to addReserveProduction(..) for the running capacity definition. |
MIN_OFF_TIME | Min off time | h | CLUSTER or UNIT | When a part of the running capacity is switched off, this part cannot be switch on before a duration equals to min Off time. |
STORAGE_CAPEX | CAPEX (Storage) | Euro/MW.h/Year | Capital expenditure for storage assets | |
STORAGE_CAPACITY | Storage capacity | MW.h | not DISCHARGE_TIMES | Storage capacity |
DISCHARGE_TIME | Discharge time | h | DISCHARGE_TIMES | Discharge time |
BOUNDED_SUPPLY | Bounded supply | MW | Supply with overflow control. Excess supply will not be added to storage if it is already full. | |
MFRR_UP_NOT_RUNNING_COST | Cost for not running upward mFRR | Euro/MW | RESERVE | Cost associated with the mfrr reserve procurement from non-running capacity |
Model code:
stateON = AssetState('ON')
addDischargeStock(asset, stateON, energyPickup=None)
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addEnergyProduction(asset, stateON)
addReserveProduction(asset, stateON, isQuickStart=True)
addUnitMode(asset, stateON)
finalize(stateON)
Reserve demand¶
Technology ID: RESERVE_DEMAND
Input energy interface, with default energy:
- CONSUMPTION: reserveEnergy
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
DEMAND | Demand | MW | Power demand | |
LOCAL_RESERVE | National procurement minimum (w.r.t the total requirement) | % | Fraction of the total reserve requirement that needs to be procured localy (ie within the associated zone) |
Model code:
stateON = AssetState('ON')
stateON.setEquality(asset.getParameter(ENERGY_PICKUP), True, asset.getData(DEMAND))
MODEL.addState(stateON)
Reserve Dimensioning¶
Technology ID: RESERVE_DIMENSIONING
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
IS_ANNUAL_RESERVE | Reserve is annual | Boolean | Boolean defining if reserve sizing is constant over the year or can vary hourly | |
FORECAST_HORIZON_FOR_IMBALANCES | Forecast horizon considered for reserve dimensioning | h | Forecast horizon considered for reserve dimensioning |
Reserve symmetry requirement¶
Technology ID: RESERVE_SYMMETRY_REQUIREMENT
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SET_CONSTRAINTS | Set constraints | Boolean | Boolean that activates the associated model object | |
ACTIVATION_PER_ZONE | Reserve Procurement Symmetry Requirement per Zone | Boolean/node | Matrix defining for each zone if reserve procurement is symmetric or not |
Model code:
if bool(asset.getData(SET_CONSTRAINTS).getDataValue()) == True:
activationPerZone = parseIndexedMatrixWithTwoColumns(asset, indexedMatrixName=ACTIVATION_PER_ZONE)
reserveSymmetryRequirement(activationPerZone)
Retrofit¶
Technology ID: RETROFIT
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SET_CONSTRAINTS | Set constraints | Boolean | Boolean that activates the associated model object | |
RETROFIT_DATA_COLLECTION | Retrofit data | Retrofit data matrix |
Model code:
if bool(asset.getData("SET_CONSTRAINTS").getDataValue()) == True:
setRetrofitConstraints(Crystal.getPortfolio())
Retrofit data¶
Technology ID: RETROFIT_DATA
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
value | value | |||
TECHNO_RETROFITTED | Retrofitted asset | Retrofitted asset (plant with CCS or gas pipeline converted to H2) | ||
TECHNO_TO_RETROFIT | Asset to retrofit | Asset to retrofit (plant without CCS or gas pipeline to retrofit into H2 pipeline) |
Sell contract¶
Technology ID: SELL_CONTRACT
Input energy interface, with default energy:
- CONSUMPTION: electricity
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRICE | Price | Euro/MW.h | Price |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_PICKUP), True, -1 * asset.getData(PRICE))
MODEL.addState(stateON)
Steam methane reforming¶
Technology ID: SMR
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
Output energy interface, with default energy:
- CO2: co2
- PRODUCTION: hydrogen
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
# Add CCS electricity consumption
electricityYield = getAssetData(asset, ELECTRICITY_YIELD, mustExist=False, dataName=LABELS[ELECTRICITY_YIELD])
if electricityYield is not None:
h2Production = asset.getParameter(ENERGY_DELIVERY)
elecConsumption = asset.getParameter(ENERGY_PICKUP)
addEnergyYield(stateON, electricityYield, h2Production, elecConsumption, False, True)
finalize(stateON)
Steam methane reforming CCS¶
Technology ID: SMR_CCS
Input energy interface, with default energy:
- FUEL_CONSUMPTION: gas
- CONSUMPTION: electricity
Output energy interface, with default energy:
- CO2: co2
- CO2_CAPTURED_PRODUCTION: co2_captured
- PRODUCTION: hydrogen
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- FUEL
- RETROFIT_CCS
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
RATIO_CC | Carbon capture ratio | % | Carbon capture ratio | |
CONV_CAPACITY | Capacity conversion | RETROFIT_CCS or RETROFIT_H2 | CCS Capacity conversion | |
ELECTRICITY_YIELD | Electricity yield | MW.h/MW.h HHV | Electricity consumption yield based on hydrogen production (for CCS purposes) | |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
VARIABLE_COST | Variable cost | Euro/MW.h | FUEL | Variable cost (fuel and emission costs excluded) |
PRODUCTION_COST | Production cost | Euro/MW.h | not FUEL | Production cost (emission cost excluded) |
FUEL_YIELD | Fuel yield w.r.t production | MW.h/MW.h HHV | FUEL | Yield between the production and the fuel consumption. For cluster and Unit behaviors, fuel yield is a function of the power output (and the running capacity in cluster mode) and this yield corresponds to the yield when the asset is at Pmax. |
FUEL_CO2_CONTENT | Fuel CO2 emissions | t/MW.h HHV | FUEL | Yield between the fuel consumption and the CO2 emissions |
CO2_CONTENT | CO2 emissions | t/MW.h | not FUEL | Yield between the CO2 emissions and the production |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
Model code:
stateON = AssetState('ON')
addFuelConsumption(asset, stateON)
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyProduction(asset, stateON)
# Add CCS electricity consumption
electricityYield = getAssetData(asset, ELECTRICITY_YIELD, mustExist=False, dataName=LABELS[ELECTRICITY_YIELD])
if electricityYield is not None:
h2Production = asset.getParameter(ENERGY_DELIVERY)
elecConsumption = asset.getParameter(ENERGY_PICKUP)
addEnergyYield(stateON, electricityYield, h2Production, elecConsumption, False, True)
finalize(stateON)
Solar fleet¶
Technology ID: SOLAR_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
- REPOWERING
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
REPOWERING_COST | Repowering cost | Euro/MW | OPTIM_PATHWAY and REPOWERING | Repowering cost at the end of lifetime (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
INCENTIVE | Incentives to produce (cost) | Euro/MW.h | Incentives to produce |
Model code:
# Asset parameters definition
productionCostWithIncentive = asset.getData(PRODUCTION_COST) - asset.getData(INCENTIVE)
# Modelling asset state ON
stateON = AssetState('ON')
addEnergyProduction(asset, stateON, productionCost=productionCostWithIncentive)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Solar thermal¶
Technology ID: SOLAR_THERMAL
Output energy interface, with default energy:
- PRODUCTION: heat
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
INCENTIVE | Incentives to produce (cost) | Euro/MW.h | Incentives to produce | |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity |
Model code:
# Asset parameters definition
productionCostWithIncentive = asset.getData(PRODUCTION_COST) - asset.getData(INCENTIVE)
# Modelling asset state ON
stateON = AssetState('ON')
addEnergyProduction(asset, stateON, productionCost=productionCostWithIncentive)
finalize(stateON)
Supply contract with bound¶
Technology ID: SUPPLY_CONTRACT_WITH_BOUND
Output energy interface, with default energy:
- PRODUCTION: electricity
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
PMAX | Pmax | MW | Installed power capacity |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PRODUCTION_COST))
stateON.addUpperBound( asset.getParameter(ENERGY_DELIVERY), False, asset.getData(PMAX) )
MODEL.addState(stateON)
Transformer¶
Technology ID: TRANSFORMER
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- DCOPF
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PHASE_SHIFT_MIN | Phase Shift Min | Radians | DCOPF | Minimum phase shift of a transformer in radians |
PHASE_SHIFT_MAX | Phase Shift Max | Radians | DCOPF | Maximum phase shift of a transformer in radians |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) and (not FLOW_BASED) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | not FLOW_BASED | Available capacity, expressed as a percentage of the installed capacity |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
LOSSES | Losses | % | not FLOW_BASED | Transmission losses |
SUSCEPTANCE | Susceptance | DCOPF | The imaginary part of admittance, measure of how easy it is for alternating current to pass through a capacitance or an inductance | |
REVERSE_DIRECTION_TRANSMISSION | Reverse direction transmission | DCOPF | Name of the transmission with reverse input and output point, calculated attribute |
Model code:
stateON = AssetState('ON')
addEnergyTransmission(asset, stateON)
addDcopfModel(asset)
finalize(stateON)
Transmission¶
Technology ID: TRANSMISSION
Input energy interface, with default energy:
- CONSUMPTION: electricity
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- RESERVE
- DCOPF
- FLOW_BASED
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) and (not FLOW_BASED) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | not FLOW_BASED | Available capacity, expressed as a percentage of the installed capacity |
CONSUMPTION_COST | Consumption cost | Euro/MW.h | Consumption cost | |
LOSSES | Losses | % | not FLOW_BASED | Transmission losses |
SUSCEPTANCE | Susceptance | DCOPF | The imaginary part of admittance, measure of how easy it is for alternating current to pass through a capacitance or an inductance | |
REVERSE_DIRECTION_TRANSMISSION | Reverse direction transmission | DCOPF | Name of the transmission with reverse input and output point, calculated attribute |
Model code:
stateON = AssetState('ON')
addEnergyTransmission(asset, stateON)
addTransmissionReserveProduction(asset, stateON)
addDcopfModel(asset)
finalize(stateON)
Transmission equality¶
Technology ID: TRANSMISSION_EQUALITY
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SET_CONSTRAINTS | Set constraints | Boolean | Boolean that activates the associated model object |
Model code:
if bool(asset.getData("SET_CONSTRAINTS").getDataValue()) == True:
setTransmissionEquality(Crystal.getPortfolio(), F_TRANSMISSION)
Transmission flow-based¶
Technology ID: TRANSMISSION_FLOW_BASED
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SET_CONSTRAINTS | Set constraints | Boolean | Boolean that activates the associated model object | |
FLOW_BASED_DOMAIN_COLLECTION | Flow-based domains matrix | Regroups all flow-based domains which can be called during the simulation | ||
FLOW_BASED_DOMAIN_MAP_DATA_VIEW | Flow-based domain map | Associates each timestep of the simulation to a flow-based domain |
Model code:
"""
If parameter "SET_CONSTRAINTS" of Model Object "TRANSMISSION_FLOW_BASED" is set to True, then we can enter the FLow-Based model
"""
coePrint("Entering FB model")
if bool(asset.getData("SET_CONSTRAINTS").getDataValue()):
getTransmissionFlowBasedConstraints(Crystal.getPortfolio())
Voluntary load curtailment¶
Technology ID: VOLUNTARY_LOAD_CURTAILMENT
Output energy interface, with default energy:
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- VOLUME_TARGET
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
MINIMUM_VOLUME | Minimal target volume | MW.h | VOLUME_TARGET | Minimal export volume over the horizon |
STORAGE_CAPACITY | Storage capacity | MW.h | VOLUME_TARGET | Storage capacity |
MIN_PROFILE | Minimal export profile | % | VOLUME_TARGET | Minimal export profile |
STORAGE_AVAILABILITY | Storage availability | % | VOLUME_TARGET | Storage availability, expressed as a percentage of the installed storage capacity |
Model code:
stateON = AssetState('ON')
addTargetInVolume(asset, stateON, interfaceName=ENERGY_DELIVERY, isInput=False, maxVolume=STORAGE_CAPACITY,
minVolume=MINIMUM_VOLUME, maxProfile=STORAGE_AVAILABILITY, minProfile=MIN_PROFILE)
addEnergyProduction(asset, stateON, ENERGY_DELIVERY, availability = 100)
finalize(stateON)
Waste CHP¶
Technology ID: WASTE_CHP
Output energy interface, with default energy:
- CO2: co2
- HEAT_PRODUCTION: heat
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- OPTIM_PMAX
- GRADIENTS
- MUST_RUN
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
CO2_CONTENT | CO2 emissions | t/MW.h | Yield between the CO2 emissions and the production | |
MIN_LOAD | Fleet min load | % | Minimum production level, expressed as a percentage of the available capacity | |
GRADIENT_UP | Gradient up | %/min | GRADIENTS | Maximal upward variation, expressed as a percentage of the available capacity per minute |
GRADIENT_DOWN | Gradient down | %/min | GRADIENTS | Maximal downward variation, expressed as a percentage of the available capacity per minute |
HEAT_OVER_ELEC_RATIO | Heat over electricity ratio | not FUEL | Heat over electricity ratio used in cogeneration model |
Model code:
stateON = AssetState('ON')
addCo2Production(asset, stateON)
addGradients(asset,stateON)
addEnergyCogenerationProduction(asset, stateON)
finalize(stateON)
Waste fleet¶
Technology ID: WASTE_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- CO2: co2
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
CO2_CONTENT | CO2 emissions | t/MW.h | Yield between the CO2 emissions and the production |
Model code:
stateON = AssetState('ON')
addEnergyProduction(asset, stateON)
addCo2Production(asset, stateON)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Well¶
Technology ID: WELL
Input energy interface, with default energy:
- CONSUMPTION: electricity
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
PRICE | Price | Euro/MW.h | Price |
Model code:
stateON = AssetState('ON')
addEnergyCost(stateON, asset.getParameter(ENERGY_PICKUP), True, asset.getData(PRICE))
MODEL.addState(stateON)
Wind offshore fleet¶
Technology ID: WIND_OFFSHORE_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
- REPOWERING
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
REPOWERING_COST | Repowering cost | Euro/MW | OPTIM_PATHWAY and REPOWERING | Repowering cost at the end of lifetime (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
INCENTIVE | Incentives to produce (cost) | Euro/MW.h | Incentives to produce |
Model code:
# Asset parameters definition
productionCostWithIncentive = asset.getData(PRODUCTION_COST) - asset.getData(INCENTIVE)
# Modelling asset state ON
stateON = AssetState('ON')
addEnergyProduction(asset, stateON, productionCost=productionCostWithIncentive)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)
Wind onshore fleet¶
Technology ID: WIND_ONSHORE_FLEET
Output energy interface, with default energy:
- SYNC_RESERVE_DOWN: syncResDown
- MFRR_DOWN: mfrrResDown
- SYNC_RESERVE_UP: syncResUp
- MFRR_UP: mfrrResUp
- PRODUCTION: electricity
Technology behaviors:
- OPTIM_PATHWAY
- MUST_RUN
- OPTIM_PMAX
- RESERVE
- REPOWERING
Technology parameters:
ID | Label | Unit | Behaviors | Description |
---|---|---|---|---|
SYNC_RESERVE_UP_MAX_SHARE | Max share to upward sync. reserve | % | RESERVE | Maximal share of upward sync. reserve in running capacity |
SYNC_RESERVE_DOWN_MAX_SHARE | Max share to downward sync. reserve | % | RESERVE | Maximal share of downward sync. reserve in running capacity |
MFRR_UP_MAX_SHARE | Max share to upward reserve | % | RESERVE | Maximal share of upward mFRR and sync. reserve in running capacity |
MFRR_DOWN_MAX_SHARE | Max share to downward reserve | % | RESERVE | Maximal share of downward mFRR and sync. reserve in running capacity |
SYNC_RESERVE_UP_COST | Op. cost of the upward sync. reserve | Euro/MW | RESERVE | Operating cost of the upward sync. reserve< |
SYNC_RESERVE_DOWN_COST | Op. cost of the downward sync. reserve | Euro/MW | RESERVE | Operating cost of the downward sync. reserve |
MFRR_UP_COST | Op. cost of upward mFRR | Euro/MW | RESERVE | Operating cost of upward mFRR |
MFRR_DOWN_COST | Op. cost of downward mFRR | Euro/MW | RESERVE | Operating cost of downward mFRR |
CAPEX_OVERNIGHT | CAPEX Overnight | Euro/MW | Overall capital expenditure (only used for pathway optimization) | |
DEINVEST_COST | Deinvest cost | Euro/MW | Deinvest cost (only used for pathway optimization) | |
LIFETIME | Lifetime | Lifetime of the asset (only used for pathway optimization) | ||
YIELD_INVEST | Yield of investment | % | Yield associated with investment | |
INSTALL_MAX | Max installation | MW | OPTIM_PATHWAY | Max installation (only used for pathway optimization) |
DECOMM_MAX | Max decommissioning | MW | OPTIM_PATHWAY | Max decommissioning (only used for pathway optimization) |
REPOWERING_COST | Repowering cost | Euro/MW | OPTIM_PATHWAY and REPOWERING | Repowering cost at the end of lifetime (only used for pathway optimization) |
CAPEX | CAPEX | Euro/MW/Year | Capital expenditure (only used for capacity optimization) | |
FOC | Fixed Operating Costs | Euro/MW/Year | Fixed Operating Costs (only used for capacity optimization) | |
PMAX | Pmax | MW | (not OPTIM_PMAX) and (not OPTIM_PATHWAY) | Installed power capacity |
PMAXMIN | Min Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity lower bound for capacity optimization |
PMAXMAX | Max Pmax | MW | OPTIM_PMAX or OPTIM_PATHWAY | Installed capacity upper bound for capacity optimization |
AVAILABILITY | Availability | % | Available capacity, expressed as a percentage of the installed capacity | |
PRODUCTION_COST | Production cost | Euro/MW.h | Production cost (emission cost excluded) | |
INCENTIVE | Incentives to produce (cost) | Euro/MW.h | Incentives to produce |
Model code:
# Asset parameters definition
productionCostWithIncentive = asset.getData(PRODUCTION_COST) - asset.getData(INCENTIVE)
# Modelling asset state ON
stateON = AssetState('ON')
addEnergyProduction(asset, stateON, productionCost=productionCostWithIncentive)
addReserveProduction(asset, stateON, isFleetModeEnabled=True)
finalize(stateON)