Annexes

This section contains technical details of the model.

OSeMOSYS sets, parameters and variables

Sets

Name

Description

Index

YEAR

It represents the time frame of the model, it contains all the years to be considered in the study.

y

TECHNOLOGY

It includes any element of the energy system that changes a commodity from one form to another, uses it or supplies it. All system components are set up as a ‘technology’ in OSeMOSYS. As the model is an abstraction, the modeller is free to interpret the role of a technology at will, where relevant. It may for example represent a single real technology (such as a power plant) or can represent a heavily aggregated collection of technologies (such as the stock of several million light bulbs), or may even simply be a ‘dummy technology’, perhaps used for accounting purposes.

t

TIMESLICE

It represents the time split of each modelled year, therefore the time resolution of the model. Common to several energy systems modelling tools (incl. MESSAGE / MARKAL / TIMES), the annual demand is ‘sliced’ into representative fractions of the year. It is necessary to assess times of the year when demand is high separately from times when demand is low, for fuels that are expensive to store. In order to reduce the computation time, these ‘slices’ are often grouped. Thus, the annual demand may be split into aggregate seasons where demand levels are similar (such as ‘summer, winter and intermediate’). Those seasons may be subdivided into aggregate ‘day types’ (such as workdays and weekends), and the day further sub divided (such as into day and night) depending on the level of demand.

l

FUEL

It includes any energy vector, energy service or proxies entering or exiting technologies. These can be aggregate groups, individual flows or artificially separated, depending on the requirements of the analysis.

f

EMISSION

It includes any kind of emission potentially deriving from the operation of the defined technologies. Typical examples would include atmospheric emissions of greenhouse gasses, such as CO2.

e

MODE_OF_OPERATION

It defines the number of modes of operation that the technologies can have. If a technology can have various input or output fuels and it can choose the mix (i.e. any linear combination) of these input or output fuels, each mix can be accounted as a separate mode of operation. For example, a CHP plant may produce heat in one mode of operation and electricity in another.

m

REGION

It sets the regions to be modelled, e.g. different countries. For each of them, the supply-demand balances for all the energy vectors are ensured, including trades with other regions. In some occasions it might be computationally more convenient to model different countries within the same region and differentiate them simply by creating ad hoc fuels and technologies for each of them.

r

SEASON

It gives indication (by successive numerical values) of how many seasons (e.g. winter, intermediate, summer) are accounted for and in which order.

ls

This set is needed if storage facilities are included in the model.

DAYTYPE

It gives indication (by successive numerical values) of how many day types (e.g. workday, weekend) are accounted for and in which order.

ld

This set is needed if storage facilities are included in the model.

DAILYTIMEBRACKET

It gives indication (by successive numerical values) of how many parts the day is split into (e.g. night, morning, afternoon, evening) and in which order these parts are sorted.

lh

This set is needed if storage facilities are included in the model.

STORAGE

It includes storage facilities in the model.

s

Parameters

Global parameters

YearSplit[l,y]

Duration of a modelled time slice, expressed as a fraction of the year. The sum of each entry over one modelled year should equal 1.

DiscountRate[r]

Region specific value for the discount rate, expressed in decimals (e.g. 0.05)

DaySplit[lh,y]

Length of one DailyTimeBracket in one specific day as a fraction of the year (e.g., when distinguishing between days and night: 12h/(24h*365d)).

Conversionls[l,ls]

Binary parameter linking one TimeSlice to a certain Season. It has value 0 if the TimeSlice does not pertain to the specific season, 1 if it does.

Conversionld[ld,l]

Binary parameter linking one TimeSlice to a certain DayType. It has value 0 if the TimeSlice does not pertain to the specific DayType, 1 if it does.

Conversionlh[lh,l]

Binary parameter linking one TimeSlice to a certain DaylyTimeBracket. It has value 0 if the TimeSlice does not pertain to the specific DaylyTimeBracket, 1 if it does.

DaysInDayType[ls,ld,y]

Number of days for each day type, within one week (natural number, ranging from 1 to 7)

TradeRoute[r,rr,f,y]

Binary parameter defining the links between region r and region rr, to enable or disable trading of a specific commodity. It has value 1 when two regions are linked, 0 otherwise

DepreciationMethod[r]

Binary parameter defining the type of depreciation to be applied. It has value 1 for sinking fund depreciation, value 2 for straight-line depreciation.

Demands

