Skip to main content
Scenario Builder models are defined by the following input types, all of which can be edited in the workspace, or via AMP.

Capacity

Framework: osemosysUnit: MWTemporality: year_onlyMaximum allowed increase in capacity for a given technology year on year. Expressed in absolute values. If used in conjunction with maximum relative growth rates, capacity will be limited to whichever value is greater. Provides a floor value for maximum growth rates for technologies with no / low installed capacity.
Framework: osemosysFramework: pypsaUnit: MWTemporality: year_onlyExisting and planned generator and interconnector capacity. Generator capacities are specified per geography. Interconnector capacities are specified between geographies.
Framework: osemosysFramework: pypsaUnit: MWTemporality: year_onlyMaximum additional capacity allowed per technology above the installed capacity for that technology for that year. This can be used to limit additional capacity being built e.g. if set to 0, then no additional capacity will be built.
Framework: osemosysFramework: pypsaUnit: MWTemporality: year_onlyMaximum total capacity allowed per technology. This can be used to limit total capacity per technology.
Framework: osemosysFramework: pypsaUnit: MWTemporality: year_onlyMinimum additional capacity required per technology above the installed capacity for that technology for that year. This can be used to set capacity targets that are in addition to the installed capacity.
Framework: osemosysFramework: pypsaUnit: MWTemporality: year_onlyMinimum total capacity required per technology. This can be used to set total capacity targets.
Framework: osemosysUnit: unitlessTemporality: year_onlyMaximum allowed increase in capacity for a given technology year on year. Expressed as a decimal e.g. 0.2 for 20%. If used in conjunction with maximum absolute growth rates, capacity will be limited to whichever value is greater.
Framework: osemosysUnit: unitlessTemporality: year_onlyMinimum increase in capacity required per technology year on year. Expressed as a decimal e.g. 0.2 for 20%.
Framework: osemosysFramework: pypsaUnit: MWTemporality: constantTotal maximum capacity allowed for renewable technologies per year.

Costs

Framework: osemosysFramework: pypsaUnit: $/MWTemporality: year_onlyFixed operating & maintenance costs per technology.
Framework: osemosysFramework: pypsaUnit: $/MWhTemporality: year_onlyCost per fuel.
Framework: osemosysFramework: pypsaUnit: $/MWTemporality: year_onlyOvernight investment cost per technology.
Framework: osemosysFramework: pypsaUnit: $/MWhTemporality: year_onlyVariable operating & maintenance costs per technology.

Demand

Framework: osemosysFramework: pypsaUnit: MWhTemporality: year_onlyTotal annual electricity demand per region.
Framework: osemosysFramework: pypsaUnit: unitlessTemporality: fullElectricity demand per time-slice as a proportion of total annual demand. Expressed as a decimal e.g. 0.2 for 20%.

Economic

Framework: osemosysFramework: pypsaUnit: unitlessTemporality: constantCost of capital is the “price of money” used to build a technology. It turns a one-time overnight capital cost into an annual cost so the model can compare technologies fairly. A higher cost of capital means a more expensive annualised cost.
Framework: osemosysUnit: unitlessTemporality: constantDiscount rate is the “time value” of money. It tells the model how much less a dollar spent in the future is worth compared to a dollar spent today. Higher rates favor technologies with low upfront costs, while lower rates favor capital-intensive options.

Operational

Framework: osemosysFramework: pypsaUnit: t/MWhTemporality: year_onlyEmissions produced per unit of activity per technology.
Framework: osemosysFramework: pypsaUnit: unitlessTemporality: year_onlyFuel use per technology. Expressed as a decimal e.g. if a technology consumes 2 units of a fuel to generate 1 unit of electricity, its input activity ratio would be 2.0.
Framework: osemosysFramework: pypsaUnit: yearsTemporality: year_onlyOperating life of each technology in years.
Framework: pypsaUnit: unitlessTemporality: constantMaximum allowed decrease in a technology’s power output between two time steps, relative to its total capacity. Expressed as a decimal e.g. a value of 0.2 means a technology can decreases its output by 20% of its total capacity per time step.
Framework: pypsaUnit: unitlessTemporality: constantMaximum allowed increase in a technology’s power output between two time steps, relative to its total capacity. Expressed as a decimal e.g. a value of 0.2 means a technology can increase its output by 20% of its total capacity per time step.

