Open energy system models are energy system models that are open source. However, some of them may use third party proprietary software as part of their workflows to input, process, or output data. Preferably, these models use open data, which facilitates open science.
Energy system models are used to explore future energy systems and are often applied to questions involving energy and climate policy. The models themselves vary widely in terms of their type, design, programming, application, scope, level of detail, sophistication, and shortcomings. For many models, some form of mathematical optimization is used to inform the solution process.
Energy regulators and system operators in Europe and North America began adopting open energy system models for planning purposes in the early2020s.[1] Open models and open data are increasingly being used by government agencies to guide the develop of netzero public policy as well (with examples indicated throughout this article). Companies and engineering consultancies are likewise adopting open models for analysis (again seebelow).
See also: Energy modeling and Open-source software development.
The open energy modeling projects listed here fall exclusively within the bottom-up paradigm, in which a model is a relatively literal representation of the underlying system.
Several drivers favor the development of open models and open data. There is an increasing interest in making public policy energy models more transparent to improve their acceptance by policymakers and the public.[2] There is also a desire to leverage the benefits that open data and open software development can bring, including reduced duplication of effort, better sharing of ideas and information, improved quality, and wider engagement and adoption.[3] Model development is therefore usually a team effort and constituted as either an academic project, a commercial venture, or a genuinely inclusive community initiative.
This article does not cover projects which simply make their source code or spreadsheets available for public download, but which omit a recognized free and open-source software license. The absence of a license agreement creates a state of legal uncertainty whereby potential users cannot know which limitations the owner may want to enforce in the future.[4] The projects listed here are deemed suitable for inclusion through having pending or published academic literature or by being reported in secondary sources.
A 2017 paper lists the benefits of open data and models and discusses the reasons that many projects nonetheless remain closed.[5] The paper makes a number of recommendations for projects wishing to transition to a more open approach.[5] The authors also conclude that, in terms of openness, energy research has lagged behind other fields, most notably physics, biotechnology, and medicine.[5]
Open energy system modeling came of age in the 2010s. Just two projects were cited in a 2011 paper on the topic: OSeMOSYS and TEMOA. Balmorel was also active at that time, having been made public in 2001., 31such undertakings are listed here (with an approximately equal number waiting to be added).Chang etal (2021) survey modeling trends and find the open to closed division about even after reviewing 54frameworks although that interpretation is based on project count and not on uptake and use.[6] A2022 model comparison exercise in Germany reported eight from 40modeling projects (20%) were open source,[7] these projects also had active communities behind them.[8]
The use of open energy system models and open energy data represents one attempt to improve the transparency, comprehensibility, and reproducibility of energy system models, particularly those used to aid public policy development.[2]
A 2010 paper concerning energy efficiency modeling argues that "an open peer review process can greatly support model verification and validation, which are essential for model development".[9] [10] To further honor the process of peer review, researchers argue, in a 2012 paper, that it is essential to place both the source code and datasets under publicly accessible version control so that third-parties can run, verify, and scrutinize specific models. A 2016 paper contends that model-based energy scenario studies, seeking to influence decision-makers in government and industry, must become more comprehensible and more transparent. To these ends, the paper provides a checklist of transparency criteria that should be completed by modelers. The authors however state that they "consider open source approaches to be an extreme case of transparency that does not automatically facilitate the comprehensibility of studies for policy advice."[11]
A one-page opinion piece from 2017 advances the case for using open energy data and modeling to build public trust in policy analysis. The article also argues that scientific journals have a responsibility to require that data and code be submitted alongside text for peer review.[12] And an academic commentary from 2020 argues that distributed development would facilitate a more diverse contributor base and thus improve model quality a process supported by online platforms and enabled by open data and code.
State-sponsored open source projects in any domain are a relatively new phenomena.
, the European Commission now supports several open source energy system modeling projects to aid the transition to a low-carbon energy system for Europe. The Dispa-SET project (below) is modeling the European electricity system and hosts its codebase on GitHub. The MEDEAS project, which will design and implement a new open source energy-economy model for Europe, held its kick-off meeting in February 2016.[13] [14], the project had yet to publish any source code. The established OSeMOSYS project (below) is developing a multi-sector energy model for Europe with Commission funding to support stakeholder outreach.[15] The flagship model however remains closed source.[16]
The United States NEMS national model is available but nonetheless difficult to use. NEMS does not classify as an open source project in the accepted sense.[12]
A 2021 research call from the European Union Horizon Europe scientific research funding program expressly sought energy system models that are open source.[17]
A survey completed in 2021 investigated the degree to which open energy system modeling frameworks support flexibility options, broken down by supply, demand, storage, sector coupled, and network response. Of the frameworks surveyed, none supported all types, which suggests that the soft coupling of complementary frameworks could provide more holistic assessments of flexibility. Even so, most candidates opt for perfect foresight and do not natively admit probabilistic actions or explicit behavioral responses.[18]
Open electricity sector models are confined to just the electricity sector. These models invariably have a temporal resolution of one hour or less. Some models concentrate on the engineering characteristics of the system, including a good representation of high-voltage transmission networks and AC power flow. Others models depict electricity spot markets and are known as dispatch models. While other models embed autonomous agents to capture, for instance, bidding decisions using techniques from bounded rationality. The ability to handle variable renewable energy, transmission systems, and grid storage are becoming important considerations.
Project | Host | License | Access | Coding | Documentation | Scope/type | |
---|---|---|---|---|---|---|---|
AMIRIS | German Aerospace Center | Apache2.0 | GitLab | Java | wiki | agentbased electricity market modeling | |
Breakthrough Energy Model | Breakthrough Energy Foundation | MIT | GitHub | Python, Julia | website, GitHub | power sector modeling | |
DIETER | DIW Berlin | MIT | download | GAMS | publication | dispatch and investment | |
Dispa-SET | EC Joint Research Centre | EUPL1.1 | GitHub | GAMS, Python | website | European transmission and dispatch | |
EMLab-Generation | Delft University of Technology | Apache 2.0 | GitHub | Java | manual, website | agent-based | |
EMMA | Neon Neue Energieökonomik | CC BY-SA 3.0 | download | GAMS | website | electricity market | |
GENESYS | RWTH Aachen University | LGPLv2.1 | on application | C++ | website | European electricity system | |
NEMO | University of New South Wales | GPLv3 | git repository | Python | website, list | Australian NEM market | |
OnSSET | KTH Royal Institute of Technology | MIT | GitHub | Python | website, GitHub | cost-effective electrification | |
pandapower | BSD-new | GitHub | Python | website | automated power system analysis | ||
PowerMatcher | Flexiblepower Alliance Network | Apache 2.0 | GitHub | Java | website | smart grid | |
Power TAC | Apache 2.0 | GitHub | Java | website, forum | automated retail electricity trading simulation | ||
renpass | University of Flensburg | GPLv3 | by invitation | R, MySQL | manual | renewables pathways | |
SciGRID | DLR Institute of Networked Energy Systems | Apache 2.0 | git repository | Python | website, newsletter | European transmission grid | |
SIREN | Sustainable Energy Now | AGPLv3 | GitHub | Python | website | renewable generation | |
SWITCH | University of Hawaiʻi | Apache 2.0 | GitHub | Python | website | optimal planning | |
URBS | Technical University of Munich | GPLv3 | GitHub | Python | website | distributed energy systems | |
|
Project | AMIRIS | |
---|---|---|
Host | German Aerospace Center | |
Status | active | |
Scope/type | agentbased electricity markets | |
Code license | Apache-2.0 | |
Data license | CCBY4.0 | |
Language | Java | |
Website | ||
Repository | ||
Documentation | ||
Discussion | ||
Datasets | ||
Publications |
AMIRIS is the open Agent-based Market model for the Investigation of Renewable and Integrated energy Systems.[19] The AMIRIS simulation framework was first developed by the German Aerospace Center (DLR) in 2008 and later released as an open source project in 2021.[20] [21]
AMIRIS enables researchers to address questions regarding future energy markets, their market design, and energy-related policy instruments.[22] In particular, AMIRIS is able to capture market effects that may arise from the integration of renewable energy sources and flexibility options by considering the strategies and behaviors of the various energy market actors present. For instance, those behaviors can be influenced by the prevailing political framework and by external uncertainties.[23] AMIRIS may also uncover complex effects that may emerge from the interdependencies of the energy market participants.[24]
The embedded market clearing algorithm computes electricity prices based on the bids of prototyped market actors. These bids may not only reflect the marginal cost of electricity production but also the limited information available to the actors and related uncertainties. But also the bidding can be strategic as an attempt to game official support instruments or exploit market power opportunities.
Actors in AMIRIS are represented as agents that can be roughly divided into six classes: power plant operators, traders, market operators, policy providers, demand agents, and storage facility operators. In the model, power plant operators provide generation capacities to traders, but do not participate directly in markets. Instead, they supply traders who conduct the marketing and deploy bidding strategies on the operators behalf. Marketplaces serve as trading platforms and calculate market clearing. Policy providers define the regulatory framework which then may impact on the decisions of the other agents. Demand agents request energy directly at the electricity market. Finally, flexibility providers, such as storage operators, use forecasts to determine bidding patterns to match their particular objectives, for instance, projected profit maximization.
Due to its agentbased and modular nature, AMIRIS can be easily extended or modified.[25] AMIRIS is based on the open Framework for distributed Agent-based Modelling of Energy systems or FAME.[26] [27] [28]
AMIRIS can simulate largescale agent systems in acceptable timeframes. For instance, the simulation of one year at hourly resolution may take as little as one minute on a contemporary desktop computer. The researchers at DLR also have access to high-performance computing facilities.
Project | Breakthrough Energy Model | |
---|---|---|
Host | Breakthrough Energy Foundation | |
Status | active | |
Scope/type | power sector modeling | |
Code license | MIT | |
Data license | CCBY4.0 | |
Language | Python, Julia | |
Website | ||
Repository | ||
Documentation |
The Breakthrough Energy Model is a production cost model with capacity expansion algorithms and heuristics, originally designed to explore the generation and transmission expansion needs to meet U.S. states' clean energy goals. The data management occurs within Python and the DCOPF optimization problem is created via Julia. The Breakthrough Energy Model is being developed by the Breakthrough Energy Sciences team.
The open data underlying the model builds upon the synthetic test cases developed by researchers at Texas A&M University.[29] [30] [31]
The Breakthrough Energy Model initially explored the generation and transmission expansion necessary to meet clean energy goals in 2030 via the building of a Macro Grid.[32] Ongoing work adds and expands modules to the model (e.g. electrification of buildings and transportation) to provide a framework for testing numerous scenario combinations. Development of and integration with other open-source data sets is in progress for modeling countries and regions beyond the United States.
The model was applied subsequently the 2021 Texas power crisis, in which winter power outages resulted in hundreds of deaths and billions of dollars in economic losses.[33]
Project | DIETER | |
---|---|---|
Host | DIW Berlin | |
Status | active | |
Scope/type | dispatch and investment | |
Code license | MIT | |
Data license | MIT | |
Language | GAMS | |
Website |
DIETER stands for Dispatch and Investment Evaluation Tool with Endogenous Renewables. DIETER is a dispatch and investment model. It was first used to study the role of power storage and other flexibility options in a future greenfield setting with high shares of renewable generation. DIETER is being developed at the German Institute for Economic Research (DIW), Berlin, Germany. The codebase and datasets for Germany can be downloaded from the project website. The basic model is fully described in a DIW working paper and a journal article.[34] [35] DIETER is written in GAMS and was developed using the CPLEX commercial solver.
DIETER is framed as a pure linear (no integer variables) cost minimization problem. In the initial formulation, the decision variables include the investment in and dispatch of generation, storage, and DSM capacities in the German wholesale and balancing electricity markets. Later model extensions include vehicle-to-grid interactions and prosumage of solar electricity.[36] [37]
The first study using DIETER examines the power storage requirements for renewables uptake ranging from 60% to 100%. Under the baseline scenario of 80% (the lower bound German government target for 2050), grid storage requirements remain moderate and other options on both the supply side and demand side offer flexibility at low cost. Nonetheless, storage plays an important role in the provision of reserves. Storage becomes more pronounced under higher shares of renewables, but strongly depends on the costs and availability of other flexibility options, particularly biomass availability.[38]
Project | Dispa-SET | |
---|---|---|
Host | EC Joint Research Centre | |
Status | active | |
Scope/type | European transmission and dispatch | |
Code license | EUPL1.2 | |
Data license | CCBY4.0 | |
Website | ||
Repository | ||
Documentation |
Under development at the European Commission's Joint Research Centre (JRC), Petten, the Netherlands, is a unit commitment and dispatch model intended primarily for Europe. It is written in Python (with Pyomo) and GAMS and uses Python for data processing. A valid GAMS license is required. The model is formulated as a mixed integer problem and JRC uses the proprietary CPLEX sover although open source libraries may also be deployed. Technical descriptions are available for versions2.0[39] and2.1.[40] is hosted on GitHub, together with a trial dataset, and third-party contributions are encouraged. The codebase has been tested on Windows, macOS, and Linux. Online documentation is available.[41]
The SET in the project name refers to the European Strategic Energy Technology Plan (SET-Plan), which seeks to make Europe a leader in energy technologies that can fulfill future (2020 and 2050) energy and climate targets. Energy system modeling, in various forms, is central to this European Commission initiative.[42]
The model power system is managed by a single operator with full knowledge of the economic and technical characteristics of the generation units, the loads at each node, and the heavily simplified transmission network. Demand is deemed fully inelastic. The system is subject to intra-period and inter-period unit commitment constraints (the latter covering nuclear and thermal generation for the most part) and operated under economic dispatch.[40] Hourly data is used and the simulation horizon is normally one year. But to ensure the model remains tractable, two day rolling horizon optimization is employed. The model advances in steps of one day, optimizing the next 48hours ahead but retaining results for just the first 24hours.[40]
Two related publications describe the role and representation of flexibility measures within power systems facing ever greater shares of variable renewable energy (VRE).[43] [44] These flexibility measures comprise: dispatchable generation (with constraints on efficiency, ramp rate, part load, and up and down times), conventional storage (predominantly pumped-storage hydro), cross-border interconnectors, demand side management, renewables curtailment, last resort load shedding, and nascent power-to-X solutions (with X being gas, heat, or mobility). The modeler can set a target for renewables and place caps on and other pollutants.[40] Planned extensions to the software include support for simplified AC power flow (transmission is currently treated as a transportation problem), new constraints (like cooling water supply), stochastic scenarios, and the inclusion of markets for ancillaryservices.[41]
has been or is being applied to case studies in Belgium, Bolivia, Greece, Ireland, and the Netherlands. A 2014 Belgium study investigates what if scenarios for different mixes of nuclear generation, combined cycle gas turbine (CCGT) plant, and VRE and finds that the CCGT plants are subject to more aggressive cycling as renewable generation penetrates.[45]
A 2020 study investigated the collective impact of future climatic conditions on 34 European power systems, including potential variations in solar, wind, and hydro‑power output and electricity demand under various projected meteorological scenarios for the European continent.[46]
has been applied in Africa with soft linking to the LISFLOOD model to examine waterenergy nexus problems in the context of a changing climate.[47]
Project | EMLab-Generation | |
---|---|---|
Host | Delft University of Technology | |
Status | active | |
Scope/type | agent-based | |
Code license | Apache 2.0 | |
Website | ||
Repository |
EMLab-Generation is an agent-based model covering two interconnected electricity markets – be they two adjoining countries or two groups of countries. The software is being developed at the Energy Modelling Lab, Delft University of Technology, Delft, the Netherlands. A factsheet is available.[48] And software documentation is available.[49] EMLab-Generation is written in Java.
EMLab-Generation simulates the actions of power companies investing in generation capacity and uses this to explore the long-term effects of various energy and climate protection policies. These policies may target renewable generation, emissions, security of supply, and/or energy affordability. The power companies are the main agents: they bid into power markets and they invest based on the net present value (NPV) of prospective power plant projects. They can adopt a variety of technologies, using scenarios from the 2011 IEA World Energy Outlook.[50] The agent-based methodology enables different sets of assumptions to be tested, such as the heterogeneity of actors, the consequences of imperfect expectations, and the behavior of investors outside of ideal conditions.
EMLab-Generation offers a new way of modeling the effects of public policy on electricity markets. It can provide insights into actor and system behaviors over time – including such things as investment cycles, abatement cycles, delayed responses, and the effects of uncertainty and risk on investment decisions.
A 2014 study using EMLab-Generation investigates the effects of introducing floor and ceiling prices for under the EU ETS. And in particular, their influence on the dynamic investment pathway of two interlinked electricity markets (loosely Great Britain and Central Western Europe). The study finds a common, moderate auction reserve price results in a more continuous decarbonisation pathway and reduces price volatility. Adding a ceiling price can shield consumers from extreme price shocks. Such price restrictions should not lead to an overshoot of emissions targets in the long-run.[51]
Project | EMMA | |
---|---|---|
Host | Neon Neue Energieökonomik | |
Status | active | |
Scope/type | electricity market | |
Code license | ||
Data license | ||
Website |
EMMA is the European Electricity Market Model. It is a techno-economic model covering the integrated Northwestern European power system. EMMA is being developed by the energy economics consultancy Neon Neue Energieökonomik, Berlin, Germany. The source code and datasets can be downloaded from the project website. A manual is available.[52] EMMA is written in GAMS and uses the CPLEX commercial solver.
EMMA models electricity dispatch and investment, minimizing the total cost with respect to investment, generation, and trades between market areas. In economic terms, EMMA classifies as a partial equilibrium model of the wholesale electricity market with a focus on the supply-side. EMMA identifies short-term or long-term optima (or equilibria) and estimates the corresponding capacity mix, hourly prices, dispatch, and cross-border trading. Technically, EMMA is a pure linear program (no integer variables) with about two million variables., the model covers Belgium, France, Germany, the Netherlands, and Poland and supports conventional generation, renewable generation, and cogeneration.[52] [53]
EMMA has been used to study the economic effects of the increasing penetration of variable renewable energy (VRE), specifically solar power and wind power, in the Northwestern European power system. A 2013 study finds that increasing VRE shares will depress prices and, as a consequence, the competitive large-scale deployment of renewable generation will be more difficult to accomplish than many anticipate.[54] A 2015 study estimates the welfare-optimal market share for wind and solar power. For wind, this is 20%, three-fold more than at present.[55]
An independent 2015 study reviews the EMMA model and comments on the high assumed specific costs for renewable investments.[34]
Project | GENESYS | |
---|---|---|
Host | RWTH Aachen University | |
Status | active | |
Scope/type | European electricity system | |
Code license | LGPLv2.1 | |
Data license | LGPLv2.1 | |
Language | C++ | |
Website |
GENESYS stands for Genetic Optimisation of a European Energy Supply System. The software is being developed jointly by the Institute of Power Systems and Power Economics (IAEW) and the Institute for Power Electronics and Electrical Drives (ISEA), both of RWTH Aachen University, Aachen, Germany. The project maintains a website where potential users can request access to the codebase and the dataset for the 2050 base scenario only.[56] Detailed descriptions of the software are available. GENESYS is written in C++ and uses Boost libraries, the MySQL relational database, the Qt4 application framework, and optionally the CPLEX solver.
The GENESYS simulation tool is designed to optimize a future EUMENA (Europe, Middle East, and North Africa) power system and assumes a high share of renewable generation. It is able to find an economically optimal distribution of generator, storage, and transmission capacities within a 21region EUMENA. It allows for the optimization of this energy system in combination with an evolutionary method. The optimization is based on a covariance matrix adaptation evolution strategy (CMA-ES), while the operation is simulated as a hierarchical set-up of system elements which balance the load between the various regions at minimum cost using the network simplex algorithm. GENESYS ships with a set of input time series and a set of parameters for the year 2050, which the user can modify.
A future EUMENA energy supply system with a high share of renewable energy sources (RES) will need a strongly interconnected energy transport grid and significant energy storage capacities. GENESYS was used to dimension the storage and transmission between the 21different regions. Under the assumption of 100% self-supply, about of RES in total and a storage capacity of about are needed, corresponding to 6% of the annual energy demand, and a HVDC transmission grid of . The combined cost estimate for generation, storage, and transmission, excluding distribution, is 6.87¢/kWh.[57]
A 2016 study looked at the relationship between storage and transmission capacity under high shares of renewable energy sources (RES) in an EUMENA power system. It found that, up to a certain extent, transmission capacity and storage capacity can substitute for each other. For a transition to a fully renewable energy system by 2050, major structural changes are required. The results indicate the optimal allocation of photovoltaics and wind power, the resulting demand for storage capacities of different technologies (battery, pumped hydro, and hydrogen storage) and the capacity of the transmission grid.[58]
Project | NEMO | |
---|---|---|
Host | University of New South Wales | |
Status | active | |
Scope/type | Australian NEM market | |
Code license | GPLv3 | |
Language | Python | |
Website | ||
Repository | ||
Documentation |
NEMO, the National Electricity Market Optimiser, is a chronological dispatch model for testing and optimizing different portfolios of conventional and renewable electricity generation technologies. It applies solely to the Australian National Electricity Market (NEM), which, despite its name, is limited to east and south Australia. NEMO has been in development at the Centre for Energy and Environmental Markets (CEEM), University of New South Wales (UNSW), Sydney, Australia since 2011.[59] The project maintains a small website and runs an email list. NEMO is written in Python. NEMO itself is described in two publications. The data sources are also noted. Optimizations are carried out using a single-objective evaluation function, with penalties. The solution space of generator capacities is searched using the CMA-ES (covariance matrix adaptation evolution strategy) algorithm. The timestep is arbitrary but one hour is normally employed.
NEMO has been used to explore generation options for the year 2030 under a variety of renewable energy (RE) and abated fossil fuel technology scenarios. A 2012 study investigates the feasibility of a fully renewable system using concentrated solar power (CSP) with thermal storage, windfarms, photovoltaics, existing hydroelectricity, and biofuelled gas turbines. A number of potential systems, which also meet NEM reliability criteria, are identified. The principal challenge is servicing peak demand on winter evenings following overcast days and periods of low wind.[60] A 2014 study investigates three scenarios using coal-fired thermal generation with carbon capture and storage (CCS) and gas-fired gas turbines with and without capture. These scenarios are compared to the 2012 analysis using fully renewable generation. The study finds that "only under a few, and seemingly unlikely, combinations of costs can any of the fossil fuel scenarios compete economically with 100% renewable electricity in a carbon constrained world".[61] A 2016 study evaluates the incremental costs of increasing renewable energy shares under a range of greenhouse gas caps and carbon prices. The study finds that incremental costs increase linearly from zero to 80% RE and then escalate moderately. The study concludes that this cost escalation is not a sufficient reason to avoid renewables targets of 100%.[62]
Project | OnSSET | |
---|---|---|
Host | KTH Royal Institute of Technology | |
Status | active | |
Scope/type | cost-effective electrification | |
Code license | MIT | |
Website | ||
Mailing list | ||
Repository | ||
Documentation | ||
Datasets |
OnSSET is the OpeN Source Spatial Electrification Toolkit. OnSSET is being developed by the division of Energy Systems, KTH Royal Institute of Technology, Stockholm, Sweden. The software is used to examine areas not served by grid-based electricity and identify the technology options and investment requirements that will provide least-cost access to electricity services. OnSSET is designed to support the United Nations' SDG7: the provision of affordable, reliable, sustainable, and modern energy for all. The toolkit is known as OnSSET and was released on 26November 2016. OnSSET does not ship with data, but suitable datasets are available from energydata.info. The project maintains a website and runs a mailing list.[63] [64] [65]
OnSSET can estimate, analyze, and visualize the most cost-effective electrification access options, be they conventional grid, mini-grid, or stand-alone.[66] The toolkit supports a range of conventional and renewable energy technologies, including photovoltaics, wind turbines, and small hydro generation., bioenergy and hybrid technologies, such as wind-diesel, are being added.
OnSSET utilizes energy and geographic information, the latter may include settlement size and location, existing and planned transmission and generation infrastructure, economic activity, renewable energy resources, roading networks, and nighttime lighting needs. The GIS information can be supported using the proprietary ArcGIS package or an open source equivalent such as GRASS or QGIS.[67] OnSSET has been applied to microgrids using a three‑tier analysis starting with settlement archetypes.[68]
OnSSET has been used for case studies in Afghanistan,[69] Bolivia,[68] [70] Cameroon,[71] Ethiopia,[66] [72] Malawi,[73] Nigeria,[66] [74] [75] and Tanzania.[67] OnSSET has also been applied in India, Kenya, and Zimbabwe. In addition, continental studies have been carried out for Sub-Saharan Africa and Latin America.[76] A4way GISbased study set in Nigeria reported that OnSSET offered the best set of capabilities.[77]
OnSSET results have contributed to the IEA World Energy Outlook reports for 2014[78] and 2015,[79] the World Bank Global Tracking Framework report in 2015,[80] and the IEA Africa Energy Outlook report in 2019.[81] OnSSET also forms part of the nascent GEP platform.[82]
Project | pandapower | |
---|---|---|
Host |
| |
Status | active | |
Scope/type | automated power system analysis | |
Code license | BSD-new | |
Website | ||
Repository | ||
Python package | ||
Documentation | ||
Discussion |
pandapower is a power system analysis and optimization program being jointly developed by the Energy Management and Power System Operation research group, University of Kassel and the Department for Distribution System Operation, Fraunhofer Institute for Energy Economics and Energy System Technology (IEE), both of Kassel, Germany. The codebase is hosted on GitHub and is also available as a package. The project maintains a website, an emailing list, and online documentation. pandapower is written in Python. It uses the pandas library for data manipulation and analysis and the PYPOWER library[83] to solve for power flow. Unlike some open source power system tools, pandapower does not depend on proprietary platforms like MATLAB.
pandapower supports the automated analysis and optimization of distribution and transmission networks. This allows a large of number of scenarios to be explored, based on different future grid configurations and technologies. pandapower offers a collection of power system elements, including: lines, 2-winding transformers, 3-winding transformers, and ward-equivalents. It also contains a switch model that allows the modeling of ideal bus-bus switches as well as bus-line/bus-trafo switches. The software supports topological searching. The network itself can be plotted, with or without geographical information, using the matplotlib and plotly libraries.
A 2016 publication evaluates the usefulness of the software by undertaking several case studies with major distribution system operators (DSO). These studies examine the integration of increasing levels of photovoltaics into existing distribution grids. The study concludes that being able to test a large number of detailed scenarios is essential for robust grid planning. Notwithstanding, issues of data availability and problem dimensionality will continue to present challenges.[84]
A 2018 paper describes the package and its design and provides an example case study. The article explains how users work with an element-based model (EBM) which is converted internally to a bus-branch model (BBM) for computation. The package supports power system simulation, optimal power flow calculations (cost information is required), state estimation (should the system characterization lacks fidelity), and graph-based network analysis. The case study shows how a few tens of lines of scripting can interface with pandapower to advance the design of a system subject to diverse operating requirements. The associated code is hosted on GitHub as jupyter notebooks.[85]
, BNetzA, the German network regulator, is using pandapower for automated grid analysis.[86] Energy research institutes in Germany are also following the development of pandapower.[87]
Project | PowerMatcher | |
---|---|---|
Host | Flexiblepower Alliance Network | |
Status | active | |
Scope/type | smart grid | |
Code license | Apache 2.0 | |
Website | ||
Repository |
The PowerMatcher software implements a smart grid coordination mechanism which balances distributed energy resources (DER) and flexible loads through autonomous bidding. The project is managed by the Flexiblepower Alliance Network (FAN) in Amsterdam, the Netherlands. The project maintains a website and the source code is hosted on GitHub., existing datasets are not available. PowerMatcher is written in Java.
Each device in the smart grid system – whether a washing machine, a wind generator, or an industrial turbine – expresses its willingness to consume or produce electricity in the form of a bid. These bids are then collected and used to determine an equilibrium price. The PowerMatcher software thereby allows high shares of renewable energy to be integrated into existing electricity systems and should also avoid any local overloading in possibly aging distribution networks.[88]
Project | Power TAC | |
---|---|---|
Host | Erasmus Centre for Future Energy Business at the Rotterdam School of Management, Erasmus University | |
Status | active | |
Scope/type | automated retail electricity trading simulation | |
Code license | Apache 2.0 | |
Website |
Power TAC stands for Power Trading Agent Competition. Power TAC is an agent-based model simulating the performance of retail markets in an increasingly prosumer- and renewable-energy-influenced electricity landscape. The first version of the Power TAC project started in 2009, when the open source platform was released as an open-source multi-agent competitive gaming platform to simulate electricity retail market performance in smart grid scenarios. The inaugural annual tournament was held in Valencia, Spain in 2012.
Autonomous machine-learning trading agents, or 'brokers', compete directly with each other as profit-maximizing aggregators between wholesale markets and retail customers. Customer models represent households, small and large businesses, multi-residential buildings, wind parks, solar panel owners, electric vehicle owners, cold-storage warehouses, etc. Brokers aim at making profit through offering electricity tariffs to customers and trading electricity in the wholesale market, while carefully balancing supply and demand.
The competition is founded and orchestrated by Professors Wolfgang Ketter and John Collins and the platform software is developed collaboratively by researchers at the Rotterdam School of Management, Erasmus University Centre for Future Energy Business, the Institute for Energy Economics at the University of Cologne, and the Computer Science department at the University of Minnesota. The platform uses a variety of real-world data about weather, market prices and aggregate demand, and customer behavior. Broker agents are developed by research teams around the world and entered in annual tournaments. Data from those tournaments are publicly available and can be used to assess agent performance and interactions. The platform exploits competitive benchmarking to facilitate research into, among other topics, tariff design in retail electricity markets, bidding strategies in wholesale electricity markets, performance of markets as penetration of sustainable energy resources or electric vehicles is ramped up or down, effectiveness of machine learning approaches, and alternative policy approaches to market regulation. The software has contributed to research topics ranging from the use of electric vehicle fleets as virtual power plants to how an electricity customer decision support system (DSS) can be used to design effective demand response programs using methods such as dynamic pricing.
Project | renpass | |
---|---|---|
Host | University of Flensburg | |
Status | inactive | |
Scope/type | renewables pathways | |
Code license | GPLv3 | |
Website | ||
Repository |
renpass is an acronym for Renewable Energy Pathways Simulation System. renpass is a simulation electricity model with high regional and temporal resolution, designed to capture existing systems and future systems with up to 100% renewable generation. The software is being developed by the Centre for Sustainable Energy Systems (CSES or ZNES), University of Flensburg, Germany. The project runs a website, from where the codebase can be download. renpass is written in R and links to a MySQL database. A PDF manual is available.[89] renpass is also described in a PhD thesis.[90], renpass is being extended as renpassG!S, based on oemof.
renpass is an electricity dispatch model which minimizes system costs for each time step (optimization) within the limits of a given infrastructure (simulation). Time steps are optionally 15 minutes or one hour. The method assumes perfect foresight. renpass supports the electricity systems found in Austria, Belgium, the Czech Republic, Denmark, Estonia, France, Finland, Germany, Latvia, Lithuania, Luxembourg, the Netherlands, Norway, Poland, Sweden, and Switzerland.
The optimization problem for each time step is to minimize the electricity supply cost using the existing power plant fleet for all regions. After this regional dispatch, the exchange between the regions is carried out and is restricted by the grid capacity. This latter problem is solved with a heuristic procedure rather than calculated deterministically. The input is the merit order, the marginal power plant, the excess energy (renewable energy that could be curtailed), and the excess demand (the demand that cannot be supplied) for each region. The exchange algorithm seeks the least cost for all regions, thus the target function is to minimize the total costs of all regions, given the existing grid infrastructure, storage, and generating capacities. The total cost is defined as the residual load multiplied by the price in each region, summed over all regions.
A 2012 study uses renpass to examine the feasibility of a 100% renewable electricity system for the Baltic Sea region (Denmark, Estonia, Finland, Germany, Latvia, Lithuania, Poland, and Sweden) in the year 2050. The base scenario presumes conservative renewable potentials and grid enhancements, a 20% drop in demand, a moderate uptake of storage options, and the deployment of biomass for flexible generation. The study finds that a 100% renewable electricity system is possible, albeit with occasional imports from abutting countries, and that biomass plays a key role in system stability. The costs for this transition are estimated at 50€/MWh.[91] A 2014 study uses renpass to model Germany and its neighbors.[92] A 2014 thesis uses renpass to examine the benefits of both a new cable between Germany and Norway and new pumped storage capacity in Norway, given 100% renewable electricity systems in both countries.[93] Another 2014 study uses renpass to examine the German Energiewende, the transition to a sustainable energy system for Germany. The study also argues that the public trust needed to underpin such a transition can only be built through the use of transparent open source energy models.[94]
Project | SciGRID | |
---|---|---|
Host | Deutsches Zentrum für Luft- und Raumfahrt | |
Status | active | |
Scope/type | European transmission grid | |
Code license | Apache 2.0 | |
Website |
SciGRID, short for Scientific Grid, is an open source model of the German and European electricity transmission networks. The research project is managed by DLR Institute of Networked Energy Systems located in Oldenburg, Germany. The project maintains a website and an email newsletter. SciGRID is written in Python and uses a PostgreSQL database. The first release (v0.1) was made on 15June 2015.
SciGRID aims to rectify the lack of open research data on the structure of electricity transmission networks within Europe. This lack of data frustrates attempts to build, characterise, and compare high resolution energy system models. SciGRID utilizes transmission network data available from the OpenStreetMap project, available under the Open Database License (ODbL), to automatically author transmission connections. SciGRID will not use data from closed sources. SciGRID can also mathematically decompose a given network into a simpler representation for use in energy models.[95] [96]
Project | SIREN | |
---|---|---|
Host | Sustainable Energy Now | |
Status | active | |
Scope/type | renewable generation | |
Code license | AGPLv3 | |
Website | ||
Repository |
SIREN stands for SEN Integrated Renewable Energy Network Toolkit. The project is run by Sustainable Energy Now, an NGO based in Perth, Australia. The project maintains a website. SIREN runs on Windows and the source code is hosted on SourceForge. The software is written in Python and uses the SAM model (System Advisor Model) from the US National Renewable Energy Laboratory to perform energy calculations. SIREN uses hourly datasets to model a given geographic region. Users can use the software to explore the location and scale of renewable energy sources to meet a specified electricity demand. SIREN utilizes a number of open or publicly available data sources: maps can be created from OpenStreetMap tiles and weather datasets can be created using NASA MERRA-2 satellite data.[97]
A 2016 study using SIREN to analyze Western Australia's South-West Interconnected System (SWIS) finds that it can transition to 85% renewable energy (RE) for the same cost as new coal and gas. In addition, 11.1million tonnes of eq emissions would be avoided. The modeling assumes a carbon price of AUD$30/t. Further scenarios examine the goal of 100% renewable generation.[98]
Project | SWITCH | |
---|---|---|
Host | University of Hawaiʻi | |
Status | active | |
Scope/type | optimal planning | |
Code license | Apache 2.0 | |
Website | ||
Repository |
SWITCH is a loose acronym for solar, wind, conventional and hydroelectric generation, and transmission. SWITCH is an optimal planning model for power systems with large shares of renewable energy. SWITCH is being developed by the Department of Electrical Engineering, University of Hawaiʻi at Mānoa, Hawaii, USA. The project runs a small website and hosts its codebase and datasets on GitHub. SWITCH is written in Pyomo, an optimization components library programmed in Python. It can use either the open source GLPK solver or the commercial CPLEX solver.
SWITCH is a power system model, focused on renewables integration. It can identify which generator and transmission projects to build in order to satisfy electricity demand at the lowest cost over a several-year period while also reducing emissions. SWITCH utilizes multi-stage stochastic linear optimization with the objective of minimizing the present value of the cost of power plants, transmission capacity, fuel usage, and an arbitrary per-tonne charge (to represent either a carbon tax or a certificate price), over the course of a multi-year investment period. It has two major sets of decision variables. First, at the start of each investment period, SWITCH selects how much generation capacity to build in each of several geographic load zones, how much power transfer capability to add between these zones, and whether to operate existing generation capacity during the investment period or to temporarily mothball it to avoid fixed operation and maintenance costs. Second, for a set of sample days within each investment period, SWITCH makes hourly decisions about how much power to generate from each dispatchable power plant, store at each pumped hydro facility, or transfer along each transmission interconnector. The system must also ensure enough generation and transmission capacity to provide a planning reserve margin of 15% above the load forecasts. For each sampled hour, SWITCH uses electricity demand and renewable power production based on actual measurements, so that the weather-driven correlations between these elements remain intact.
Following the optimization phase, SWITCH is used in a second phase to test the proposed investment plan against a more complete set of weather conditions and to add backstop generation capacity so that the planning reserve margin is always met. Finally, in a third phase, the costs are calculated by freezing the investment plan and operating the proposed power system over a full set of weather conditions.
A 2012 paper uses California from 2012 to 2027 as a case study for SWITCH. The study finds that there is no ceiling on the amount of wind and solar power that could be used and that these resources could potentially reduce emissions by 90% or more (relative to 1990 levels) without reducing reliability or severely raising costs. Furthermore, policies that encourage electricity customers to shift demand to times when renewable power is most abundant (for example, though the well-timed charging of electric vehicles) could achieve radical emission reductions at moderate cost.[99]
SWITCH was used more recently to underpin consensus-based power system planning in Hawaii.[100] The model is also being applied in Chile, Mexico, and elsewhere.
Major version2.0 was released in late2018.[101] An investigation that year favorably compared SWITCH with the proprietary General Electric MAPS model using Hawaii as a case study.[102]
Project | URBS | |
---|---|---|
Host | Technical University of Munich | |
Status | active | |
Scope/type | distributed energy systems | |
Code license | GPLv3 | |
Repository |
URBS, Latin for city, is a linear programming model for exploring capacity expansion and unit commitment problems and is particularly suited to distributed energy systems (DES). It is being developed by the Institute for Renewable and Sustainable Energy Systems, Technical University of Munich, Germany. The codebase is hosted on GitHub. URBS is written in Python and uses the Pyomo optimization packages.
URBS classes as an energy modeling framework and attempts to minimize the total discounted cost of the system. A particular model selects from a set of technologies to meet a predetermined electricity demand. It uses a time resolution of one hour and the spatial resolution is model-defined. The decision variables are the capacities for the production, storage, and transport of electricity and the time scheduling for their operation.[103]
The software has been used to explore cost-optimal extensions to the European transmission grid using projected wind and solar capacities for 2020. A 2012 study, using high spatial and technological resolutions, found variable renewable energy (VRE) additions cause lower revenues for conventional power plants and that grid extensions redistribute and alleviate this effect.[104] The software has also been used to explore energy systems spanning Europe, the Middle East, and North Africa (EUMENA)[103] and Indonesia, Malaysia, and Singapore.[105]
Open energy system models capture some or all of the energy commodities found in an energy system. Typically models of the electricity sector are always included. Some models add the heat sector, which can be important for countries with significant district heating. Other models add gas networks. With the advent of emobility, other models still include aspects of the transport sector. Indeed, coupling these various sectors using power-to-X technologies is an emerging area of research.[57]
Project | Host | License | Access | Coding | Documentation | Scope/type | |
---|---|---|---|---|---|---|---|
AnyMOD.jl | Technische Universität Berlin | MIT | GitHub | Julia | website | system planning framework | |
Backbone | VTT | LGPLv3 | GitLab | GAMS | website | framework - dispatch, investment, all sectors, LP/MILP | |
Balmorel | Denmark | ISC | registration | GAMS | manual | energy markets | |
Calliope | ETH Zurich | Apache 2.0 | download | Python | manual, website, list | dispatch and investment | |
DESSTinEE | Imperial College London | download | Excel/VBA | website | simulation | ||
Energy Transition Model | Quintel Intelligence | MIT | GitHub | Ruby (on Rails) | website | web-based | |
EnergyPATHWAYS | Evolved Energy Research | MIT | GitHub | Python | website | mostly simulation | |
ETEM | ORDECSYS, Switzerland | Eclipse 1.0 | registration | MathProg | manual | municipal | |
ficus | Technical University of Munich | GPLv3 | GitHub | Python | manual | local electricity and heat | |
GenX | MIT and Princeton University | GPLv2 | GitHub | Julia | website | multicommodity sector investment planning | |
oemof | oemof community supported by
| MIT | GitHub | Python | website | framework - dispatch, investment, all sectors, LP/MILP | |
OSeMOSYS | OSeMOSYS community | Apache 2.0 | GitHub | website, forum | planning at all scales | ||
PyPSA | Goethe University Frankfurt | MIT | GitHub | Python | website | electric power systems with sector coupling | |
TEMOA | North Carolina State University | GPLv2+ | GitHub | Python | website, forum | system planning | |
|
Project | AnyMOD.jl | |
---|---|---|
Host | Technische Universität Berlin | |
Status | active | |
Scope/type | energy system planning | |
Code license | MIT | |
Language | Julia | |
Website | ||
Documentation | ||
Publications |
AnyMOD.jl is a framework for planning macroenergy systems at a high level of spatio-temporal detail. The framework covers the expansion and operation of short-term and seasonal storage, fossil and renewable generation, transmission infrastructure, and sector coupling technologies. It can be used to plan longterm pathways under perfect foresight.
AnyMOD.jl is implemented in Julia and relies on the JuMP library for optimization and DataFrames.jl for data management. Models are formulated as linear optimization problems and can be solved with open-source libraries like HiGHS or commercial solvers like CPLEX. To increase accessibility and enable version-controlled development, specific models are fully defined using CSV files.
Compared to similar tools, AnyMOD.jl puts an emphasis on innovative methods to achieve high detail and capture intermittent renewables, while maintaining a comprehensive scope in terms of regions and sectors. These methods include varying the spatio-temporal resolution by energy carrier within the same model and a scaling algorithm to improve the properties of the underlying optimization problem.[106] [107] Methods from stochastic programming are now being implemented to better address the uncertainties associated with renewable generation.[108]
most studies deploying the tool have focused on the German energy system in a European context, for instance investigating the tradeoffs between centralized and decentralized designs, the role of grid planning, and the potential of sufficiency measures.[109] [110] [111] In addition, AnyMOD.jl has been used to support policy reports from the German Institute for Economic Research (DIW) on the European Green Deal and the coordination of the German Energiewende.[112] [113]
Project | Backbone | |
---|---|---|
Host | VTT | |
Status | active | |
Scope/type | framework - dispatch, investment, all sectors, LP/MILP | |
Code license | LGPLv3 | |
Language | GAMS | |
Website | ||
Repository | ||
Documentation |
Backbone is an energy system modeling framework that allows for a high level of detail and adaptability. It has been used to study city-level energy systems as well as multi-country energy systems. It was originally developed during 20152018 in an Academy of Finlandfunded project 'VaGe' by the Design and Operation of Energy Systems team at VTT. It has been further developed in a collaboration which includes VTT, UCD, and RUB.
The framework is agnostic about what is modeled, but still has capabilities to represent a large range of energy system characteristics such as generation and transfer, reserves, unit commitment, heat diffusion in buildings, storages, multiple emissions and P2X, etc. It offers linear and mixed integer constraints for capturing things like unit start-ups and investment decisions. It allows the modeler to change the temporal resolution of the model between time steps. and this enables, for example, to use a coarser time resolution further ahead in the time horizon of the model. The model can be solved as an investment model (single or multi-period, myopic, or full foresight) or as a rolling production cost unit commitment model to simulate operations.[114]
Backbone's own wiki page has a tutorial for new users, example models, and user created mods. Open datasets include Northern European model for electricity, heat, and hydrogen [115] and District heating and cooling model for the Finnish capital region. [116]
Project | Balmorel | |
---|---|---|
Host | stand-alone from Denmark | |
Status | active | |
Scope/type | energy markets | |
Code license | ISC | |
Website |
Balmorel is a market-based energy system model from Denmark. Development was originally financed by the Danish Energy Research Program in 2001.[90] The codebase was made public in March 2001.[117] The Balmorel project maintains an extensive website, from where the codebase and datasets can be download as a zip file. Users are encouraged to register. Documentation is available from the same site.[118] [119] [120] Balmorel is written in GAMS.
The original aim of the Balmorel project was to construct a partial equilibrium model of the electricity and CHP sectors in the Baltic Sea region, for the purposes of policy analysis.[121] These ambitions and limitations have long since been superseded and Balmorel is no longer tied to its original geography and policy questions.[119] Balmorel classes as a dispatch and investment model and uses a time resolution of one hour. It models electricity and heat supply and demand, and supports the intertemporal storage of both. Balmorel is structured as a pure linear program (no integer variables).
, Balmorel has been the subject of some 22publications. A 2008 study uses Balmorel to explore the Nordic energy system in 2050. The focus is on renewable energy supply and the deployment of hydrogen as the main transport fuel. Given certain assumptions about the future price of oil and carbon and the uptake of hydrogen, the model shows that it is economically optimal to cover, using renewable energy, more than 95% of the primary energy consumption for electricity and district heat and 65% of the transport.[122] A 2010 study uses Balmorel to examine the integration of plug-in hybrid vehicles (PHEV) into a system comprising one quarter wind power and three quarters thermal generation. The study shows that PHEVs can reduce the emissions from the power system if actively integrated, whereas a hands-off approach – letting people charge their cars at will – is likely to result in an increase in emissions.[123] A 2013 study uses Balmorel to examine cost-optimized wind power investments in the Nordic-Germany region. The study investigates the best placement of wind farms, taking into account wind conditions, distance to load, and the generation and transmission infrastructure already in place.[124]
Project | Calliope | |
---|---|---|
Host | ETH Zurich, TU Delft | |
Status | active | |
Scope/type | dispatch and investment | |
Code license | Apache 2.0 | |
Language | Python | |
Website | ||
Repository | ||
Documentation |
Calliope is an energy system modeling framework, with a focus on flexibility, high spatial and temporal resolution, and the ability to execute different runs using the same base-case dataset. The project is being developed at the Department of Environmental Systems Science, ETH Zurich, Zürich, Switzerland. The project maintains a website, hosts the codebase at GitHub, operates an issues tracker, and runs two email lists. Calliope is written in Python and uses the Pyomo library. It can link to the open source GLPK solver and the commercial CPLEX solver. PDF documentation is available.[125] And a twopage software review is available.[126]
A Calliope model consists of a collection of structured text files, in YAML and CSV formats, that define the technologies, locations, and resource potentials. Calliope takes these files, constructs a pure linear optimization (no integer variables) problem, solves it, and reports the results in the form of pandas data structures for analysis. The framework contains five abstract base technologies – supply, demand, conversion, storage, transmission – from which new concrete technologies can be derived. The design of Calliope enforces the clear separation of framework (code) and model (data).
A 2015 study uses Calliope to compare the future roles of nuclear power and CSP in South Africa. It finds CSP could be competitive with nuclear by 2030 for baseload and more competitive when producing above baseload. CSP also offers less investment risk, less environmental risk, and other co-benefits.[127] A second 2015 study compares a large number of cost-optimal future power systems for Great Britain. Three generation technologies are tested: renewables, nuclear power, and fossil fuels with and without carbon capture and storage (CCS). The scenarios are assessed on financial cost, emissions reductions, and energy security. Up to 60% of variable renewable capacity is possible with little increase in cost, while higher shares require large-scale storage, imports, and/or dispatchable renewables such as tidal range.[128]
Calliope codeveloper Stefan Pfenninger discusses the role that energy system models can play in supporting realworld decisions at a seminar held in mid2021.[129] One study cited investigates the consequences of pursuing energy selfsufficiency by duly adding increasingly restrictive internal constraints.[130] Another at near optimal solutions for Italy.[131] A2023 video describes recent developments, many of which are designed to benefit users.[132]
Project | DESSTinEE | |
---|---|---|
Host | Imperial College London | |
Status | active | |
Scope/type | simulation | |
Code license | ||
Website |
DESSTinEE stands for Demand for Energy Services, Supply and Transmission in EuropE. DESSTinEE is a model of the European energy system in 2050 with a focus on the electricity system. DESSTinEE is being developed primarily at the Imperial College Business School, Imperial College London (ICL), London, United Kingdom. The software can be downloaded from the project website. DESSTinEE is written in Excel/VBA and comprises a set of standalone spreadsheets. A flier is available.[133]
DESSTinEE is designed to investigate assumptions about the technical requirements for energy transport – particularly electricity – and the scale of the economic challenge to develop the necessary infrastructure. Forty countries are considered in and around Europe and ten forms of primary and secondary energy are supported. The model uses a predictive simulation technique, rather than solving for either partial or general equilibrium. The model projects annual energy demands for each country to 2050, synthesizes hourly profiles for electricity demand in 2010 and 2050, and simulates the least-cost generation and transmission of electricity around the region.[134]
A 2016 study using DESSTinEE (and a second model eLOAD) examines the evolution of electricity load curves in Germany and Britain from the present until 2050. In 2050, peak loads and ramp rates rise 20–60% and system utilization falls 15–20%, in part due to the substantial uptake of heat pumps and electric vehicles. These are significant changes.[135]
Project | Energy Transition Model | |
---|---|---|
Host | Quintel Intelligence | |
Status | active | |
Scope/type | web-based | |
Code license | MIT | |
Website | ||
Interactive website | ||
Repository |
The Energy Transition Model (ETM) is an interactive web-based model using a holistic description of a country's energy system. It is being developed by Quintel Intelligence, Amsterdam, the Netherlands. The project maintains a project website, an interactive website, and a GitHub repository. ETM is written in Ruby (on Rails) and displays in a web browser. ETM consists of several software components as described in the documentation.
ETM is fully interactive. After selecting a region (France, Germany, the Netherlands, Poland, Spain, United Kingdom, EU-27, or Brazil) and a year (2020, 2030, 2040, or 2050), the user can set 300 sliders (or enter numerical values) to explore the following:
ETM is based on an energy graph (digraph) where nodes (vertices) can convert from one type of energy to another, possibly with losses. The connections (directed edges) are the energy flows and are characterized by volume (in megajoules) and carrier type (such as coal, electricity, usable-heat, and so forth). Given a demand and other choices, ETM calculates the primary energy use, the total cost, and the resulting emissions. The model is demand driven, meaning that the digraph is traversed from useful demand (such as space heating, hot water usage, and car-kilometers) to primary demand (the extraction of gas, the import of coal, and so forth).
Project | EnergyPATHWAYS | |
---|---|---|
Host | Evolved Energy Research | |
Status | active | |
Scope/type | mostly simulation | |
Code license | MIT | |
Repository |
EnergyPATHWAYS is a bottom-up energy sector model used to explore the near-term implications of long-term deep decarbonization. The lead developer is energy and climate protection consultancy, Evolved Energy Research, San Francisco, USA. The code is hosted on GitHub. EnergyPATHWAYS is written in Python and links to the open source Cbc solver. Alternatively, the GLPK, or CPLEX solvers can be employed. EnergyPATHWAYS utilizes the PostgreSQL object-relational database management system (ORDBMS) to manage its data.
EnergyPATHWAYS is a comprehensive accounting framework used to construct economy-wide energy infrastructure scenarios. While portions of the model do use linear programming techniques, for instance, for electricity dispatch, the EnergyPATHWAYS model is not fundamentally an optimization model and embeds few decision dynamics. EnergyPATHWAYS offers detailed energy, cost, and emissions accounting for the energy flows from primary supply to final demand. The energy system representation is flexible, allowing for differing levels of detail and the nesting of cities, states, and countries. The model uses hourly least-cost electricity dispatch and supports power-to-gas, short-duration energy storage, long-duration energy storage, and demand response. Scenarios typically run to 2050.
A predecessor of the EnergyPATHWAYS software, named simply PATHWAYS, has been used to construct policy models. The California PATHWAYS model was used to inform Californian state climate targets for 2030.[136] And the US PATHWAYS model contributed to the United Nations Deep Decarbonization Pathways Project (DDPP) assessments for the United States.[137], the DDPP plans to employ EnergyPATHWAYS for future analysis.
Project | ETEM | |
---|---|---|
Host | ORDECSYS | |
Status | active | |
Scope/type | municipal | |
Code license | Eclipse 1.0 | |
Website |
ETEM stands for Energy Technology Environment Model. The ETEM model offers a similar structure to OSeMOSYS but is aimed at urban planning. The software is being developed by the ORDECSYS company, Chêne-Bougeries, Switzerland, supported with European Union and national research grants. The project has two websites. The software can be downloaded from first of these websites (but, this looks out of date). A manual is available with the software.[138] ETEM is written in MathProg. Presentations describing ETEM are available.[139] [140]
ETEM is a bottom-up model that identifies the optimal energy and technology options for a regional or city. The model finds an energy policy with minimal cost, while investing in new equipment (new technologies), developing production capacity (installed technologies), and/or proposing the feasible import/export of primary energy. ETEM typically casts forward 50years, in two or five year steps, with time slices of four seasons using typically individual days or finer. The spatial resolution can be highly detailed. Electricity and heat are both supported, as are district heating networks, household energy systems, and grid storage, including the use of plug-in hybrid electric vehicles (PHEV). ETEM-SG, a development, supports demand response, an option which would be enabled by the development of smart grids.
The ETEM model has been applied to Luxembourg, the Geneva and Basel-Bern-Zurich cantons in Switzerland, and the Grenoble metropolitan and Midi-Pyrénées region in France. A 2005 study uses ETEM to study climate protection in the Swiss housing sector. The ETEM model was coupled with the GEMINI-E3 world computable general equilibrium model (CGEM) to complete the analysis.[141] A 2012 study examines the design of smart grids. As distribution systems become more intelligent, so must the models needed to analysis them. ETEM is used to assess the potential of smart grid technologies using a case study, roughly calibrated on the Geneva canton, under three scenarios. These scenarios apply different constraints on emissions and electricity imports. A stochastic approach is used to deal with the uncertainty in future electricity prices and the uptake of electric vehicles.[142]
Project | ficus | |
---|---|---|
Host | Technical University of Munich | |
Status | active | |
Scope/type | local electricity and heat | |
Code license | GPLv3 | |
Repository | ||
Documentation |
ficus is a mixed integer optimization model for local energy systems. It is being developed at the Institute for Energy Economy and Application Technology, Technical University of Munich, Munich, Germany. The project maintains a website. The project is hosted on GitHub. ficus is written in Python and uses the Pyomo library. The user can choose between the open source GLPK solver or the commercial CPLEX solver.
Based on URBS, ficus was originally developed for optimizing the energy systems of factories and has now been extended to include local energy systems. ficus supports multiple energy commodities – goods that can be imported or exported, generated, stored, or consumed – including electricity and heat. It supports multiple-input and multiple-output energy conversion technologies with load-dependent efficiencies. The objective of the model is to supply the given demand at minimal cost. ficus uses exogenous cost time series for imported commodities as well as peak demand charges with a configurable timebase for each commodity in use.
Project | GenX | |
---|---|---|
Host | MIT and Princeton University | |
Status | active | |
Scope/type | multicommodity sector investment planning | |
Code license | GPLv2 | |
Website | ||
Repository | ||
Documentation |
GenX is multicommodity sector capacity expansion model originally developed by researchers in the United States.[143] [144] The framework is written in Julia and deploys the JuMP library for building the underlying optimization problem.[145] [146] GenX through JuMP can utilize various open source (including CBC/CLP) and commercial optimization solvers (including CPLEX). In June2021, the project launched as an active open source project and test suites are available to assist onboarding.[147]
In parallel, the PowerGenome project is designed to provide GenX with a comprehensive current state dataset of the United States electricity system.[148] That dataset can then be used as a springboard to develop future scenarios.
GenX has been used to explore long-term storage options in systems with high renewables shares,[149] [150] to explore the value of 'firm' low-carbon power generation options,[151] and a variety of other applications. While North America remains a key focus, the software has been applied to problems in India,[152] Italy,[153] and Spain.[154]
GenX was deployed in a 2021 case study with Louisville Gas and Electric and Kentucky Utilities that showed that stakeholder-driven modeling utilizing opensource tools and public data can contribute productively to utilityled analysis and planning.[155] [156]
A mid2022 study examined the natural gas crisis facing Europe, and particularly Germany, and concluded that there are several feasible paths (labeled "cases") to eliminate all imports of Russian natural gas by October2022.[157] [158] Ongoing work seeks to examine the effect of extending the operating lives of Germany's three remaining nuclear reactors past 2022 and the effect of strong drought conditions on hydrogeneration and the system more generally.
Project | oemof | |
---|---|---|
Host | oemofe.V. nonprofit with community support from | |
Status | active | |
Scope/type | electricity, heat, mobility, gas | |
Code license | MIT | |
Language | Python | |
Website |
| |
Repository | ||
Documentation | ||
Discussion |
oemof stands for Open Energy Modelling Framework. The project is managed by the Reiner Lemoine Institute, Berlin, Germany and the Center for Sustainable Energy Systems (CSES or ZNES) at the University of Flensburg and the Flensburg University of Applied Sciences, both Flensburg, Germany. The project runs two websites and a GitHub repository. oemof is written in Python and uses Pyomo and COIN-OR components for optimization. Energy systems can be represented using spreadsheets (CSV) which should simplify data preparation. was released on 1December 2016.
oemof classes as an energy modeling framework. It consists of a linear or mixed integer optimization problem formulation library (solph), an input data generation library (feedin-data), and other auxiliary libraries. The solph library is used to represent multi-regional and multi-sectoral (electricity, heat, gas, mobility) systems and can optimize for different targets, such as financial cost or emissions. Furthermore, it is possible to switch between dispatch and investment modes. In terms of scope, oemof can capture the European power system or alternatively it can describe a complex local power and heat sector scheme.
oemof has been applied in subSaharan Africa.[159] A masters project in 2020 compared oemof and OSeMOSYS.[160]
Project | OSeMOSYS | |
---|---|---|
Host | community project | |
Status | active | |
Scope/type | planning at all scales | |
Code license | Apache 2.0 | |
Language | various | |
Website | ||
Forum | ||
Repository | ||
Discussion |
OSeMOSYS stands for Open Source Energy Modelling System. OSeMOSYS is intended for national and regional policy development and uses an intertemporal optimization framework. The model posits a single socially motivated operator/investor with perfect foresight. The OSeMOSYS project is a community endeavor, supported by the division of Energy Systems, KTH Royal Institute of Technology, Stockholm, Sweden. The project maintains a website providing background. The project also offers several active internet forums on Google Groups. OSeMOSYS was originally written in MathProg, a high-level mathematical programming language. It was subsequently reimplemented in GAMS and Python and all three codebases are now maintained. The project also provides a test model called UTOPIA. A manual is available.[161]
OSeMOSYS provides a framework for the analysis of energy systems over the medium (10–15 years) and long term (50–100 years). OSeMOSYS uses pure linear optimization, with the option of mixed integer programming for the treatment of, for instance, discrete power plant capacity expansions. It covers most energy sectors, including heat, electricity, and transport. OSeMOSYS is driven by exogenously defined energy services demands. These are then met through a set of technologies which draw on a set of resources, both characterized by their potentials and costs. These resources are not limited to energy commodities and may include, for example, water and land-use. This enables OSeMOSYS to be applied in domains other than energy, such as water systems. Technical constraints, economic restrictions, and/or environmental targets may also be imposed to reflect policy considerations. OSeMOSYS is available in extended and compact MathProg formulations, either of which should give identical results. In its extended version, OSeMOSYS comprises a little more than 400 lines of code. OSeMOSYS has been used as a base for constructing reduced models of energy systems.[162]
A key paper describing OSeMOSYS is available.[163] A 2011 study uses OSeMOSYS to investigate the role of household investment decisions.[164] A 2012 study extends OSeMOSYS to capture the salient features of a smart grid. The paper explains how to model variability in generation, flexible demand, and grid storage and how these impact on the stability of the grid.[165] OSeMOSYS has been applied to village systems. A 2015 paper compares the merits of stand-alone, mini-grid, and grid electrification for rural areas in Timor-Leste under differing levels of access.[166] In a 2016 study, OSeMOSYS is modified to take into account realistic consumer behavior.[167] Another 2016 study uses OSeMOSYS to build a local multi-regional energy system model of the Lombardy region in Italy. One of the aims of the exercise was to encourage citizens to participate in the energy planning process. Preliminary results indicate that this was successful and that open modeling is needed to properly include both the technological dynamics and the non-technological issues.[168] A 2017 paper covering Alberta, Canada factors in the risk of overrunning specified emissions targets because of technological uncertainty. Among other results, the paper finds that solar and wind technologies are built out seven and five years earlier respectively when emissions risks are included.[169] Another 2017 paper analyses the electricity system in Cyprus and finds that, after European Union environmental regulations are applied post-2020, a switch from oil-fired to natural gas generation is indicated.[170]
OSeMOSYS has been used to construct wide-area electricity models for Africa, comprising 45countries[171] [172] and South America, comprising 13countries.[173] [174] It has also been used to support United Nations' regional climate, land, energy, and water strategies (CLEWS)[175] for the Sava river basin, central Europe,[176] the Syr Darya river basin, eastern Europe,[177] and Mauritius.[178] Models have previously been built for the Baltic States, Bolivia, Nicaragua, Sweden, and Tanzania.[179] A2021 paper summarizes recent applications and also details various versions, forks, and local enhancements related to the OSeMOSYS codebase. Anelectricity sector analysis for Bangladesh completed in2021 concluded that solar power is economically competitive under every investigated scenario.[180] A2022 study looked at the effects of a changing climate on the Ethiopian power system.[181] OSeMOSYS has also been applied variously in Zimbabwe[182] and Ecuador.[183] Another 2022 study examined water usage, split by withdraws and consumption, for several low carbon energy strategies for Africa.[184] Another study that year examined renewable energy in Egypt.[185] And another the Dominican Republic.[186] The Italian island of Pantelleria was used as a case study to compare battery and hydrogen storage and found that a hybrid system was least cost.[187]
In 2016, work started on a browser-based interface to OSeMOSYS, known as the Model Management Infrastructure (MoManI). Led by the UN Department of Economic and Social Affairs (DESA), MoManI is being trialled in selected countries. The interface can be used to construct models, visualize results, and develop better scenarios. Atlantis is the name of a fictional country case-study for training purposes.[188] [189] [190] A simplified GUI interface named clicSAND and utilizing Excel and Access was released in March2021.[191] [192] A CLI workflow tool named otoole bundles several dedicated utilities, including one that can convert between OKI frictionless data and GNU MathProg data formats.[193] [194] In 2022, the project released starterkits for modeling selected countries in Africa, East Asia, and South America.[195]
The OSeMBE reference model covering western and central Europe was announced on 27 April 2018.[196] [197] The model uses the MathProg implementation of OSeMOSYS but requires a small patch first. The model, funded as part of Horizon 2020 and falling under work package WP7 of the REEEM project, will be used to help stakeholders engage with a range of sustainable energy futures for Europe.[198] The REEEM project runs from early-2016 until mid-2020.
A 2021 paper reviews the OSeMOSYS community, its composition, and its governance activities. And also describes the use of OSeMOSYS in education and for building analytical capacity within developing countries.[194]
The OSeMOSYS community launched the OSeMOSYS Global project in 2022 to create a global model and associated workflows. As of late2022, OSeMOSYS Global is limited in scope to the electricity sector and the world system provided comprises 164countries separated by 265nodes.[199]
Project | PyPSA | |
---|---|---|
Host | Technische Universität Berlin | |
Status | active | |
Scope/type | electric power systems with sector coupling | |
Code license | MIT | |
Language | Python | |
Code website | ||
Project website | ||
Repository | ||
Documentation | ||
Python package | ||
Mailing list | ||
Chat | ||
Discussion |
PyPSA stands for Python for Power System Analysis. PyPSA is a free software toolbox for simulating and optimizing electric power systems and allied sectors.[200] [201] It supports conventional generation, variable wind and solar generation, electricity storage, coupling to the natural gas, hydrogen, heat, and transport sectors, and hybrid alternating and direct current networks. Moreover, PyPSA is designed to scale well. The project is managed by the Institute for Automation and Applied Informatics (IAI), Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, although the project itself exists independently under its own name and accounts. The project maintains a website and runs an email list. PyPSA itself is written in Python and uses the Pyomo library. The source code is hosted on GitHub and is also released periodically as a PyPI package.
The basic functionality of PyPSA is described in a 2018 paper. PyPSA bridges traditional steady-state power flow analysis software and full multi-period energy system models. It can be invoked using either non-linear power flow equations for system simulation or linearized approximations to enable the joint optimization of operations and investment across multiple periods. Generator ramping and multi-period up and down-times can be specified, DSM is supported, but demand remains price inelastic.[202]
A 2018 study examines potential synergies between sector coupling and transmission reinforcement in a future European energy system constrained to reduce carbon emissions by 95%. The PyPSA-Eur-Sec-30 model captures the demand-side management potential of battery electric vehicles (BEV) as well as the role that power-to-gas, long-term thermal energy storage, and related technologies can play. Results indicate that BEVs can smooth the daily variations in solar power while the remaining technologies smooth the synoptic and seasonal variations in both demand and renewable supply. Substantial buildout of the electricity grid is required for a least-cost configuration. More generally, such a system is both feasible and affordable. The underlying datasets are available from Zenodo.[203]
, PyPSA is used by more than a dozen research institutes and companies worldwide.[202] Some research groups have independently extended the software, for instance to model integer transmission expansion.[204]
In 2020, the PyPSA‑Eur‑Sec model for Europe was used to analyze several Paris Agreement Compatible Scenarios for Energy Infrastructure[205] and determined that early action should pay off.[206]
On 9January 2019, the project released an interactive web-interfaced "toy" model, using the Cbc solver, to allow the public to experiment with different future costs and technologies.[207] [208] The site was relaunched on 5November 2019 with some internal improvements, a new URL, and faster solver now completing in about .[209] A newer version now uses the HiGHS solver.[210]
During September 2021, PyPSA developers announced the PyPSAServer project to provide a web interface to a simplified version of their PyPSAEurSec sectorcoupled European model.[211] [212] Users need not install software and can define fresh scenarios "by difference" using a formsbased webpage. Previously run scenarios are stored for future reference. The implementation is essentially proofofconcept.
In late‑2021, PyPSAEur developers reported their investigation into integrated high-voltage electricity and hydrogen grid expansion options for Europe and the United Kingdom and the impact of the kind of tradeoffs that might stem from limited public acceptance of new infrastructure.[213] [214] Subsequent work added endogenous learning effects and identified steeper technology cost reductions than those anticipated by the European Commission.[215] Work published in 2024 integrated PyPSAEur with the global energy supply chain model TRACE and highlighted the need to coordinate infrastructure policies and import strategies.[216]
ADecember2021 study and ongoing work deployed a PyPSA‑PL model to assess policy options for Poland.[217] [218] [219] [220]
Several PyPSA maintainers announced a new nonprofit startup in June2023 to provide consulting services using PyPSA.[221]
The PyPSA meets Earth initiative arose in October2022 as a means of gathering together several historically disjoint PyPSA applications.[222] One key strand is the PyPSAAfrica project (previously PyPSA-meets-Africa), launched some months earlier to provide a single model and dataset spanning the African continent.[223] [224] AJuly2022 webinar cohosted by CPEEL, Nigeria advanced this agenda.[225] [226] The first research paper, released in 2022, examines various pathways for Africa to be netzero by 2060 with solar power and battery storage expected to be the predominant technologies.[227]
Another key strand of the initiative is the PyPSAEarth project which seeks to create a global energy systems model at high spatial and temporal resolution.[222] The project hopes to encourage largescale collaboration by providing software and processes that can capture the global energy system and thus also any subset of it. The codebase currently supports system integration studies that draw together electricity generation, storage, and transmission expansion. And a sector-coupled version of the framework is in development that will also offer a choice between myopic decisiontaking or perfect foresight.[227] [228]
Project | TEMOA | |
---|---|---|
Host | North Carolina State University | |
Key people | Joseph DeCarolis | |
Status | active | |
Scope/type | system planning | |
Code license | GPLv2+ | |
Language | Python | |
Website | ||
Repository | ||
Mailing list |
TEMOA stands for Tools for Energy Model Optimization and Analysis. The software is being developed by the Department of Civil, Construction, and Environmental Engineering, North Carolina State University, Raleigh, North Carolina, USA. The project runs a website and a forum. The source code is hosted on GitHub. The model is programmed in Pyomo, an optimization components library written in Python. TEMOA can be used with any solver that Pyomo supports, including the open source GLPK solver. TEMOA uses version control to publicly archive source code and datasets and thereby enable third-parties to verify all published modeling work.[229]
TEMOA classes as a modeling framework and is used to conduct analysis using a bottom-up, technology rich energy system model. The model objective is to minimize the system-wide cost of energy supply by deploying and utilizing energy technologies and commodities over time to meet a set of exogenously specified end-use demands.[230] TEMOA is "strongly influenced by the well-documented MARKAL/TIMES model generators".[231]
TEMOA forms the basis of the Open Energy Outlook (OEO) research project spanning 2020–2022. The OEO project utilizes open source tools and open data to explore deep decarbonization policy options for the United States.[232] [233]
From mid2021, an interactive interface located on the main website allows registered users to manipulate scenario data locally, upload structured SQLite files, and then run these scenarios using the TEMOA software.[234] [235] The service also provides some limited data visualization and project management functionality.
This section lists specialist modeling frameworks that cover particular aspects of an energy system in more detail than would normally be convenient or feasible with more general frameworks.
- ! style="width: 35%" | Project | RAMP | - ! Host | - ! Status | active | - ! Scope/type | synthetic demand profiles | - ! Code license | - ! Language | - ! Website | - ! Repository | - ! Documentation | - ! Python package | - ! Chat |
RAMP is an open-source software suite for the stochastic simulation of userdriven energy demand time series based on few simple inputs. For example, a minimal definition of a user type say, aparticular category of household requires only information about which energy-consuming devices they own, when they tend to use them on any typical day, and for how long in total. The software then leverages stochasticity to make up for the absence of more detailed information and to include the unpredictability of human behavior.
The RAMP software can then generate synthetic data wherever metered data does not exist, such as when designing systems in remote areas[236] or when looking forward to future electric-vehicle fleets.[237] The limited data requirements also allow for a greater flexibility in scenario selection and development than similar but more data-intensive characterizations.[238]
RAMP has been used in scientific research for avariety of use cases, including the generation of electricity demand profiles for remote or residential communities, domestic hot water usage, cooking practices, and electric mobility. Associated geographical scales can range from neighborhoods to continents.
RAMP has several dozen users worldwide. In the early2020s, the software became part of a multi-institution software development effort, supported by TU Delft, VITO, Reiner Lemoine Institute, University of Liège, Leibniz University Hannover, and Universidad Mayor deSan Simón.[238]
RAMP runs on Python and requires input in tabular form. Graphical user interfaces (GUI) are available, allowing the software to be run from web browsers.[239]
Project | VencoPy | |
---|---|---|
Host | German Aerospace Center | |
Status | active | |
Scope/type | electric vehicle/system interactions | |
Code license | BSD-new | |
Language | Python | |
Website | ||
Mailing list | ||
Repository | ||
Documentation | ||
Discussion |
The VencoPy model framework can be used to investigate interactions between the uptake of battery electric vehicles (BEV) and the electricity system at large. More specifically, BEVs can usefully contribute to short‑haul storage in power systems facing high shares of fluctuating renewable energy. But unlike dedicated grid storage, BEV contributions are highly dependent on the connection and charging choices that individual vehicle owners might make.[240]
VencoPy has been applied to various scenarios in Germany in 2030 using a projected 9million BEVs in service and an annual fleet power consumption of . Simulations show that owner decisions are indeed significant and that some system design variables have more influence than others. For instance, aggregate fleet capacity and the availability of fast charging facilities appear to strongly impact the likely system contribution. Further work is needed to assess the influence of more resolved weather and demand patterns.[240] The mathematical formulation is available.[241] VencoPy builds on an earlier spreadsheet prototype.[242]
Statistics for the 29 open energy modeling projects listed (given sufficient information is available) are as follows:
|
|
|
The GAMS language requires a proprietary environment and its significant cost effectively limits participation to those who can access an institutional copy.[243]
Programming components, in this context, are coherent blocks of code or compiled libraries that can be relatively easily imported or linked to by higherlevel modeling frameworks in order to obtain some welldefined functionality.
A number of electricity auction models have been written in GAMS, AMPL, MathProg, and other languages. These include:
Many projects rely on a pure linear or mixed integer solver to perform classical optimization, constraint satisfaction, or some mix of the two. While there are several open source solver projects, the most commonly deployed solver is GLPK. GLPK has been adopted by Calliope, ETEM, ficus, OSeMOSYS, SWITCH, and TEMOA. Another alternative is the Clp solver.[250] [251] From mid2022, the HiGHS open source solver offers another option. HiGHS is used by the webbased version of the PyPSA European multisector model[252]
Proprietary solvers outperform open source solvers by a considerable margin (perhaps ten-fold), so choosing an open solver will limit performance in terms of speed, memory consumption, and perhaps even tractability.[253]
The flexible SMS++ optimization toolbox, written in C++17, is being developed specifically to meet the needs of energy system modeling.[254]
General
Software
People
The following lists and databases cover energy system models to varying degrees of completeness and usually with a focus on open source:
Modeling efforts by region