SpecifiedAnnualDemand[r,f,y]

Total specified demand for the year, linked to a specific ‘time of use’ during the year.

SpecifiedDemandProfile[r,f,l,y]

Annual fraction of energy-service or commodity demand that is required in each time slice. For each year, all the defined SpecifiedDemandProfile input values should sum up to 1.

AccumulatedAnnualDemand[r,f,y]

Accumulated Demand for a certain commodity in one specific year. It cannot be defined for a commodity if its SpecifiedAnnualDemand for the same year is already defined and vice versa.

Performance

CapacityToActivityUnit[r,t]

Conversion factor relating the energy that would be produced when one unit of capacity is fully used in one year.

AvailabilityFactor[r,t,y]

Capacity available eachTimeSlice expressed as a fraction of the total installed capacity, with values ranging from 0 to 1. It gives the possibility to account for forced outages.

OperationalLife[r,t]

Maximum time a technology can run in the whole year, as a fraction of the year ranging from 0 to 1. It gives the possibility to account for planned outages.

ResidualCapacity[r,t,y]

Useful lifetime of a technology, expressed in years.

InputActivityRatio[r,t,f,m,y]

Capacity available from before the modelling period.

OutputActivityRatio[r,t,f,m,y]

Rate of use of a commodity by a technology, as a ratio of the rate of activity.

Technology costs

CapitalCost[r,t,y]

Capital investment cost of a technology, per unit of capacity.

VariableCost[r,t,m,y]

Cost of a technology for a given mode of operation (Variable O&M cost), per unit of activity.

FixedCost[r,t,y]

Fixed O&M cost of a technology, per unit of capacity.

Storage

TechnologyToStorage[r,t,s,m]

Binary parameter linking a technology to the storage facility it charges. It has value 1 if the technology and the storage facility are linked, 0 otherwise.

TechnologyFromStorage[r,t,s,m]

Binary parameter linking a storage facility to the technology it feeds. It has value 1 if the technology and the storage facility are linked, 0 otherwise.

StorageLevelStart[r,s]

Level of storage at the beginning of first modelled year, in units of activity.

StorageMaxChargeRate[r,s]

Maximum charging rate for the storage, in units of activity per year.

StorageMaxDischargeRate[r,s]

Maximum discharging rate for the storage, in units of activity per year.

MinStorageCharge[r,s,y]

It sets a lower bound to the amount of energy stored, as a fraction of the maximum, with a number reanging between 0 and 1. The storage facility cannot be emptied below this level.

OperationalLifeStorage[r,s]

Useful lifetime of the storage facility.

CapitalCostStorage[r,s,y]

Binary parameter linking a technology to the storage facility it charges. It has value 0 if the technology and the storage facility are not linked, 1 if they are.

ResidualStorageCapacity[r,s,y]

Binary parameter linking a storage facility to the technology it feeds. It has value 0 if the technology and the storage facility are not linked, 1 if they are.

Capacity constraints

CapacityOfOneTechnologyUnit[r,t,y]

Capacity of one new unit of a technology. In case the user sets this parameter, the related technology will be installed only in batches of the specified capacity and the problem will turn into a Mixed Integer Linear Problem.

TotalAnnualMaxCapacity[r,t,y]

Total maximum existing (residual plus cumulatively installed) capacity allowed for a technology in a specified year.

TotalAnnualMinCapacity[r,t,y]

Total minimum existing (residual plus cumulatively installed) capacity allowed for a technology in a specified year.

Investment constraints

TotalAnnualMaxCapacityInvestment[r,t,y]

Maximum capacity of a technology, expressed in power units.

TotalAnnualMinCapacityInvestment[r,t,y]

Minimum capacity of a technology, expressed in power units.

Activity constraints

TotalTechnologyAnnualActivityUpperLimit[r,t,y]

Total maximum level of activity allowed for a technology in one year.

TotalTechnologyAnnualActivityLowerLimit[r,t,y]

Total minimum level of activity allowed for a technology in one year.

TotalTechnologyModelPeriodActivityUpperLimit[r,t]

Total maximum level of activity allowed for a technology in the entire modelled period.

TotalTechnologyModelPeriodActivityLowerLimit[r,t]

Total minimum level of activity allowed for a technology in the entire modelled period.

Reserve margin

ReserveMarginTagTechnology[r,t,y]

