From efe339b8cd73f71cc4e1dc454e3a6ebc728c21fc Mon Sep 17 00:00:00 2001 From: The Open Journals editorial robot <89919391+editorialbot@users.noreply.github.com> Date: Sat, 18 May 2024 00:40:16 +0100 Subject: [PATCH] Creating 10.21105.joss.06619.jats --- .../paper.jats/10.21105.joss.06619.jats | 476 ++++++++++++++++++ 1 file changed, 476 insertions(+) create mode 100644 joss.06619/paper.jats/10.21105.joss.06619.jats diff --git a/joss.06619/paper.jats/10.21105.joss.06619.jats b/joss.06619/paper.jats/10.21105.joss.06619.jats new file mode 100644 index 0000000000..c572405633 --- /dev/null +++ b/joss.06619/paper.jats/10.21105.joss.06619.jats @@ -0,0 +1,476 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +6619 +10.21105/joss.06619 + +EnergyModelsX: Flexible Energy Systems Modelling with +Multiple Dispatch + + + +https://orcid.org/0000-0001-5958-9794 + +Hellemo +Lars + + +* + + +https://orcid.org/0000-0001-6970-9315 + +Bødal +Espen Flo + + + + +https://orcid.org/0009-0007-1782-6326 + +Holm +Sigmund Eggen + + + + +https://orcid.org/0000-0001-9393-0036 + +Pinel +Dimitri + + + + +https://orcid.org/0000-0001-8622-1936 + +Straus +Julian + + + + + +SINTEF Industry, Postboks 4760 Torgarden, 7465 +Trondheim + + + + +SINTEF Energy Research, Postboks 4761 Torgarden, 7465 +Trondheim + + + + +* E-mail: + + +8 +3 +2024 + +9 +97 +6619 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2022 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +Julia +energy +multi-carrier +multiple dispatch + + + + + + Summary +

EnergyModelsX + is a multi-nodal energy system modelling framework written in Julia + (Bezanson + et al., 2017), based on the mathematical programming DSL JuMP + (Lubin + et al., 2023). The framework is designed to be flexible and + easy to extend, for instance all resources, both energy carriers and + materials, may be defined by the user. Furthermore, EnergyModelsX + follows a modular design to facilitate extensions through additional + packages. + EnergyModelsX + was developed at the Norwegian research organization + SINTEF + at the institutes SINTEF Energi and SINTEF Industri. The framework + consists of the package EnergyModelsBase and currently provides the + following extensions: EnergyModelsGeography, EnergyModelsInvestments + and EnergyModelsRenewableProducers.

+

See Bødal et al. + (2024) + for an example application of + EnergyModelsX.

+
+ + Statement of need +

The increasing share of renewable energy generation and importance + of sector coupling increases the complexity of energy systems, and + makes the modelling of these systems more challenging. To meet the + demand of energy modelers, energy system models need ever increasing + flexibility to analyse the energy systems of tomorrow + (Fodstad + et al., 2022). While large scale models like TIMES + (Loulou + et al., 2016) and GENeSYS-MOD + (Löffler + et al., 2017) are important for modelling large energy systems, + they lack the potential for simple modifications in technology + descriptions as well as simple incorporation of region specific + constraints. + SpineOpt + (Ihlemann + et al., 2022) offers the user with the flexibility, but the + monolithic approach of including all functionality in a single package + reduces the understandability of the code. + GenX + (Jenkins + et al., 2024) and + Tulipa + Energy Model + (Tejada-Arango + et al., 2024) are other recent energy system models developed + in Julia with similar goals to EnergyModelsX, but with less focus on + extensibility and alternative technology formulations.

+

EnergyModelsX + is a modular energy-system modelling framework designed to give + modelers a high level of flexibility. The time resolution is decoupled + from the technology descriptions by the application of + TimeStruct + (Flatberg + & Hellemo, 2024), facilitating the support of a wide range + of time structures with different temporal resolution and to support + operational uncertainty. The system is designed from the ground up to + support multiple energy carriers, and the modeler may define + resources, including energy carriers, materials and emissions freely. + The base model is designed to allow extentions with extra + functionality such as support for different spatial resolution or more + detailed technology description, making the framework well suited to + address the needs of modelling integrated energy systems with sector + coupling.

+

State-of-the art modelling frameworks have several limitations; + they are often built on proprietary algebraic modelling languages with + parameter-driven models and often start from a single energy-carrier. + EnergyModelsX + addresses these shortcomings by using the modern modelling framework + JuMP with excellent performance characteristics. Modularity is + achieved through Julia’s multiple dispatch functionality, allowing + extensions to build on the base package. The results can be made fully + reproducible by using an open modelling language and the Julia package + manager for simple reproducibility of analyses.

+

With a fast and flexible system, users and developers may iterate + rapidly, develop new or modify existing functionalities to adjust + analyses to their needs and run multiple sensitivity analyses with + ease.

+
+ + Released packages of EnergyModelsX +

As part of the initial release of + EnergyModelsX, + the following packages and extensions are available:

+ + EnergyModelsBase +

EnergyModelsBase + is the base model, providing an optimal dispatch model for + operational analyses of local systems. Reference (linear) + implementations are available for a set of different generic node + types, including Source (only output), NetworkNode (input and + output) and Sink (only input), as well as Availability nodes to + serve as a connector, and Storage. EnergyModelsBase is designed to + be extendable without changes to the core structure. It provides + abstract types that may be extended by additional packages for more + specific nodes such that more detailed technology modelling can be + applied easily. This allows keeping the size of EnergyModelsBase to + a minimum, reducing both the difficulty of understanding the + modelling approach and the compilation time.