Policy

Framework: osemosysFramework: pypsaUnit: tTemporality: year_onlyMaximum emissions allowed per year. Can be used to set emissions targets.
Framework: osemosysUnit: $/tTemporality: year_onlyThe cost / penalty of emissions.
Framework: osemosysFramework: pypsaUnit: unitlessTemporality: year_onlyMaximum generation allowed per technology as a proportion of total generation. This can be used to set generation limits e.g. Only 20% of generation can come from solar.
Framework: osemosysFramework: pypsaUnit: unitlessTemporality: year_onlyMinimum generation required per technology as a proportion of total generation. This can be used to set generation targets e.g. 20% of generation must come from solar.
Framework: osemosysUnit: unitlessTemporality: year_onlyThe percentage of extra capacity required above the expected peak demand, ensuring reliability in case of unexpected outages or demand surges. Expressed as a decimal e.g. 1.2 for 20% reserve margin.
Framework: osemosysUnit: unitlessTemporality: constantThe maximum proportion of a technology’s total capacity that can contribute to reserve margin e.g. 0.2 means 20% of a given technology’s total capacity can contribute to reserve margin.
Framework: osemosysUnit: tTemporality: constantMaximum emissions allowed over the entire model time horizon. Can be used to set emissions targets.

Storage

Framework: osemosysFramework: pypsaUnit: MWhTemporality: constantStarting storage capacity at the very beginning of the simulation (time step 0).
Framework: osemosysUnit: MWh/yearTemporality: constantMaximum charging rate for storage technologies.
Framework: osemosysUnit: MWh/yearTemporality: constantMaximum discharging rate for storage technologies.
Framework: pypsaUnit: %/hTemporality: year_onlyThe proportion of stored energy lost per hour for storage technologies. Given as a decimal i.e. 0.2 for 20% loss per hour.
Framework: pypsaUnit: MWhTemporality: typical_profileRequired state of charge per time slice for storage technologies.
Framework: osemosysUnit: binary (0 or 1)Temporality: constantIf enabled (i.e. set to 1, not 0), then the storage technology should charge the same amount it discharges over a day.
Framework: osemosysUnit: binary (0 or 1)Temporality: constantIf enabled (i.e. set to 1, not 0), then the storage technology should charge the same amount it discharges over a season.
Framework: osemosysUnit: binary (0 or 1)Temporality: constantIf enabled (i.e. set to 1, not 0), then the storage technology should charge the same amount it discharges over a year.
Framework: osemosysFramework: pypsaUnit: hTemporality: year_onlyMaximum number of hours the storage technology can discharge at full power before it is empty e.g. 4 for a 4-hour battery.

Utilisation

Framework: osemosysFramework: pypsaUnit: unitlessTemporality: year_onlyMaximum annual output per technology as a proportion of total capacity. Expressed as a decimal e.g. 0.8 for 80%. Used to represent the possibility for planned outages.
Framework: osemosysFramework: pypsaUnit: unitlessTemporality: year_onlyMinimum annual output required per technology as a proportion of total capacity. Expressed as a decimal e.g. 0.8 for 80%. Used to represent technical or economic constraints e.g. Power Purchase Agreements.
Framework: pypsaUnit: unitlessTemporality: typical_profileMinimum hourly output required per technology as a proportion of total capacity. Expressed as a decimal e.g. 0.8 for 80%.
Framework: osemosysFramework: pypsaUnit: unitlessTemporality: typical_profileMaximum capacity available to renewable technologies per time slice, as a proportion of total capacity, due to weather and seasonal patterns. Expressed as a decimal e.g. 0.2 for 20%.