Binary parameter tagging the technologies that are allowed to contribute to the reserve margin. It has value 1 for the technologies allowed, 0 otherwise.

ReserveMarginTagFuel[r,f,y]

Binary parameter tagging the fuels to which the reserve margin applies. It has value 1 if the reserve margin applies to the fuel, 0 otherwise.

ReserveMargin[r,y]

Minimum level of the reserve margin required to be provided for all the tagged commodities, by the tagged technologies. If no reserve margin is required, the parameter will have value 1; if, for instance, 20% reserve margin is required, the parameter will have value 1.2.

RE Generation target

RETagTechnology[r,t,y]

Binary parameter tagging the renewable technologies that must contribute to reaching the indicated minimum renewable production target. It has value 1 for thetechnologies contributing, 0 otherwise.

RETagFuel[r,f,y]

Binary parameter tagging the fuels to which the renewable target applies to. It has value 1 if the target applies, 0 otherwise.

REMinProductionTarget[r,y]

Minimum ratio  of all renewable commodities tagged in the RETagCommodity parameter, to be produced by the technologies tagged with the RETechnology parameter.

Emissions

EmissionActivityRatio[r,t,e,m,y]

Emission factor of a technology per unit of activity, per mode of operation.

EmissionsPenalty[r,e,y]

Penalty per unit of emission.

AnnualExogenousEmission[r,e,y]

It allows the user to account for additional annual emissions, on top of those computed endogenously by the model (e.g. emissions generated outside the region).

AnnualEmissionLimit[r,e,y]

Annual upper limit for a specific emission generated in the whole modelled region.

ModelPeriodExogenousEmission[r,e]

It allows the user to account for additional emissions over the entire modelled period, on top of those computed endogenously by the model (e.g. generated outside the region).

ModelPeriodEmissionLimit[r,e]

Annual upper limit for a specific emission generated in the whole modelled region, over the entire modelled period.

Variables

Demands

Unit

RateOfDemand[r,l,f,y]>=0

Intermediate variable. It represents the energy that would be demanded in one time slice l if the latter lasted the whole year. It is a function of  the parameters SpecifiedAnnualDemand and SpecifiedDemandProfile.

Energy

(per year)

Demand[r,l,f,y]>=0

Demand for one fuel in one time slice.

Energy

Storage

RateOfStorageCharge[r,s,ls,ld,lh,y]

Intermediate variable. It represents the commodity that would be charged to the storage facility s in one time slice if the latter lasted the whole year. It is a function of the RateOfActivity and the parameter TechnologyToStorage.

Energy

(per year)

RateOfStorageDischarge[r,s,ls,ld,lh,y]

Intermediate variable. It represents the commodity that would be discharged from storage facility s in one time slice if the latter lasted the whole year. It is a function of  the RateOfActivity and the parameter TechnologyFromStorage.

Energy

(per year)

NetChargeWithinYear[r,s,ls,ld,lh,y]

Net quantity of commodity charged to storage facility s in year y. It is a function of the RateOfStorageCharge and the RateOfStorageDischarge and it can be negative.

Energy

NetChargeWithinDay[r,s,ls,ld,lh,y]

Net quantity of commodity charged to storage facility s in daytype ld. It is a function of the RateOfStorageCharge and the RateOfStorageDischarge and can be negative.

Energy

StorageLevelYearStart[r,s,y]>=0

Level of stored commodity in storage facility s in the first time step of year y.

Energy

StorageLevelYearFinish[r,s,y]>=0

Level of stored commodity in storage facility s in the last time step of year y.

Energy

StorageLevelSeasonStart[r,s,ls,y]>=0

Level of stored commodity in storage facility s in the first time step of season ls.

Energy

StorageLevelDayTypeStart[r,s,ls,ld,y]>=0

Level of stored commodity in storage facility s in the first time step of daytype ld.

Energy

StorageLevelDayTypeFinish[r,s,ls,ld,y]>=0

Level of stored commodity in storage facility s in the last time step of daytype ld.

Energy

StorageLowerLimit[r,s,y]>=0

Minimum allowed level of stored commodity in storage facility s, as a function of the storage capacity and the user-defined MinStorageCharge ratio.

Energy

StorageUpperLimit[r,s,y]>=0

Maximum allowed level of stored commodity in storage facility s. It corresponds to the total existing capacity of storage facility s (summing newly installed and pre-existing capacities).

Energy

AccumulatedNewStorageCapacity[r,s,y]>=0

