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)