diff --git a/joss.06619/10.21105.joss.06619.crossref.xml b/joss.06619/10.21105.joss.06619.crossref.xml new file mode 100644 index 0000000000..1d6ce51a9c --- /dev/null +++ b/joss.06619/10.21105.joss.06619.crossref.xml @@ -0,0 +1,247 @@ + + + + 20240517T233956-c99107a2fd469a3dbb05ce7555c009eafcccd1f2 + 20240517233955 + + JOSS Admin + admin@theoj.org + + The Open Journal + + + + + Journal of Open Source Software + JOSS + 2475-9066 + + 10.21105/joss + https://joss.theoj.org + + + + + 05 + 2024 + + + 9 + + 97 + + + + EnergyModelsX: Flexible Energy Systems Modelling with +Multiple Dispatch + + + + Lars + Hellemo + https://orcid.org/0000-0001-5958-9794 + + + Espen Flo + Bødal + https://orcid.org/0000-0001-6970-9315 + + + Sigmund Eggen + Holm + https://orcid.org/0009-0007-1782-6326 + + + Dimitri + Pinel + https://orcid.org/0000-0001-9393-0036 + + + Julian + Straus + https://orcid.org/0000-0001-8622-1936 + + + + 05 + 17 + 2024 + + + 6619 + + + 10.21105/joss.06619 + + + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + + + + Software archive + 10.5281/zenodo.11164518 + + + GitHub review issue + https://github.com/openjournals/joss-reviews/issues/6619 + + + + 10.21105/joss.06619 + https://joss.theoj.org/papers/10.21105/joss.06619 + + + https://joss.theoj.org/papers/10.21105/joss.06619.pdf + + + + + + Julia: A fresh approach to numerical +computing + Bezanson + SIAM review + 1 + 59 + 10.1137/141000671 + 2017 + Bezanson, J., Edelman, A., Karpinski, +S., & Shah, V. B. (2017). Julia: A fresh approach to numerical +computing. SIAM Review, 59(1), 65–98. +https://doi.org/10.1137/141000671 + + + Next frontiers in energy system modelling: A +review on challenges and the state of the art + Fodstad + Renewable and Sustainable Energy +Reviews + 160 + 10.1016/j.rser.2022.112246 + 2022 + Fodstad, M., Granado, P. C. del, +Hellemo, L., Knudsen, B. R., Pisciella, P., Silvast, A., Bordin, C., +Schmidt, S., & Straus, J. (2022). Next frontiers in energy system +modelling: A review on challenges and the state of the art. Renewable +and Sustainable Energy Reviews, 160, 112246. +https://doi.org/10.1016/j.rser.2022.112246 + + + JuMP 1.0: Recent improvements to a modeling +language for mathematical optimization + Lubin + Mathematical Programming +Computation + 10.1007/s12532-023-00239-3 + 2023 + Lubin, M., Dowson, O., Dias Garcia, +J., Huchette, J., Legat, B., & Vielma, J. P. (2023). JuMP 1.0: +Recent improvements to a modeling language for mathematical +optimization. Mathematical Programming Computation. +https://doi.org/10.1007/s12532-023-00239-3 + + + Hydrogen for harvesting the potential of +offshore wind: A north sea case study + Bødal + Applied Energy + 357 + 10.1016/j.apenergy.2023.122484 + 2024 + Bødal, E. F., Holm, S. E., +Subramanian, A., Durakovic, G., Pinel, D., Hellemo, L., Ortiz, M. M., +Knudsen, B. R., & Straus, J. (2024). Hydrogen for harvesting the +potential of offshore wind: A north sea case study. Applied Energy, 357, +122484. +https://doi.org/10.1016/j.apenergy.2023.122484 + + + TimeStruct.jl: Flexible time structures in +optimization modelling + Flatberg + 10.5281/zenodo.10511399 + 2024 + Flatberg, T., & Hellemo, L. +(2024). TimeStruct.jl: Flexible time structures in optimization +modelling. Zenodo. +https://doi.org/10.5281/zenodo.10511399 + + + SpineOpt: A flexible open-source energy +system modelling framework + Ihlemann + Energy Strategy Reviews + 43 + 10.1016/j.esr.2022.100902 + 2211-467X + 2022 + Ihlemann, M., Kouveliotis-Lysikatos, +I., Huang, J., Dillon, J., O’Dwyer, C., Rasku, T., Marin, M., Poncelet, +K., & Kiviluoma, J. (2022). SpineOpt: A flexible open-source energy +system modelling framework. Energy Strategy Reviews, 43, 100902. +https://doi.org/10.1016/j.esr.2022.100902 + + + Documentation for the TIMES +model + Loulou + 2016 + Loulou, R., Goldstein, G., Kanudia, +A., Lettila, A., & Remme, U. (2016). Documentation for the TIMES +model. IEA Energy Technology Systems Analysis +Programme. + + + Designing a model for the global energy +system—GENeSYS-MOD: An application of the open-source energy modeling +system (OSeMOSYS) + Löffler + Energies + 10 + 10 + 10.3390/en10101468 + 1996-1073 + 2017 + Löffler, K., Hainsch, K., Burandt, +T., Oei, P.-Y., Kemfert, C., & Von Hirschhausen, C. (2017). +Designing a model for the global energy system—GENeSYS-MOD: An +application of the open-source energy modeling system (OSeMOSYS). +Energies, 10(10). +https://doi.org/10.3390/en10101468 + + + GenX + Jenkins + 10.5281/zenodo.10846069 + 2024 + Jenkins, J., Sepulveda, N., +Mallapragada, D., Patankar, N., Schwartz, A., Schwartz, J., Chakrabarti, +S., Xu, Q., Morris, J., & Sepulveda, N. (2024). GenX. Zenodo. +https://doi.org/10.5281/zenodo.10846069 + + + Tulipa energy model + Tejada-Arango + 10.5281/zenodo.8363262 + 2024 + Tejada-Arango, D., Morales-España, +G., Clisby, L., Wang, N., Soares Siqueira, A., Ali, S., Soucasse, L., +& Neustroev, G. (2024). Tulipa energy model. Zenodo. +https://doi.org/10.5281/zenodo.8363262 + + + + + + diff --git a/joss.06619/10.21105.joss.06619.pdf b/joss.06619/10.21105.joss.06619.pdf new file mode 100644 index 0000000000..31f4619a89 Binary files /dev/null and b/joss.06619/10.21105.joss.06619.pdf differ 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 + + + + +
diff --git a/joss.06619/paper.jats/figure_1.pdf b/joss.06619/paper.jats/figure_1.pdf new file mode 100644 index 0000000000..d79e33bdf3 Binary files /dev/null and b/joss.06619/paper.jats/figure_1.pdf differ