Gas storage ----------- Alt text **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:** ``` python 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) ```