Cumulative capacity of newly installed storage from the beginning of the time domain to year y.

Energy

NewStorageCapacity[r,s,y]>=0

Capacity of newly installed storage in year y.

Energy

CapitalInvestmentStorage[r,s,y]>=0

Undiscounted investment in new capacity for storage facility s. Derived from the NewStorageCapacity and the parameter CapitalCostStorage.

Monetary units

DiscountedCapitalInvestmentStorage[r,s,y]>=0

Investment in new capacity for storage facility s, discounted through the parameter DiscountRate.

Monetary units

SalvageValueStorage[r,s,y]>=0

Salvage value of storage facility s in year y, as a function of the parameters OperationalLifeStorage and DepreciationMethod.

Monetary units

DiscountedSalvageValueStorage[r,s,y]>=0

Salvage value of storage facility s, discounted through the parameter DiscountRate.

Monetary units

TotalDiscountedStorageCost[r,s,y]>=0

Difference between the discounted capital investment in new storage facilities and the salvage value in year y.

Monetary units

Capacity variables

NumberOfNewTechnologyUnits[r,t,y]>=0, integer

Number of newly installed units of technology t in year y, as a function of the parameter CapacityOfOneTechnologyUnit.

No unit

NewCapacity[r,t,y]>=0

Newly installed capacity of technology t in year y.

Power

AccumulatedNewCapacity[r,t,y]>=0

Cumulative newly installed capacity of technology t from the beginning of the time domain to year y.

Power

TotalCapacityAnnual[r,t,y]>=0

Total existing capacity of technology t in year y (sum of cumulative newly installed and pre-existing capacity).

Power

Activity variables

RateOfActivity[r,l,t,m,y] >=0

Intermediate variable. It represents the activity of technology t in one mode of operation and in time slice l, if the latter lasted the whole year.

Energy

(per year)

RateOfTotalActivity[r,t,l,y] >=0

Sum of the RateOfActivity of a technology over the modes of operation.

Energy

(per year)

TotalTechnologyAnnualActivity[r,t,y] >=0

Total annual activity of technology t.

Energy

TotalAnnualTechnologyActivityByMode[r,t,m,y] >=0

Annual activity of technology t in mode of operation m.

Energy

TotalTechnologyModelPeriodActivity[r,t]

Sum of the TotalTechnologyAnnualActivity over the years of the modelled period.

Energy

RateOfProductionByTechnologyByMode[r,l,t,m,f,y] >=0

Intermediate variable. It represents the quantity of fuel f that technology t would produce in one mode of operation and in time slice l, if the latter lasted the whole year. It is a function of the variable RateOfActivity and the parameter OutputActivityRatio.

Energy

(per year)

RateOfProductionByTechnology[r,l,t,f,y] >=0

Sum of the RateOfProductionByTechnologyByMode over the modes of operation.

Energy

(per year)

ProductionByTechnology[r,l,t,f,y] >=0

Production of fuel f by technology t in time slice l.

Energy

ProductionByTechnologyAnnual[r,t,f,y] >=0

Annual production of fuel f by technology t.

Energy

RateOfProduction[r,l,f,y] >=0

Sum of the RateOfProductionByTechnology over all the technologies.

Energy

(per year)

Production[r,l,f,y] >=0

Total production of fuel f in time slice l. It is the sum of the ProductionByTechnology over all technologies.

Energy

RateOfUseByTechnologyByMode[r,l,t,m,f,y] >=0

Intermediate variable. It represents the quantity of fuel f that technology t would use in one mode of operation and in time slice l, if the latter lasted the whole year. It is the function of the variable RateOfActivity and the parameter InputActivityRatio.

Energy

(per year)

RateOfUseByTechnology[r,l,t,f,y] >=0

Sum of the RateOfUseByTechnologyByMode over the modes of operation.

Energy

(per year)

UseByTechnologyAnnual[r,t,f,y] >=0

Annual use of fuel f by technology t.

Energy

RateOfUse[r,l,f,y] >=0

Sum of the RateOfUseByTechnology over all the technologies.

Energy

(per year)

UseByTechnology[r,l,t,f,y] >=0

Use of fuel f by technology t in time slice l.

Energy

Use[r,l,f,y] >=0

Total use of fuel f in time slice l. It is the sum of the UseByTechnology over all technologies.

Energy

Trade[r,rr,l,f,y]

