Note
This page is generated from inline documentation in MESSAGE/parameter_def.gms
.
Parameter definition¶
This file contains the definition of all parameters used in MESSAGEix.
In MESSAGEix, all parameters are understood as yearly values, not as per (multiyear) period.
This provides flexibility when changing the resolution of the model horizon (i.e., the set year
).
General parameters of the MESSAGEix implementation¶
Caution
Parameters written in bold are auxiliary parameters
that are either generated automatically when exporting a message_ix.Scenario
to gdx
or that are computed during the preprocessing stage in GAMS (see the footnotes for more
individual details). These are not meant to be edited through the API when editing scenarios.
Parameter name 
Index dimensions 
Explanatory comments 

interestrate 

Economywide interest rate or social discount rate 
duration_time 

Duration of subannual time slices (relative to 1) 1 
duration_period (\(y\)) 2 

Duration of multiyear period (in number of years) 3 
duration_period_sum 

Number of years between two periods 4 
duration_time_rel 

Relative duration between subannual time slices 4 
df_period 

Cumulative discount factor over period duration 4 
df_year 

Discount factor of the last year in the period 4 
 1
The element ‘year’ in the set of subannual time slices
time
has the value of 1. This value is assigned by default when creating a newixmp.Scenario
based on theMESSAGE
scheme. 2
The shorthand notation \(y\) is used for the parameters \(duration\_period_y\) in the mathematical model documentation for exponents.
 3
The values for this parameter are computed automatically when exporting a
MESSAGE
schemeixmp.Scenario
to gdx. Note that in MESSAGEix, the elements of theyear
set are understood to be the last year in a period. See Years, periods, and time slices. 4(1,2,3,4)
These parameters are computed during the GAMS execution.
Parameters of the Resources section¶
In MESSAGEix, the volume of resources at the start of the model horizon is defined by resource_volume
. The quantity of the
resources that are extracted per year is dependent on two parameters. The first is bound_extraction_up
, which constraints
the maximum extraction of the resources (by grade) in a year. The second is resource_remaining
, which is the maximum
extraction of the remaining resources in a certain year, as a percentage. Extraction costs for resources are represented by
resource_cost
parameter.
Parameter name 
Index dimensions 

resource_volume 

resource_cost 

resource_remaining 

bound_extraction_up 

commodity_stock 5 

historical_extraction 6 

 5
Commodity stock refers to an exogenous (initial) quantity of commodity in stock. This parameter allows (exogenous) additions to the commodity stock over the model horizon, e.g., precipitation that replenishes the water table.
 6(1,2,3,4,5)
Historical values of new capacity and activity can be used for parametrising the vintage structure of existing capacity and implement dynamic constraints in the first model period.
Parameters of the Demand section¶
Parameter name 
Index dimensions 

demand [demand_fixed] 7 

peak_load_factor 8 

 7
The parameter
demand
in aMESSAGE
schemeixmp.Scenario
is translated to the parameterdemand_fixed
in the MESSAGEix implementation in GAMS. The variableDEMAND
is introduced as an auxiliary reporting variable; it equalsdemand_fixed
in a MESSAGEstandalone run and reports the final demand including the price response in an iterative MESSAGEMACRO solution. 8(1,2)
The parameters
peak_load_factor
(maximum peak load factor for reliability constraint of firm capacity) andreliability_factor
(reliability of a technology (per rating)) are based on the formulation proposed by Sullivan et al., 2013 [6]. It is used in Reliability of installed capacity.
Parameters of the Technology section¶
Input/output mapping, costs and engineering specifications¶
Parameter name 
Index dimensions 

input 9 

output 9 

inv_cost 9 

fix_cost 9 

var_cost 9 

levelized_cost 10 

construction_time 11 

technical_lifetime 

capacity_factor 9 

operation_factor 9 

min_utilization_factor 9 

rating_bin 12 

reliability_factor 8 

flexibility_factor 13 

renewable_capacity_factor 14 

renewable_potential 14 

emission_factor 

 9(1,2,3,4,5,6,7,8)
Fixed and variable cost parameters and technical specifications are indexed over both the year of construction (vintage) and the year of operation (actual). This allows to represent changing technology characteristics depending on the age of the plant.
 10
