Parameter list
In the following all parameters available in AnyMOD are listed. Information includes the name used in the input files and throughout the model, the parameters' unit, its dimensions according to the symbols introduced in Sets and Mappings, the default value and the inheritance rules. In addition, related model elements and the part a parameter is assigned are documented.
Dispatch of technologies
The parameters listed here describe the conversion and storage of energy carriers by technologies. As a result, each of these parameters can vary by operational mode. If any mode specific values are provided, these replace mode unspecific data.
The following two diagrams serve as a remainder on how conversion and storage are generally modeled in AnyMOD.
Availability
Technical availability of the operated capacity.
Since operated capacity is split into conversion, storage-input, storage-output, and storage-size, the same distinction applies to availabilities.
name | avaConv | avaSt{In/Out/Size} |
unit | percent as decimal | |
dimension | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $Te$, $M$ | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $C$, $Te$, $M$ |
default value | 1.0 | |
inheritance rules |
|
|
|
|
|
related elements |
|
|
part | technology |
Efficiency
Efficiency of converting or storing energy carriers.
For conversion the parameter controls the ratio between in- and output carriers. For storage it determines the losses charging to and discharging from the storage system is subjected to.
name | effConv | effSt{In/Out} |
unit | percent as decimal | |
dimension | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $Te$, $M$ | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $C$, $Te$, $M$ |
default value | 1.0 | |
inheritance rules |
|
|
|
|
|
related elements | ||
part | technology |
Variable cost
Costs imposed on different types of quantities dispatched.
Note that for storage costs are incurred on quantities as specified in the diagram above. This means stIn
quantities still include charging losses, while stOut
quantities are already corrected for losses from discharging.
name | costVar{Use/Gen/StIn/StOut} |
unit | €/MWh |
dimension | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $C$, $Te$, $M$ |
default value | 0.0 |
inheritance rules |
|
related constraints | |
part | technology |
Ratios of carrier use and generation
Restricting the share of a single carrier on total use or generation. The share can either be fixed or imposed as a lower or upper limit.
One practical example for the application of this parameter is modelling the power-to-heat ratio of cogeneration plants (see par_techDispatch.csv
).
name | ratioEnerUse{Fix/Low/Up} | ratioEnerGen{Fix/Low/Up} |
unit | percent as decimal | |
dimension | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $C$, $Te$, $M$ | |
default value | none | |
inheritance rules |
| |
related elements | ||
part | technology |
Storage self-discharge
Automatic reduction of stored energy within a storage system.
If the stored carrier is assigned an emission factor and emissionLoss
is set to true
, these losses are subject to emissions.
name | stDis |
unit | percent as decimal per hour |
dimension | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $C$, $Te$, $M$ |
default value | 0.0 |
inheritance rules |
|
related elements | |
part | technology |
Storage inflow
External charging of the storage system. Inflows can also be negative and are not subject to charging losses.
Flows have to be provided in power units and are converted into energy quantities according to the temporal resolution of the respective carrier (e.g. at a daily resolution 2 GW translate into of 48 GWh). This approach ensures parameters do not need to be adjusted when the temporal resolution is changed. The most important application of this parameter are natural inflows into hydro storages.
name | stInflow |
unit | GW |
dimension | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $C$, $Te$, $M$ |
default value | 0.0 |
inheritance rules |
|
related elements | |
part | technology |
Dispatch of exchange and trade
Exchange availability
Technical availability of exchange capacities. The parameter avaExc
applies for both directions and will be overwritten by the directed avaExcDir
.
name | avaExc | avaExcDir |
unit | percent in decimal | |
dimension | $Ts_{dis}$, $R_{a}$, $R_{b}$, $C$ | $Ts_{dis}$, $R_{from}$, $R_{to}$, $C$ |
default value | 1.0 | |
inheritance rules |
|
|
|
|
|
|
||
related elements |
|
part | exchange |
Exchange losses
Losses occurring when energy is exchanged between two regions. The parameter lossExc
applies for both directions and will be overwritten by the directed lossExcDir
.
If the exchanged carrier is assigned an emission factor and emissionLoss
is set to true
, these losses are subject to emissions.
name | lossExc | lossExcDir |
unit | percent in decimal | |
dimension | $Ts_{dis}$, $R_{a}$, $R_{b}$, $C$ | $Ts_{dis}$, $R_{from}$, $R_{to}$, $C$ |
default value | 0.0 | |
inheritance rules |
|
|
|
|
|
|
||
related elements | ||
part | exchange |
Exchange cost
Costs imposed on the exchange of quantities. Cost are equally split between the exporting and importing region.
The parameter costVarExc
applies for both directions and will be overwritten by the directed costVarExcDir
.
name | costVarExc | costVarExcDir |
unit | €/MWh | |
dimension | $Ts_{dis}$, $R_{a}$, $R_{b}$, $C$ | $Ts_{dis}$, $R_{from}$, $R_{to}$, $C$ |
default value | none | |
inheritance rules |
|
|
|
|
|
|
||
related elements | ||
part | exchange |
Trade price
Price for buying or selling an energy carrier on an external market.
Can be combined with the parameter trade capacity to create stepped demand and supply curves (see following documentation for details).
name | trdBuyPrc | trdSellPrc |
unit | €/MWh | |
dimension | $Ts_{dis}$, $R_{dis}$, $C$, $id$ | |
default value | none | |
inheritance rules |
| |
related elements |
|
|
part | trade |
Trade capacity
Capacity available for buying or selling an energy carrier on an external market.
Capacity has to be provided in power units and is converted into energy quantities according to the temporal resolution of the respective carrier (e.g. at a daily resolution 2 GW translate into 48 GWh). This approach ensures parameters do not need to be adjusted when the temporal resolution is changed.
name | trdBuyCap | trdSellCap |
unit | GW | |
dimension | $Ts_{dis}$, $R_{dis}$, $C$, $id$ | |
default value | none | |
inheritance rules |
| |
related elements | ||
part | trade |
By assigning the same id
to a trade price and capacity the amount of energy that can be bought or sold at the given price can be limited. As a result, stepped supply and demand curves for energy carriers can be created.
For example, the table below enables the import of hydrogen
to the region West
at 100 €/MWh, but limits the import capacity to 20 GW. When imposing this limit, the capacity is scaled according to the temporal resolution hydrogen is modeled at. So, at a yearly resolution 20 GW would translate to 175.2 TWh (= 20 GW × 8760 h).
region_1 | carrier_1 | id | parameter | value |
West | hydrogen | 1 | trdBuyPrc | 100.0 |
West | hydrogen | 1 | trdBuyCap | 20.0 |
Alternatively, this definition creates an additional electricity demand of 2.0 and 1.0 GW with a willingness-to-pay of 60 and 90 €/MWh, respectively. By adding more columns values could be further differentiated by time-step and region.
carrier_1 | id | parameter | value |
electricity | 1 | trdSellPrc | 60.0 |
electricity | 2 | trdSellPrc | 90.0 |
electricity | 1 | trdSellCap | 2.0 |
electricity | 2 | trdSellCap | 1.0 |
Other dispatch
Demand
Inelastic demand for an energy carrier.
Capacity has to be provided in power units and is converted into energy quantities according to the temporal resolution of the respective carrier (e.g. at a daily resolution 20 GW translate into 480 GWh). This approach ensures parameters do not need to be adjusted when the temporal resolution is changed.
name | dem |
unit | GW |
dimension | $Ts_{dis}$, $R_{dis}$, $C$ |
default value | 0.0 |
inheritance rules |
|
related elements | |
part | balance |
Cost of curtailment and loss of load
Variable costs excess generation or unmet demand is subjected to. Costs can also be negative (=revenues).
name | costCrt | costLss |
unit | €/MWh | |
dimension | $Ts_{dis}$, $R_{dis}$, $C$ | |
default value | none | |
inheritance rules |
| |
related elements |
|
|
part | balance |
Capacity expansion
Here, all parameters relevant to the expansion of conversion, storage, and exchange capacity are listed.
At this point it is important to stress that, as displayed in the technology diagrams, AnyMOD always indicates capacities before efficiency losses! For instance capacity of a gas power plant does not denote its maximum electricity output, but the maximum gas input. This approach is pursued, because efficiency is not a constant and can differ by time-step, region, and mode. As a result, maximum output varies within the dispatch too and is not suited to universally describe installed capacities.
Discount rate
Overall rate to discount all costs to the present. See Cost equations for details on use.
name | rateDisc |
unit | percent as decimal |
dimension | $Ts_{sup}$, $R_{exp}$ |
default value | 0.02 |
inheritance rules |
|
related elements |
|
part | objective |
Interest rate
Interest rate to compute annuity costs of investments. See Cost equations for details on use.
name | rateExpConv | rateExpSt{In/Out/Size} | rateExpExc |
unit | percent as decimal | ||
dimension | $Ts_{exp}$, $R_{exp}$, $Te$ | $Ts_{exp}$, $R_{exp}$, $C$, $Te$ | $Ts_{exp}$, $R_{a}$, $R_{b}$, $C$ |
default value | respective discount rate is used as a default | ||
inheritance rules |
|
| |
related elements | |||
part | objective |
Expansion cost
Costs of capacity expansion (or investment).
Ensure the cost data provided relates to capacity before efficiency (see beginning of section)! Costs before efficiency can be obtained by multiplying costs after efficiency with a nominal efficiency $K_{before} = K_{after} \cdot \eta$.
name | costExpConv | costExpSt{In/Out/Size} | costExpExc |
unit | Mil.€/GW | Mil.€/GWh | Mil.€/GW |
dimension | $Ts_{exp}$, $R_{exp}$, $Te$ | $Ts_{exp}$, $R_{exp}$, $C$, $Te$ | $Ts_{exp}$, $R_{a}$, $R_{b}$, $C$ |
default value | 0 | ||
inheritance rules |
|
| |
related elements | |||
part | objective |
Operating cost
Costs of operating installed capacities.
Ensure the cost data provided relates to capacity before efficiency (see beginning of section)! Costs before efficiency can be obtained by multiplying costs after efficiency with a nominal efficiency $K_{before} = K_{after} \cdot \eta$.
name | costOprConv | costOprSt{In/Out/Size} | costOprExc |
unit | Mil.€/GW/a | Mil.€/GWh/a | Mil.€/GW/a |
dimension | $Ts_{exp}$, $R_{exp}$, $Te$ | $Ts_{exp}$, $R_{exp}$, $C$, $Te$ | $Ts_{exp}$, $R_{a}$, $R_{b}$, $C$ |
default value | 0 | ||
inheritance rules |
|
| |
related elements | |||
part | objective |
Technical lifetime
Time in years a capacity can be operated after construction.
To avoid distortions lifetimes are advised to be divisible by the steps-size of capacity modelling (e.g rather using 20 or 25 instead of 23 when using 5-year steps).
name | lifeConv | lifeSt{In/Out/Size} | lifeExc |
unit | years | ||
dimension | $Ts_{exp}$, $R_{exp}$, $Te$ | $Ts_{exp}$, $R_{exp}$, $C$, $Te$ | $Ts_{exp}$, $R_{a}$, $R_{b}$, $C$ |
default value | 20 | 50 | |
inheritance rules |
|
| |
related elements | |||
part | technology | exchange |
Economic lifetime
Time in years to compute annuity costs of investment. Also determines the time-frame annuity costs are incurred over.
To avoid distortions lifetimes are advised to be divisible by the steps-size of capacity modelling (e.g rather using 20 or 25 instead of 23 when using 5-year steps).
name | lifeEcoConv | lifeEcoSt{In/Out/Size} | lifeEcoExc |
unit | years | ||
dimension | $Ts_{exp}$, $R_{exp}$, $Te$ | $Ts_{exp}$, $R_{exp}$, $C$, $Te$ | $Ts_{exp}$, $R_{a}$, $R_{b}$, $C$ |
default value | respective technical lifetime is used as a default | ||
inheritance rules |
|
| |
related elements | |||
part | technology | exchange |
Construction time
Time in years for construction of capacity. This parameter introduces an offset between the start of the economic and technical lifetime.
To avoid distortions lifetimes are advised to be divisible by the steps-size of capacity modelling (e.g rather using 0 or 5 instead of 3 when using 5-year steps).
name | delConv | delSt{In/Out/Size} | delExc |
unit | years | ||
dimension | $Ts_{exp}$, $R_{exp}$, $Te$ | $Ts_{exp}$, $R_{exp}$, $C$, $Te$ | $Ts_{exp}$, $R_{a}$, $R_{b}$, $C$ |
default value | 0 | ||
inheritance rules |
|
| |
related elements | |||
part | technology | exchange |
Limits on quantities dispatched
Limits on variables also utilize the inheritance algorithm. Therefore, the way parameter data is provided determines how limits are enforced. For example, in the table below the upper limit of 100 GWh on the use of biomass
will be imposed on the sum of use across all years, because the time-step dimension is undefined.
carrier_1 | timestep_1 | parameter | value |
biomass | useUp | 100.0 |
If instead the limit should apply to each year seperately, each of these years needs to be specified.
carrier_1 | timestep_1 | parameter | value |
biomass | 2020 | useUp | 100.0 |
biomass | 2030 | useUp | 100.0 |
As an abbrevation we could also apply the keyword all
(see Time-steps for details) to reduce the number of required rows.
carrier_1 | timestep_1 | parameter | value |
biomass | all | useUp | 100.0 |
So far, the limit for each year still applies to the summed use of biomass across all regions. This could again be altered by adding a respective column.
Applying limits on the sum of variables across different years can be insightful in some case (for example in case of an emission budget from now until 2050). But it also is a likely and severe mistake to make if unfamiliar with AnyMOD's specific mechanics. For this reason defining a limit that sums up variables from different years will cause a warning within the reporting file
Limits on technology dispatch
Limits on technology dispatch. In the inheritance rules sum* only applies for upper limits.
name | use{Fix/Low/Up} | gen{Fix/Low/Up} | stOut{Fix/Low/Up} | stIn{Fix/Low/Up} |
unit | GWh | |||
dimension | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $C$, $Te$, $M$ | |||
default value | none | |||
inheritance rules |
| |||
related elements | ||||
part | limit |
Limits on exchange
Limits on exchange quantities. In the inheritance rules sum* only applies for upper limits.
name | exc{Fix/Low/Up} | ExcDir{Fix/Low/Up} |
unit | GWh | |
dimension | $Ts_{dis}$, $R_{a}$, $R_{b}$, $C$ | |
default value | none | |
inheritance rules |
| |
related elements | part | limit |
Limits on trade, curtailment and loss of load
Limits on traded and curtailed quantities as well as on unmet demand. In the inheritance rules sum* only applies for upper limits.
name | trdBuy{Fix/Low/Up} | trdSell{Fix/Low/Up} | crt{Fix/Low/Up} | lss{Fix/Low/Up} |
unit | GWh | |||
dimension | $Ts_{dis}$, $R_{dis}$, $C$ | |||
default value | none | |||
inheritance rules |
| |||
related elements | ||||
part | limit |
Limits on expansion and capacity
Limits on expansion and capacity are enforced analogously to limits on dispatch quantities. Therefore, the same caution with regard to how limits are defined should be exercised. As explained for dispatched quantities in greater detail, the table below will impose an upper limit of 80 GW on the installed capacity of wind
summed across all years.
technology_1 | timestep_1 | parameter | value |
wind | capaConvUp | 80.0 |
While this table will actually enforce separate limits of 80 GW on the installed capacity of wind
in each year.
technology_1 | timestep_1 | parameter | value |
wind | all | capaConvUp | 80.0 |
Storage ratios
One technology can have four different kinds of capacity variables (see Technologies for details): conversion, storage-input, storage-output, and storage-size. The ratios between these capacities can be fixed by the following parameters:stInToConv
: ratio between conversion and storage-input capacitystOutToStIn
: ratio between storage-output and storage-input capacitysizeToStIn
: ratio between storage-size and storage-input capacity, commonly referred to energy-to-power ratio
Ratios are not directly applied to installed capacities, but to expansion variables instead. Consequently, acutally installed capacities can deviate from the specified ratios, if any residual capacities are provided. In case of stock
technologies, which are not expanded, ratios are directly enforced to capacities. In this case any deviating residual capacities are ignored.
So far, AnyMOD does not support the setting of upper and lower limits on these ratios instead of fixing them. As a workaround, the code below shows how an upper limit of 10 on the energy-to-power ratio can be manually added to a model.
for x in 1:size(model_object.parts.tech[:battery].var[:capaStIn],1)
var = model_object.parts.tech[:battery].var
stIn, stSize = [var[y][x,:var] for y in [:capaStIn,:capaStSize]]
@constraint(model_object.optModel, fixEP, stIn*10 >= stSize)
end
name | stInToConv | stOutToStIn | sizeToStIn |
unit | dimensionless | ||
dimension | $Ts_{exp}$, $R_{exo}$, $C$, $Te$, $M$ | ||
default value | none | ||
inheritance rules |
| ||
related elements |
|
||
part | technology |
Residual capacities
Installed capacities for technologies that already exist without any expansion.
name | capaConvResi | capa{StIn/StOut/StSize}Resi |
unit | GW | |
dimension | $Ts_{sup}$, $Ts_{exp}$, $R_{exp}$, $Te$ | $Ts_{sup}$, $Ts_{exp}$, $R_{exp}$, $C$, $Te$ |
default value | none | |
inheritance rules |
|
|
|
|
|
related elements | ||
part | technology |
Installed exchange capacities that already exist without any expansion.
Defining a residual capacity between two regions generally enables exchange of a specific carrier between these regions. If exchange should be enabled, but no pre-existing capacity exists, a residual capacity of zero can be provided.
name | capaExcResi | capaExcResiDir |
unit | GW | |
dimension | $Ts_{dis}$, $R_{a}$, $R_{b}$, $C$ | $Ts_{dis}$, $R_{from}$, $R_{to}$, $C$ |
default value | none | |
inheritance rules |
|
|
|
|
|
|
||
related elements | ||
part | exchange |
capaExcResi
refers to capacity in both directions, while capaExcResiDir
refers to directed capacities and is added to any undirected values. Consequently, the table below will result in an residual capacity of 4 GW from East
to West
and 3 GW from West
to East
.
region_1 | region_1 | carrier_1 | parameter | value |
East | West | electricity | capaExcResi | 3.0 |
East | West | electricity | capaExcResiDir | 1.0 |
Limits on expansion
Limits on capacity expansion. In the inheritance rules sum* only applies for upper limits.
name | expConv{Fix/Low/Up} | exp{StIn/StOut/StSize}{Fix/Low/Up} | expExc{Fix/Low/Up} |
unit | GW | ||
dimension | $Ts_{exp}$, $R_{exp}$, $Te$ | $Ts_{exp}$, $R_{exp}$, $C$, $Te$ | $Ts_{exp}$, $R_{a}$, $R_{b}$, $C$ |
default value | none | ||
inheritance rules |
|
|
|
|
|||
related elements | |||
part | limit |
Limits on capacity
Limits on installed capacity. In the inheritance rules sum* only applies for upper limits.
name | capaConv{Fix/Low/Up} | capa{StIn/StOut/StSize}{Fix/Low/Up} | capaExc{Fix/Low/Up} |
unit | GW | ||
dimension | $Ts_{sup}$, $Ts_{exp}$, $R_{exp}$, $Te$ | $Ts_{sup}$,$Ts_{exp}$, $R_{exp}$, $C$, $Te$ | $Ts_{sup}$, $R_{a}$, $R_{b}$, $C$ |
default value | none | ||
inheritance rules |
|
|
|
|
|
||
related elements | |||
part | limit |
Limits on operated capacity
Limits on operated capacity. In the inheritance rules sum* only applies for upper limits.
name | oprCapaConv{Fix/Low/Up} | oprCapa{StIn/StOut/StSize}{Fix/Low/Up} | oprCapaExc{Fix/Low/Up} |
unit | GW | ||
dimension | $Ts_{sup}$, $Ts_{exp}$, $R_{exp}$, $Te$ | $Ts_{sup}$,$Ts_{exp}$, $R_{exp}$, $C$, $Te$ | $Ts_{sup}$, $R_{a}$, $R_{b}$, $C$ |
default value | none | ||
inheritance rules |
|
|
|
|
|
||
related elements | |||
part | limit |
Emissions
Emission limit
Upper limit on carbon emissions.
Upper limits on emissions are enforced analogously to limits on dispatch quantities. Therefore, the same caution with regard to how limits are defined should be exercised. As explained for dispatched quantities in greater detail, the table below will impose a carbon budget, meaning an upper limit on the sum of carbon emitted across all years.
timestep_1 | parameter | value |
emissionUp | 80.0 |
While this table will enforce separate limits for each year.
timestep_1 | parameter | value |
all | emissionUp | 80.0 |
name | emissionUp |
unit | Mil. tCO2 |
dimension | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $C$, $Te$, $M$ |
default value | none |
inheritance rules |
|
related elements | |
part | limit |
Emission factor
Relative emissions associated with the use of a carrier.
name | emissionFac |
unit | tCO2/GWh |
dimension | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $C$, $Te$, $M$ |
default value | none |
inheritance rules |
|
related elements | |
part | limit |
Emission price
Costs imposed on emitting carbon.
name | emissionPrc |
unit | €/tCO2 |
dimension | $Ts_{dis}$, $Ts_{exp}$, $R_{dis}$, $C$, $Te$, $M$ |
default value | none |
inheritance rules |
|
related elements | |
part | objective |