Quantity of fuel f traded between region r and rr in time slice l.

Energy

TradeAnnual[r,rr,f,y]

Annual quantity of fuel f traded between region r and rr. It is the sum of the variable Trade over all the time slices.

Energy

ProductionAnnual[r,f,y] >=0

Total annual production of fuel f. It is the sum of the variable Production over all technologies.

Energy

UseAnnual[r,f,y] >=0

Total annual use of fuel f. It is the sum of the variable Use over all technologies.

Energy

Costing variables

CapitalInvestment[r,t,y] >=0

Undiscounted investment in new capacity of technology t. It is a function of the NewCapacity and the parameter CapitalCost.

Monetary units

DiscountedCapitalInvestment[r,t,y] >=0

Investment in new capacity of technology t, discounted through the parameter DiscountRate.

Monetary units

SalvageValue[r,t,y] >=0

Salvage value of technology t in year y, as a function of the parameters OperationalLife and DepreciationMethod.

Monetary units

DiscountedSalvageValue[r,t,y] >=0

Salvage value of technology t, discounted through the parameter DiscountRate.

Monetary units

OperatingCost[r,t,y] >=0

Undiscounted sum of the annual variable and fixed operating costs of technology t.

Monetary units

DiscountedOperatingCost[r,t,y] >=0

Annual OperatingCost of technology t, discounted through the parameter DiscountRate.

Monetary units

AnnualVariableOperatingCost[r,t,y] >=0

Annual variable operating cost of technology t. Derived from the TotalAnnualTechnologyActivityByMode and the parameter VariableCost.

Monetary units

AnnualFixedOperatingCost[r,t,y] >=0

Annual fixed operating cost of technology t. Derived from the TotalCapacityAnnual and the parameter FixedCost.

Monetary units

TotalDiscountedCostByTechnology[r,t,y] >=0

Difference between the sum of discounted operating cost / capital cost / emission penalties and the salvage value.

Monetary units

TotalDiscountedCost[r,y] >=0

Sum of the TotalDiscountedCostByTechnology over all the technologies.

Monetary units

ModelPeriodCostByRegion[r] >=0

Sum of the TotalDiscountedCost over all modelled years.

Monetary units

Reserve margin

TotalCapacityInReserveMargin[r,y] >=0

Total available capacity of the technologies required to provide reserve margin. It is derived from the TotalCapacityAnnual and the parameter ReserveMarginTagTechnology.

Energy

DemandNeedingReserveMargin[r,l,y] >=0

Quantity of fuel produced that is assigned to a target of reserve margin. Derived from the RateOfProduction and the parameter ReserveMarginTagFuel.

Energy

RE Generation target

TotalREProductionAnnual[r,y]

Annual production by all technologies tagged as renewable in the model. Derived from the ProductionByTechnologyAnnual and the parameter RETagTechnology.

Energy

RETotalProductionOfTargetFuelAnnual[r,y]

Annual production of fuels tagged as renewable in the model. Derived from the RateOfProduction and the parameter RETagFuel.

Energy

Emissions

AnnualTechnologyEmissionByMode[r,t,e,m,y] >=0

Annual emission of agent e by technology t in mode of operation m. Derived from the RateOfActivity and the parameter EmissionActivityRatio.

Quantity of emission

AnnualTechnologyEmission[r,t,e,y] >=0

Sum of the AnnualTechnologyEmissionByMode over the modes of operation.

Quantity of emission

AnnualTechnologyEmissionPenaltyByEmission[r,t,e,y] >=0

Undiscounted annual cost of emission e by technology t. It is a function of the AnnualTechnologyEmission and the parameter EmissionPenalty.

Monetary units

AnnualTechnologyEmissionsPenalty[r,t,y] >=0

Total undiscounted annual cost of all emissions generatedby technology t. Sum of the AnnualTechnologyEmissionPenaltyByEmission over all the emitted agents.

Monetary units

DiscountedTechnologyEmissionsPenalty[r,t,y] >=0

Annual cost of emissions by technology t, discounted through the DiscountRate.

Monetary units

AnnualEmissions[r,e,y] >=0

Sum of the AnnualTechnologyEmission over all technologies.

Quantity of emission

ModelPeriodEmissions[r,e] >=0

Total system emissions of agent e in the model period, accounting for both the emissions by technologies and the user defined ModelPeriodExogenousEmission.

Quantity of emission