This page lists energy models published under open source licenses. We regard licenses approved by OSI (opensource.org) and The Open Definition (opendefinition.org) as suitable for open source models and open data, respectively. Please contact us if you are using another license and wish to be added. Models which have not yet been made public, but which intend to do so under a suitable license, can also be included here.
Currently, the models listed classify exclusively as bottom-up, but that is not a restriction we impose. Some models are confined to the electricity sector while others also traverse the heat, gas, end-use, and mobility sectors. Some embed market clearing while others assume single-actor cost minimization. The model attributes shown below should help to clarify the type of model.
Most models listed here count as frameworks in which any region can be modelled. Region-specific implementations of the frameworks are listed on a separate page by region Open model implementations.
After logging in, you can add new entries to the model database by entering the name of the system into the following form field:
Model |
Sectors |
Model class |
Math modeltype |
Timeresolution |
Georesolution |
Is suited for many scenarios |
AMIRIS |
electricity |
Agent-based electricity market model |
Simulation Agent-based |
Hour |
National |
true |
ASAM |
Electricity Electricity Market Electric power |
Agent-based Simulation Market Model Electricity System Model German and European Electricity Market |
Simulation Agent-based |
15 Minute |
Individual power stations |
true |
ASSUME |
All / Electricity |
German and European Electricity Market Network-constrained Unit Commitment and Economic Dispatch Agent-based electricity market model |
Simulation Agent-based |
15 Minute |
NUTS0 - NUTS3, for DE |
false |
Antares-Simulator |
Electricity Methane Hydrogen Heat |
Capacity Expansion Problem Production Cost Model |
Optimization Simulation |
Hour |
NUTS0 - NUTS2 |
true |
AnyMOD |
User-dependent |
Framework |
Optimization |
Hour |
User-dependent |
true |
Backbone |
All |
Framework |
Optimization |
15 Minute |
Depends on user |
true |
Balmorel |
User-dependent |
Energy System Model |
Optimization |
Hour |
Hierarchical: countries, regions, areas |
true |
Breakthrough Energy Model |
Electricity |
Framework |
Optimization Simulation |
Hour |
Nodal |
false |
CAPOW |
Electric power |
CAISO and Mid-Columbia markets/U.S. West Coast |
Simulation |
Hour |
Zonal |
true |
CESAR-P |
electricity heating cooling domestic hot water |
Swiss building stock |
Simulation |
Hour |
depending on input data |
false |
Calliope |
User-dependent |
Framework |
Optimization |
Hour |
User-dependent |
true |
CapacityExpansion |
electricity heat gas |
Capacity Expansion Problem |
Optimization |
|
input data dependent |
true |
DESSTinEE |
All / Electricity |
Simulation |
Simulation |
Hour |
National |
true |
DIETER |
electricity plus sector coupling (EVs P2Heat) |
Optimization |
Optimization |
Hour |
In most applications so far, Germany as one node; version with additional central European country nodes available |
true |
Demod |
end-use demand |
Simulation |
Simulation |
Minute |
depending on input data |
true |
Dispa-SET |
Power system |
EU power system |
Optimization |
Hour |
NUTS1 |
true |
ELMOD |
Electricity Heat |
German and European Electricity Market |
Optimization |
Hour |
power plant block, transmission network node |
false |
EMLab-Generation |
Electricity Market Carbon Market |
Agent-based Simulation |
Simulation Agent-based |
Year |
Zones |
true |
EMMA |
Electricity |
Power market model |
Optimization |
Hour |
Countries |
false |
EOLES elec |
Electricity Sector Carbon Market |
Electricity System Model |
Optimization Simulation |
Hour |
Country level |
false |
EOLES elecRES |
Electricity Sector |
Electricity System Model |
Optimization Simulation |
Hour |
Coutry |
false |
ESO-X |
Electricity |
power system model |
Optimization |
Hour |
single-node (ESONE: 29 nodes) |
true |
Energy Policy Simulator |
Electricity buildings transportation industry district heat land agriculture hydrogen etc... |
System Dynamics |
Simulation |
Year |
single region |
true |
Energy Transition Model |
Households Buildings Agriculture Transport Industry Energy |
Demand driven energy model |
Simulation |
Year |
Country |
true |
EnergyRt |
|
Reference Energy System |
Optimization |
|
|
true |
EnergyScope |
All (Electricity Heating and mobility) |
Regional energy system design |
Optimization |
Hour |
Country |
true |
Ficus |
electricity heating ... |
energy system optimization model |
Optimization |
15 Minute |
|
true |
FlexiGIS |
Electricity Sector |
urban energy systems |
Optimization Simulation |
15 Minute |
building, street, district, city |
false |
GENeSYS-MOD |
Electricity Heat Transport Industry Buildings |
multi‑commodity optimization |
Optimization |
Hour |
NUTS1, federal states |
false |
GRIMSEL-FLEX |
Electricity Heat Hydrogen Buildings Transport |
Energy System Model Optimization Social Planner |
Optimization |
Hour |
Consumer types and Urban settings |
false |
Genesys |
Electricity |
Electricity System Model |
Optimization Simulation |
Hour |
EUMENA, 21 regions |
false |
GridCal |
Electricity |
Transmission Network Model and Data (input and output) |
Optimization Simulation |
|
|
true |
HighRES |
Electricity |
European electricity system model GB electricity system model |
Optimization |
Hour |
Country level, 20 zones for GB |
true |
IRENA FlexTool |
All sectors (user can add more) |
Multi-purpose |
Optimization |
Hour |
User dependent |
true |
Lemlab |
local energy markets |
agent-based simulation |
Simulation Agent-based |
|
|
false |
LoadProfileGenerator |
|
|
|
Minute |
|
false |
MEDEAS |
electricity heat liquid fuels gas solid fuels |
|
Other |
Year |
global, continents, nations |
true |
Medea |
Electricity Heat |
Austrian and German electricity market |
Optimization |
Hour |
Countries |
true |
MicroGridsPy |
Micro-grids design |
Energy Modeling Framework |
Optimization |
Hour |
Village-scale |
true |
Mosaik |
electricity heat mobility household |
distributed energy systems smart grid simulation |
Optimization Simulation Agent-based |
Second |
|
true |
NEMO |
|
|
Optimization Simulation |
Hour |
NEM regions |
true |
NEMO (SEI) |
All |
Full energy system optimization flexible geographic and sectoral scope |
Optimization |
Hour |
Flexible - user-defined regionalization |
true |
OMEGAlpes |
Electricity Heat all |
Production consumption conversion storage |
Optimization |
|
|
false |
OSeMOSYS |
all |
|
Optimization |
Day |
Country |
true |
Oemof |
Electricity Heat Mobility |
Energy Modelling Framework |
Optimization Simulation |
Hour |
Depends on user |
false |
OnSSET |
|
|
Optimization |
Multi year |
1 km to 10 km |
false |
OpenTUMFlex |
Energy Electricity Market Households electricity plus sector coupling (EVs |
Energy System Model urban energy systems load shifting optimisation Local energy systems |
Optimization Simulation |
15 Minute |
User dependent |
false |
POMATO |
Electricity Market Heat |
Network-constrained Unit Commitment and Economic Dispatch |
Optimization |
Hour |
Nodal resolution |
false |
Pandapipes |
|
|
Simulation |
|
|
false |
Pandapower |
|
Transmission Network Model |
Simulation |
|
|
false |
PowNet |
Electricity Electric power Energy |
Network-constrained Unit Commitment and Economic Dispatch |
Optimization Simulation |
Hour |
High-voltage substation |
false |
PowerMatcher |
|
|
|
|
|
false |
PowerSimulations.jl |
Power system |
quasii-static sequential unit-commitment and economic dispatch problems |
Optimization |
Second |
nodal resolution (all nodes are included) |
true |
PowerSimulationsDynamics.jl |
Electric power Electricity electricity |
Dynamic system simulation model library |
Simulation |
Less than second |
Nodal resolution |
true |
PowerSystems.jl |
Electricity Electricity Sector Electric power |
Optimization Simulation |
Simulation |
Less than second |
Nodal resolution |
true |
Pvlib python |
Electricity |
|
Simulation |
|
|
false |
PyLESA |
electricity heat |
Local energy systems |
Simulation |
Hour |
Local/Community/District |
false |
PyPSA |
Electricity Heat Transport User-defined |
Energy System Model |
Optimization Simulation |
Hour |
User dependent |
true |
QuaSi - GenSim |
electricity heat cold |
building energy demand |
Simulation |
15 Minute |
|
false |
QuaSi - ReSiE |
all sectors incl. heat cold hydrogen electricity |
multi energy systems in urban scale |
Simulation Other |
15 Minute |
depends on user |
true |
QuaSi - SoDeLe |
Electricity |
PV energy production |
Simulation |
Hour |
|
true |
REopt |
Energy |
Energy System Model |
Optimization |
Hour |
Site |
true |
RHEIA |
All |
distributed energy systems energy planning |
Optimization |
|
|
true |
Region4FLEX |
electricity plus sector coupling (EVs P2Heat P2Gas) |
load shifting optimisation |
Optimization |
15 Minute |
Administrative districts |
false |
Renpass |
Electricity |
Electricity System Model / Regional Dispatch Model / Transshipment Model |
Optimization Simulation |
Hour |
Germany: 21 regions / other countries: country |
true |
SIREN |
Electricity |
Electricity System Model |
Simulation Other |
Hour |
Individual power stations |
true |
SMS++ |
electricity heat components partly developed but extensible to anything |
in princople all short- to long-term optimization |
Optimization |
Multi year |
any |
true |
SciGRID gas |
Gas |
European Gas Transmission Network Model and Data (input and output) |
Other Simulation |
|
Individual gas transmission elements (pipelines, compressorstations, borderpoints etc.) |
false |
SciGRID power |
Electricity Sector |
Transmission Network Model |
Simulation |
|
nodal resolution |
false |
SimSEE |
Electricity Market |
Optimal energy dispatch |
Optimization Simulation |
Hour |
|
true |
SimSES |
Electricity |
Electrical energy storage system |
Simulation |
Minute |
|
true |
SpineOpt.jl |
All |
Framework |
Optimization |
Hour |
User-dependent |
true |
StELMOD |
Electricity |
Optimization |
Optimization |
Hour |
Nodal resolution |
false |
Switch |
electricity gas hydrologic transport end-use demand carbon sequestration; user-extendable |
Power system capacity expansion energy system |
Optimization |
Hour |
buildings, microgrids, city, state, national or continental |
true |
System Advisor Model (SAM) |
power generation |
International renewble energy project modeling |
Simulation |
Minute |
|
true |
TIMES |
All sectors |
Local National Regional Global models developed using TIMES |
Optimization |
Hour |
Local, National, Regional, Global models |
true |
Temoa |
all |
energy system optimization model |
Optimization |
Multi year |
single region |
true |
TransiEnt |
electricity district heating Gas |
Dynamic system simulation model library |
Simulation |
Second |
Metropolregion Hamburg |
false |
URBS |
User-dependent Electricity |
Energy Modelling Framework |
Optimization |
Hour |
User-dependent |
true |
USENSYS |
Electric power |
Capacity expansion Reference Energy System |
Optimization |
Hour |
Administrative districts |
true |
Model |
Model class |
Modelling software |
Processing software |
AMIRIS |
Agent-based electricity market model |
Java |
Python |
ASAM |
Agent-based Simulation Market Model Electricity System Model German and European Electricity Market |
Python (Pyomo) |
Python, PyPSA, Mesa |
ASSUME |
German and European Electricity Market Network-constrained Unit Commitment and Economic Dispatch Agent-based electricity market model |
Python, Pyomo |
PostgreSQL |
Antares-Simulator |
Capacity Expansion Problem Production Cost Model |
C++, C |
Python, TypeScript |
AnyMOD |
Framework |
Julia/JuMP |
|
Backbone |
Framework |
GAMS |
Spine Toolbox or Excel |
Balmorel |
Energy System Model |
GAMS |
Excel, Python (Pandas) |
Breakthrough Energy Model |
Framework |
Julia/JuMP |
Python |
CAPOW |
CAISO and Mid-Columbia markets/U.S. West Coast |
Python (Pyomo) |
|
CESAR-P |
Swiss building stock |
Python, EnergyPlus |
|
Calliope |
Framework |
Python (Pyomo) |
Python (pandas et al) |
CapacityExpansion |
Capacity Expansion Problem |
Julia/JuMP |
Julia |
DESSTinEE |
Simulation |
Excel / VBA |
Excel / VBA |
DIETER |
Optimization |
GAMS; CPLEX |
MS Excel |
Demod |
Simulation |
Python |
Python |
Dispa-SET |
EU power system |
Python (Pyomo), GAMS |
Python |
ELMOD |
German and European Electricity Market |
GAMS |
|
EMLab-Generation |
Agent-based Simulation |
Java |
R |
EMMA |
Power market model |
GAMS |
|
EOLES elec |
Electricity System Model |
GAMS |
|
EOLES elecRES |
Electricity System Model |
GAMS |
|
ESO-X |
power system model |
GAMS; CPLEX |
R |
Energy Policy Simulator |
System Dynamics |
Vensim |
Vensim |
Energy Transition Model |
Demand driven energy model |
Developed in-house written in Ruby (on Rails) |
Excel / VBA |
EnergyRt |
Reference Energy System |
GAMS; GLPK |
R |
EnergyScope |
Regional energy system design |
GLPK/GLPSOL or AMPL/Cplex |
Excel |
Ficus |
energy system optimization model |
Python (Pyomo) |
Python (pandas et al) |
FlexiGIS |
urban energy systems |
Python |
Geopandas |
GENeSYS-MOD |
multi‑commodity optimization |
GAMS, Julia |
|
GRIMSEL-FLEX |
Energy System Model Optimization Social Planner |
Python (Pyomo) |
Python (pandas et al) |
Genesys |
Electricity System Model |
C++, boost library, MySQL and QT4, (optional CPLEX solver implementation) |
Excel/Matlab and a Visualisation tool programmed in QT4 (c++) |
GridCal |
Transmission Network Model and Data (input and output) |
Python |
Python |
HighRES |
European electricity system model GB electricity system model |
GAMS; CPLEX |
Python |
IRENA FlexTool |
Multi-purpose |
GNU MathProg |
Python, SQL |
Lemlab |
agent-based simulation |
Python, Pyomo |
PostgreSQL, Ethereum |
LoadProfileGenerator |
|
C# |
|
MEDEAS |
|
Phyton |
Phyton |
Medea |
Austrian and German electricity market |
GAMS |
Python |
MicroGridsPy |
Energy Modeling Framework |
Python (Pyomo) |
Excel |
Mosaik |
distributed energy systems smart grid simulation |
Python |
HDF5, InfluxDB, Grafana |
NEMO |
|
Python |
|
NEMO (SEI) |
Full energy system optimization flexible geographic and sectoral scope |
Julia |
SQLite |
OMEGAlpes |
Production consumption conversion storage |
OMEGAlpes, PuLP |
|
OSeMOSYS |
|
GNU MathProg |
Python |
Oemof |
Energy Modelling Framework |
Python, Pyomo, Coin-OR |
PostgreSQL, PostGIS |
OnSSET |
|
Python |
Python |
OpenTUMFlex |
Energy System Model urban energy systems load shifting optimisation Local energy systems |
Python (Pyomo) |
|
POMATO |
Network-constrained Unit Commitment and Economic Dispatch |
Julia/JuMP |
Python |
Pandapipes |
|
Python |
|
Pandapower |
Transmission Network Model |
Python |
Pandas |
PowNet |
Network-constrained Unit Commitment and Economic Dispatch |
Python (Pyomo) |
Python |
PowerMatcher |
|
Java |
|
PowerSimulations.jl |
quasii-static sequential unit-commitment and economic dispatch problems |
Julia |
Julia |
PowerSimulationsDynamics.jl |
Dynamic system simulation model library |
Julia |
Julia |
PowerSystems.jl |
Optimization Simulation |
Julia |
Julia |
Pvlib python |
|
Python |
NumPy, Pandas |
PyLESA |
Local energy systems |
Python |
Python |
PyPSA |
Energy System Model |
Python, Pyomo |
Pandas |
QuaSi - GenSim |
building energy demand |
EnergyPlus, OpenStudio, MS Excel, Ruby |
MS Excel |
QuaSi - ReSiE |
multi energy systems in urban scale |
Julia |
Julia |
QuaSi - SoDeLe |
PV energy production |
Python |
Python, MS Excel |
REopt |
Energy System Model |
Julia/JuMP |
Python |
RHEIA |
distributed energy systems energy planning |
Python |
Python |
Region4FLEX |
load shifting optimisation |
Python |
PostgreSQL |
Renpass |
Electricity System Model / Regional Dispatch Model / Transshipment Model |
R |
MySQL / R / RMySQL |
SIREN |
Electricity System Model |
Python, NREL SAM |
Python |
SMS++ |
in princople all short- to long-term optimization |
SMS++ |
hand-coded C++ |
SciGRID gas |
European Gas Transmission Network Model and Data (input and output) |
GeoJSON & CSV |
|
SciGRID power |
Transmission Network Model |
Python, PostgreSQL |
Python, PostgreSQL, Osmosis, osm2pgsql |
SimSEE |
Optimal energy dispatch |
freepascal |
freepascal |
SimSES |
Electrical energy storage system |
Python |
Python |
SpineOpt.jl |
Framework |
Julia/JuMP |
Python, Spine Toolbox |
StELMOD |
Optimization |
GAMS |
MS Excel |
Switch |
Power system capacity expansion energy system |
Python, Pyomo |
Python, any user-selected software |
System Advisor Model (SAM) |
International renewble energy project modeling |
C++, WxWidgets |
|
TIMES |
Local National Regional Global models developed using TIMES |
GAMS |
EXCEL, VEDA, ANSWER |
Temoa |
energy system optimization model |
Python (Pyomo) |
SQLite |
TransiEnt |
Dynamic system simulation model library |
Modelica |
Dymola |
URBS |
Energy Modelling Framework |
Python (Pyomo) |
Python (pandas et al) |
USENSYS |
Capacity expansion Reference Energy System |
R/energyRt |
R |
Model |
License |
Modelling software |
Model source public |
Data availability |
Open future |
AMIRIS |
Apache License 2.0 (Apache-2.0) |
Java |
true |
all |
false |
ASAM |
GNU General Public License version 3.0 (GPL-3.0) |
Python (Pyomo) |
true |
some |
false |
ASSUME |
Affero General Public License v3 (AGPL-3.0) |
Python, Pyomo |
true |
all |
false |
Antares-Simulator |
GNU General Public License version 3.0 (GPL-3.0) |
C++, C |
true |
some |
false |
AnyMOD |
MIT license (MIT) |
Julia/JuMP |
true |
some |
true |
Backbone |
GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0) |
GAMS |
true |
some |
false |
Balmorel |
ISC License (ISC) |
GAMS |
true |
all |
true |
Breakthrough Energy Model |
MIT license (MIT) |
Julia/JuMP |
true |
all |
false |
CAPOW |
MIT license (MIT) |
Python (Pyomo) |
true |
all |
false |
CESAR-P |
Affero General Public License v3 (AGPL-3.0) |
Python, EnergyPlus |
false |
some |
false |
Calliope |
Apache License 2.0 (Apache-2.0) |
Python (Pyomo) |
true |
some |
true |
CapacityExpansion |
MIT license (MIT) |
Julia/JuMP |
true |
all |
false |
DESSTinEE |
Creative Commons Attribution Share-Alike 3.0 (CC-BY-SA-3.0) |
Excel / VBA |
true |
all |
true |
DIETER |
MIT license (MIT) |
GAMS; CPLEX |
true |
all |
false |
Demod |
GNU General Public License version 3.0 (GPL-3.0) |
Python |
true |
some |
false |
Dispa-SET |
European Union Public Licence Version 1.1 (EUPL-1.1) |
Python (Pyomo), GAMS |
true |
all |
false |
ELMOD |
MIT license (MIT) |
GAMS |
true |
some |
true |
EMLab-Generation |
Apache License 2.0 (Apache-2.0) |
Java |
true |
some |
true |
EMMA |
Creative Commons Attribution 3.0 (CC-BY-3.0) |
GAMS |
true |
all |
true |
EOLES elec |
Creative Commons Attribution Share-Alike 4.0 (CC-BY-SA-4.0) |
GAMS |
true |
all |
false |
EOLES elecRES |
Creative Commons Attribution Share-Alike 4.0 (CC-BY-SA-4.0) |
GAMS |
true |
all |
false |
ESO-X |
MIT license (MIT) |
GAMS; CPLEX |
true |
all |
false |
Energy Policy Simulator |
GNU General Public License version 3.0 (GPL-3.0) |
Vensim |
true |
all |
false |
Energy Transition Model |
MIT license (MIT) |
Developed in-house written in Ruby (on Rails) |
true |
all |
true |
EnergyRt |
Affero General Public License v3 (AGPL-3.0) |
GAMS; GLPK |
true |
|
true |
EnergyScope |
Apache License 2.0 (Apache-2.0) |
GLPK/GLPSOL or AMPL/Cplex |
true |
all |
false |
Ficus |
GNU General Public License version 3.0 (GPL-3.0) |
Python (Pyomo) |
true |
some |
true |
FlexiGIS |
BSD 3-Clause "New" or "Revised" License (BSD-3-Clause) |
Python |
true |
some |
false |
GENeSYS-MOD |
Apache License 2.0 (Apache-2.0) |
GAMS, Julia |
true |
some |
false |
GRIMSEL-FLEX |
BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause) |
Python (Pyomo) |
true |
all |
false |
Genesys |
GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1) |
C++, boost library, MySQL and QT4, (optional CPLEX solver implementation) |
false |
all |
false |
GridCal |
GNU General Public License version 3.0 (GPL-3.0) |
Python |
true |
all |
true |
HighRES |
MIT license (MIT) |
GAMS; CPLEX |
false |
all |
false |
IRENA FlexTool |
GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0) |
GNU MathProg |
true |
some |
false |
Lemlab |
GNU General Public License version 3.0 (GPL-3.0) |
Python, Pyomo |
true |
all |
false |
LoadProfileGenerator |
MIT license (MIT) |
C# |
true |
some |
false |
MEDEAS |
MIT license (MIT) |
Phyton |
false |
all |
false |
Medea |
MIT license (MIT) |
GAMS |
true |
all |
false |
MicroGridsPy |
European Union Public Licence Version 1.1 (EUPL-1.1) |
Python (Pyomo) |
true |
all |
false |
Mosaik |
GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1) |
Python |
true |
some |
false |
NEMO |
GNU General Public License version 3.0 (GPL-3.0) |
Python |
true |
all |
true |
NEMO (SEI) |
Apache License 2.0 (Apache-2.0) |
Julia |
true |
|
false |
OMEGAlpes |
Apache License 2.0 (Apache-2.0) |
OMEGAlpes, PuLP |
true |
some |
false |
OSeMOSYS |
Apache License 2.0 (Apache-2.0) |
GNU MathProg |
true |
all |
true |
Oemof |
GNU General Public License version 3.0 (GPL-3.0) |
Python, Pyomo, Coin-OR |
true |
some |
true |
OnSSET |
MIT license (MIT) |
Python |
true |
|
false |
OpenTUMFlex |
GNU General Public License version 3.0 (GPL-3.0) |
Python (Pyomo) |
true |
some |
false |
POMATO |
GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0) |
Julia/JuMP |
true |
some |
false |
Pandapipes |
MIT license (MIT) |
Python |
false |
|
true |
Pandapower |
BSD 3-Clause "New" or "Revised" License (BSD-3-Clause) |
Python |
true |
some |
false |