The parameter
levelized_cost
is computed in the GAMS preprocessing under the assumption of full capacity utilization until the end of the technical lifetime. 11
The construction time only has an effect on the investment costs; in MESSAGEix, each unit of newbuilt capacity is available instantaneously at the beginning of the model period.
 12
Maximum share of technology in commodity use per rating. The upper bound of a contribution by any technology to the constraints on system reliability (Reliability of installed capacity) and flexibility (Equation SYSTEM_FLEXIBILITY_CONSTRAINT) can depend on the share of the technology output in the total commodity use at a specific level.
 13
Contribution of technologies towards operation flexibility constraint. It is used in Equation SYSTEM_FLEXIBILITY_CONSTRAINT.
 14(1,2)
renewable_capacity_factor
refers to the quality of renewable potential by grade andrenewable_potential
refers to the size of the renewable potential per grade.
Bounds on capacity and activity¶
The following parameters specify upper and lower bounds on new capacity, total installed capacity, and activity. The bounds on activity are implemented as the aggregate over all vintages in a specific period (Equation ACTIVITY_BOUND_UP and Equation ACTIVITY_BOUND_LO).
Parameter name 
Index names 

bound_new_capacity_up 

bound_new_capacity_lo 

bound_total_capacity_up 

bound_total_capacity_lo 

bound_activity_up 

bound_activity_lo 

Dynamic constraints on new capacity and activity¶
These parameters are used in the dynamic constraint equations to limit the growth (or decline) of activity or of new capacity in each period, relative to the preceding period.
The soft_
parameters control ‘soft’ relaxation of these dynamic constraints, using the method of Keppo and Strubegger (2010) [3].
The growth_
and soft_
parameters are expressed as relative annual change and are unitless.
Because these are annual values, are compounded in the constraint equations by duration_period
(\(y\)) to obtain the relative interperiod change.
Example: a value of 0.05 for growth_activity_up
sets an upper bound of \(1 + 0.05 = 105\%\) activity in one year relative to activity in the preceding year.
In a period with duration \(y = 5 \text{ years}\), the activity in the representative year is bounded at \((1.05)^5 = 128\%\) of the activity in the representative year of the preceding period.
Because these parameters do not have a mode
(\(m\)) dimension, they cannot be used to constraint the activity/new capacity of single modes of technologies; only the total across all modes.
Parameter name 
Index names 

initial_new_capacity_up 

growth_new_capacity_up 

soft_new_capacity_up 

initial_new_capacity_lo 

growth_new_capacity_lo 

soft_new_capacity_lo 

initial_activity_up 

growth_activity_up 

soft_activity_up 

initial_activity_lo 

growth_activity_lo 

soft_activity_lo 

Parameters for the addon technologies¶
The implementation of MESSAGEix includes the functionality to introduce “addon technologies” that are specifically
linked to parent technologies. This feature can be used to model mitigation options (scrubber, cooling). Upper and
lower bounds of addon technologies are defined relative to the parent: addon_up
and addon_lo
, respectively.
Note
No default addon_conversion
factor (conversion factor between addon and parent technology activity) is set.
This is to avoid default conversion factors of 1 being set for technologies with multiple modes, of which only a
single mode should be linked to the addon technology.
Parameter name 
Index names 

addon_conversion 

addon_up 

addon_lo 

Parameters for representing storage solutions¶
The MESSAGEix formulation includes “storage” solutions to model subannual, intertemporal storage of commodities in each period.
This feature can be used to model electricity storage (pumped hydro, batteries, compressed air energy storage, etc.), thermal energy storage,
demand side management, and in general any technology for storing commodities (gas, hydrogen, water, etc.) over subannual timesteps.
The user defines the chronological order of subannual time steps by assigning a number to them in parameter time_order
.
This order is used by storage equations to shift the stored commodity in a correct timeline, e.g., from Jan through to Dec, and not vice versa.
The last subannual timestep is linked to the first one to close the loop of the year. Parameter storage_initial
is to set an initial amount
for the content of storage in any desirable timestep (optionally). This initial value is a costfree stored media that storage can discharge
in the same or following timesteps. storage_self_discharge
represents the selfdischarge (loss) of storage as % of the level of stored media
in each timestep. This allows to model timerelated losses in storage separately, in addition to charging and discharging losses.
Parameter name 
Index names 

storage_initial 

storage_self_discharge 

time_order 

