8.3.3. Technodata
The technodata includes the techno-economic characteristics of each technology such
as capital, fixed and variable cost, lifetime, utilization factor.
Models should have one technodata file for each sector, which is referenced
in the TOML settings file using the technodata key.
Technodata files should follow the structure reported in the table below.
In this example, we show an electric boiler for a generic region, region1:
technology |
region |
year |
cap_par |
cap_exp |
fix_par |
… |
|---|---|---|---|---|---|---|
resBoilerElectric |
region1 |
2010 |
3.81 |
1.00 |
0.38 |
… |
resBoilerElectric |
region1 |
2030 |
3.81 |
1.00 |
0.38 |
… |
technologyrepresents the technology ID and needs to be consistent across all the data inputs
regionrepresents the region ID (must match a region specified in the settings file)
yearrepresents the period of the simulation to which the value applies; it needs to contain at least the base year of the simulation
- Capital costs (optional, default
cap_par = 0andcap_exp = 1) Two parameters are used in the capital cost estimation (
cap_parandcap_exp), defined as:\[\text{CAPEX} = \text{cap$\_$par} * \text{(Capacity)}^\text{cap$\_$exp}\]The exponent allows the model to take into account economies of scale (ie. As Capacity increases, the capital cost of the technology decreases).
- Fixed costs (optional, default
fix_par = 0andfix_exp = 1) Two parameters are used in the fixed cost estimation (
fix_parandfix_exp), defined as:\[\text{FOM} = \text{fix$\_$par} * (\text{Capacity})^\text{fix$\_$exp}\]The exponent allows the model to take into account economies of scale (ie. As Capacity increases, the fixed cost of the technology decreases).
- Variable costs (optional, default
var_par = 0andvar_exp = 1) Two parameters are used in the variable cost estimation (
var_parandvar_exp), defined as:\[\text{VAREX} = \text{var$\_$par} * \text{(Production)}^{\text{var$\_$exp}}\]The exponent allows the model to take into account economies of scale (ie. As Production increases, the variable cost of the technology decreases).
- Capacity constraints (optional)
max_capacity_additionrepresents the maximum addition of installed capacity per technology, per year in a period, per region.
max_capacity_growthrepresents the fraction growth per year based on the available stock in a year, per region and technology. To allow growth to be initiated, a seed value must be specified (see
growth_seedbelow).total_capacity_limitrepresents the total capacity limit per technology, region and year.
Techno-data: capacity constraints technology
region
max_capacity_addition
max_capacity_growth
total_capacity_limit
resBoilerElectric
region1
10
0.2
100
In this example,
max_capacity_addition,max_capacity_growthandtotal_capacity_limitequal to 10 PJ, 0.2 (corresponding to 20 %), and 100 PJ. Assuming a 5-year time step:max_capacity_additionrestricts new capacity which can be installed over the investment period to 10 * 5 = 50 PJ.max_capacity_growthrestricts capacity growth to 20 % per year (\(\approx\) 149 % over 5 years). The investment limit will depend on the existing capacity and the decommissioning profile. Assuming that 7.7 PJ of resBoilerElectric is available in the current year, and that 4.9 PJ of resBoilerElectric is already commissioned for the investment year, then the constraint applies as follows: 7.7 * (1 + 0.2)5 - 4.9 = 14.3 PJ. Also see the GrowthSeed parameter below.total_capacity_limitwill restrict new addition to 100 - 4.9 = 95.1 PJ (so that total capacity in the investment year will not exceed 100 PJ).Overall, the most restrictive constraint will apply, which in this case is 14.3 PJ.
Capacity constraints are applied separately for each agent. In multi-agent simulations, each agent receives a proportion of the overall limit according to its quantity (i.e. share of the commodity demand). For example, if a technology has a
max_capacity_additionof 100 MW per year, then an agent with a quantity of 0.5 would have an addition limit of 50 MW per year (noting that quantities for all agents should sum to 1).If any of the three parameters are not provided in the technodata file, that particular constraint is not applied.
growth_seed(optional, default = 1)applies a lower-bound on the initial capacity value used in the MaxCapacityGrowth calculation, allowing growth to initiate when capacity is low/zero.
Taking the above example, if the GrowthSeed is set to 10 PJ (higher than the existing capacity of 7.7 PJ), the MaxCapacityGrowth constraint will be applied as follows: 10 x (1 + 0.2)5 - 4.9 = 19.9 PJ.
In multi-agent simulations, the growth seed for each agent is scaled by the agent quantity.
technical_liferepresents the number of years that a technology operates before it is decommissioned.
utilization_factor(optional, default = 1)represents the maximum actual output of the technology in a year, divided by the theoretical maximum output if the technology were operating at full capacity for the whole year. Must be between 0 and 1.
minimum_service_factor(optional, default = 0)Is the minimum output of the technology in a year, divided by the theoretical maximum output if the technology were operating at full capacity for the whole year. Must be between 0 and 1 and be smaller or equal than the utilization_factor. It is used to define the minimum service level that a technology must provide due to, typically, technical or efficiency constraints.
interest_rate(optional, default = 0)is the technology interest rate (called hurdle rates in other models). This corresponds to the interest built when borrowing money for the capital costs of investment.
- Agent shares (e.g.
Agent0, …,AgentN) represent the proportion of initial capacity allocated to each agent. Must match AgentShare names specified in the Agents file. All agents must be represented in the table. If using “New” and “Retrofit” agents, you should create a column with the name of each “Retrofit” agent share. If only using “New” agents, you should create a column with the name of each “New” agent share. The value corresponds to the ownership of the initial stock, as defined in the Existing Capacity for the starting year of the simulation.
For example, in a one-agent simulation, you should specify the following to indicate full ownership of existing capacity by the agent (assuming an agent share name of “Agent1”):
Techno-data: AgentShare - 1 agent technology
region
year
…
Agent1
resBoilerElectric
region1
2010
…
1
resBoilerElectric
region1
2030
…
1
In a two-agent simulation, assuming a 30% / 70% split of initial capacity between the two agents, the table would be as follows:
Techno-data: AgentShare - 2 agents technology
region
year
…
Agent1
Agent2
resBoilerElectric
region1
2010
…
0.3
0.7
resBoilerElectric
region1
2030
…
0.3
0.7
Values must sum to 1 for each row of the table.
- Additional optional columns
Certain columns may also be required when using certain agent objectives or search spaces. These are:
efficiencya numerical value representing the technology efficiency, from 0 to 1. Required when using the “efficiency” agent objective, which ranks investment options according to their energy or material efficiency (see Agents). Note: this has no impact on the commodity flows through the technology, it is merely intended as a customisable value that agents can use to rank technologies.
comforta numerical value representing the comfort level of a technology, from 0 to 1. Required when using the “comfort” agent objective, which ranks investment options according to their comfort level (see Agents). Like
efficiency, this is merely intended as a customisable value that agents can use to rank technologies.typea string value that can be used to define the type of a technology (e.g. “nuclear”, “electric vehicle”). Required when using the “similar_technology” search space, which allows agents to filter for technologies of a similar type (see Agents).
The input data has to be provided for the base year, after which MUSE will assume that values are constant for all subsequent years, if no further data is provided. If users wish to vary parameters by year, they can provide rows for additional years. In this case, MUSE would interpolate the values between the provided periods and assume a constant value afterwards.
Note: if you wish to provide data for one technology in a different year, you must do so for all technologies.