+
+ + EnergyModelsGeography +

EnergyModelsGeography + extends EnergyModelsBase with modelling of geographical regions with + transmission capacity between regions. Different modes of + transmission are provided, allowing to model e.g. power transmission + lines and pipelines. EnergyModelsGeography follows the same + philosophy as EnergyModelsBase. Hence, users can easily develop new + descriptions of transmission modes or special restrictions on + regions.

+
+ + EnergyModelsInvestments +

To support capacity expansion models, + EnergyModelsInvestments + allows adding investment decisions to add or increase installed + capacity for nodes. The investments can be modelled using a variety + of investment modes, including discrete, continuous or + semi-continuous. The modeler has full flexibility and may combine + available investment modes as best fits the problem at hand, while + EnergyModelsInvestments will make sure to only add the needed + (binary) variables and constraints for each node or link.

+
+ + EnergyModelsRenewableProduction +

EnergyModelsRenewableProducers + facilitates the modelling of renewable energy generation, both from + non-dispatchable technologies such as wind power and PV and for + hydropower with (pumped) storage. It also serves as an example for + introducing new technology descriptions to EnergyModelsX and how to + reuse constraints of the reference nodes.

+
+
+ + Example application +

To illustrate the usage of EnergyModelsX, consider the example of + developing cost-effective hydrogen infrastructure for the North Sea + Region. The example shows multiple regions with different technologies + and different investment options available, including capacities for + pipelines and production nodes. Pipeline costs take economies of scale + into account, and the figure shows the pipeline capacities suggested + by EnergyModelsX after solving with a standard MILP solver, given a + set of costs and prices. See also Bødal et al. + (2024) + for a similar example.

+ +

Example application: hydrogen infrastructure development + in the North Sea region

+ +
+
+ + Acknowledgements +

The development of EnergyModelsX was funded + by the Norwegian Research Council in the project + Clean + Export, project number + 308811. + The authors gratefully acknowledge the financial support from the user + partners: Å Energi, Air Liquide, Equinor Energy, Gassco, and Total + OneTech.

+
+ + + + + + + BezansonJeff + EdelmanAlan + KarpinskiStefan + ShahViral B + + Julia: A fresh approach to numerical computing + SIAM review + SIAM + 2017 + 59 + 1 + 10.1137/141000671 + 65 + 98 + + + + + + FodstadMarte + GranadoPedro Crespo del + HellemoLars + KnudsenBrage Rugstad + PisciellaPaolo + SilvastAntti + BordinChiara + SchmidtSarah + StrausJulian + + Next frontiers in energy system modelling: A review on challenges and the state of the art + Renewable and Sustainable Energy Reviews + Elsevier + 2022 + 160 + 10.1016/j.rser.2022.112246 + 112246 + + + + + + + LubinMiles + DowsonOscar + Dias GarciaJoaquim + HuchetteJoey + LegatBenoît + VielmaJuan Pablo + + JuMP 1.0: Recent improvements to a modeling language for mathematical optimization + Mathematical Programming Computation + 2023 + 10.1007/s12532-023-00239-3 + + + + + + BødalEspen Flo + HolmSigmund Eggen + SubramanianAvinash + DurakovicGoran + PinelDimitri + HellemoLars + OrtizMiguel Muñoz + KnudsenBrage Rugstad + StrausJulian + + Hydrogen for harvesting the potential of offshore wind: A north sea case study + Applied Energy + Elsevier + 2024 + 357 + 10.1016/j.apenergy.2023.122484 + 122484 + + + + + + + FlatbergTruls + HellemoLars + + TimeStruct.jl: Flexible time structures in optimization modelling + Zenodo + 202401 + https://zenodo.org/records/10511399 + 10.5281/zenodo.10511399 + + + + + + IhlemannMaren + Kouveliotis-LysikatosIasonas + HuangJiangyi + DillonJoseph + O’DwyerCiara + RaskuTopi + MarinManuel + PonceletKris + KiviluomaJuha + + SpineOpt: A flexible open-source energy system modelling framework + Energy Strategy Reviews + 2022 + 43 + 2211-467X + https://www.sciencedirect.com/science/article/pii/S2211467X22000955 + 10.1016/j.esr.2022.100902 + 100902 + + + + + + + LoulouRichard + GoldsteinGary + KanudiaAmit + LettilaAntti + RemmeUwe + + Documentation for the TIMES model + IEA Energy Technology Systems Analysis Programme + 2016 + + + + + + LöfflerKonstantin + HainschKarlo + BurandtThorsten + OeiPao-Yu + KemfertClaudia + Von HirschhausenChristian + + Designing a model for the global energy system—GENeSYS-MOD: An application of the open-source energy modeling system (OSeMOSYS) + Energies + 2017 + 10 + 10 + 1996-1073 + https://www.mdpi.com/1996-1073/10/10/1468 + 10.3390/en10101468 + + + + + + JenkinsJesse + SepulvedaNestor + MallapragadaDharik + PatankarNeha + SchwartzAaron + SchwartzJacob + ChakrabartiSambuddha + XuQingyu + MorrisJack + SepulvedaNestor + + GenX + Zenodo + 202404 + https://zenodo.org/records/10910030 + 10.5281/zenodo.10846069 + + + + + + Tejada-ArangoDiego + Morales-EspañaGermán + ClisbyLauren + WangNi + Soares SiqueiraAbel + AliSuvayu + SoucasseLaurent + NeustroevGrigory + + Tulipa energy model + Zenodo + 202403 + https://zenodo.org/records/10895406 + 10.5281/zenodo.8363262 + + + + +