Cost parameters for ‘soft’ relaxations of dynamic constraints¶
The implementation of MESSAGEix includes the functionality for ‘soft’ relaxations of dynamic constraints on newbuilt capacity and activity (see Keppo and Strubegger, 2010 [3]). Refer to the section Dynamic constraints on new capacity and activity. Absolute cost and levelized cost multipliers are used for the relaxation of upper and lower bounds.
Parameter name 
Index names 

abs_cost_new_capacity_soft_up 

abs_cost_new_capacity_soft_lo 

level_cost_new_capacity_soft_up 

level_cost_new_capacity_soft_lo 

abs_cost_activity_soft_up 

abs_cost_activity_soft_lo 

level_cost_activity_soft_up 

level_cost_activity_soft_lo 

Historical capacity and activity values¶
Historical data on new capacity and activity levels are included in MESSAGEix for correct accounting of the vintage portfolio and a seamless implementation of dynamic constraints from historical years to model periods.
Parameter name 
Index names 

historical_new_capacity 6 

historical_activity 6 

Auxiliary investment cost parameters and multipliers¶
Auxiliary investment cost parameters include the remaining technical lifetime at the end of model horizon (beyond_horizon_lifetime
) in addition to the
different scaling factors and multipliers as listed below. These factors account for remaining capacity (remaining_capacity
) or construction time of new capacity (construction_time_factor
),
the value of investment at the end of model horizon (end_of_horizon_factor
) or the discount factor of remaining lifetime beyond model horizon (beyond_horizon_factor
).
Parameter name 
Index names 

construction_time_factor 

remaining_capacity 

end_of_horizon_factor 

beyond_horizon_lifetime 

beyond_horizon_factor 

Parameters of the Emission section¶
The implementation of MESSAGEix includes a flexible and versatile accounting of emissions across different categories and species, with the option to define upper bounds and taxes on various (aggregates of) emissions and pollutants, (sets of) technologies, and (sets of) years.
Parameter name 
Index dimensions 

historical_emission 6 

emission_scaling 15 

bound_emission 

tax_emission 

 15
The parameter
emission_scaling
is the scaling factor to harmonize bounds or taxes across types of emissions. It allows to efficiently aggregate different emissions/pollutants and set bounds or taxes on various categories.
Parameters of the LandUse model emulator section¶
The implementation of MESSAGEix includes a landuse model emulator, which draws on exogenous landuse scenarios (provided by another model) to derive supply of commodities (e.g., biomass) and emissions from agriculture and forestry. The parameters listed below refer to the assigned land scenario.
Parameter name 
Index dimensions 

historical_land 6 

land_cost 

land_input 

land_output 

land_use 

land_emission 

initial_land_scen_up 

growth_land_scen_up 

initial_land_scen_lo 

growth_land_scen_lo 

initial_land_up 

dynamic_land_up 

growth_land_up 

initial_land_lo 

dynamic_land_lo 

growth_land_lo 

Parameters of the Relations section¶
Generic linear relations are implemented in MESSAGEix. This feature is intended for development and testing only  all new features should be implemented as specific new mathematical formulations and associated sets & parameters. For the formulation of the relations, refer to Section of generic relations (linear constraints).
Parameter name 
Index dimensions 

relation_upper 

relation_lower 

relation_cost 

relation_new_capacity 

relation_total_capacity 

relation_activity 

Fixed variable values¶
The following parameters allow to set variable values to a specific value. The value is usually taken from a solution of another model instance (e.g., scenarios where a shock sets in later to mimic imperfect foresight).
The fixed values do not override any upper or lower bounds that may be defined, so fixing variables to values outside of that range will yield an infeasible model.
Parameter name 
Index dimensions 

fixed_extraction 

fixed_stock 

fixed_new_capacity 

fixed_capacity 

fixed_activity 

fixed_land 

Note that the variable \(STOCK\_CHG\) is determined implicitly by the \(STOCK\) variable and therefore does not need to be explicitly fixed.
Auxiliary reporting parameters¶
The following parameters are used for reporting (postprocessing) solved models. They assign monetary value to
the net total system costs from trading and emission taxes (total_cost
). Morevoer, they also assign a value
to the total trade of commodities (the difference between the revenues from exports and the costs of imports,
trade_cost
) and to the costs from importing (import_cost
) and the revenues from exporting (export_cost
)
in each node and year.
Parameter name 
Index dimensions 

total_cost 

trade_cost 

import_cost 

export_cost 
