REMIND - REgional Model of INvestments and Development

3.4.0

created with goxygen 1.4.4

REMIND - REgional Model of INvestments and Development

REMIND is a global multi-regional model incorporating the economy, the climate system and a detailed representation of the energy sector. It solves for an intertemporal Pareto optimum in economic and energy investments in the model regions, fully accounting for interregional trade in goods, energy carriers and emissions allowances. REMIND enables analyses of technology options and policy proposals for climate change mitigation.

The macro-economic core of REMIND is a Ramsey-type optimal growth model in which intertemporal global welfare is optimized subject to equilibrium constraints (02_welfare). Intertemporal optimization (80_optimization) with perfect foresight is subject to market clearing. The model explicitly represents trade in final goods, primary energy carriers, and when certain climate policies are enabled, emissions allowances (24_trade). The macro-economic production factors are capital, labor, and final energy. A nested production function with constant elasticity of substitution determines the final energy demand (01_macro, 29_CES_parameters). REMIND uses economic output for investments in the macro-economic capital stock as well as for consumption, trade, and energy system expenditures.

The macro-economic core and the energy system part are hard-linked via the final energy demand and the costs incurred by the energy system. Economic activity results in demand for final energy in different sectors (transport (35_transport), industry (37_industry), buildings (36_buildings)…) and of different type (electric (32_power) and non-electric). The primary energy carriers in REMIND include both exhaustible and renewable resources. Exhaustible resources comprise uranium as well as three fossil resources (31_fossil), namely coal, oil, and gas. Renewable resources include hydro, wind, solar, geothermal, and biomass (30_biomass). More than 50 technologies are available for the conversion of primary energy into secondary energy carriers as well as for the distribution of secondary energy carriers into final energy.

The model accounts for the full range of anthropogenic greenhouse gas (GHG) emissions, most of which are represented by source. REMIND simulates emissions from long-lived GHGs (CO2, CH4, N2O), short-lived GHGs (CO, NOx, VOC) and aerosols (SO2, BC, OC). It accounts for these emissions with different levels of detail depending on the types and sources of emissions. It calculates CO2 emissions from fuel combustion, CH4 emissions from fossil fuel extraction and residential energy use, and N2O emissions from energy supply based on sources.

The code is structured in a modular way, with code belonging either to the model’s core, or to one of the modules. The folder structure is as follows: at the top level are the folders config, core, modules and scripts. The config folder contains the REMIND settings and configuration information. The core folder contains all the files that are part of the core. The modules folder holds all the files that belong to the modules, with numbered sub-folders for every module. The scripts folder contains helpful scripts for starting a model run and analysing results.

REMIND is run by executing the main.gms file, which loads the configuration information and builds the model, by concatenating all necessary files from the core and modules folders into a single file called full.gms. The concatenation process starts with files from the core and continues with files from activated modules, in increasing order of module-number. It observes the following structure:

SETS

DECLARATION    ---> of equations, variables, parameters, and scalars

DATAINPUT

EQUATIONS

PRELOOP        ---> initial calibration of e.g. macroeconomic model

LOOP
---> read gdx
----------------------------------------------- BEGIN OF NEGISH/NASH ITERATION LOOP -----
* BOUNDS
* PRESOLVE
* SOLVE     ---> solve statement in module 80_optimization
* POSTSOLVE

---> write gdx
----------------------------------------------- END OF NEGISHI/NASH ITERATATION LOOP ----

OUTPUT

The GAMS code follows a Coding Etiquette:

Naming conventions:

Prefixes:

Use the following prefixes:

These prefixes are extended in some cases by a second letter:

Sets are treated differently: instead of a prefix, sets exclusively used within a module get that module’s number added as a suffix. If the set is used in more than one module no suffix is given.

The units (e.g., TWa, EJ, GtC, GtCO2, …) of variables and parameters are documented in the declaration files using square brackets at the end of the explanatory text (e.g. v_var(set1,set2) "variable [unit]").

For the labels of parameters, scalars and set, use double quotes only.

Commenting:

Sets

Equations:

The general idea is not to write code and equations as short as possible, but to write them in a way they can be read and understood as fast as possible. To that end:

Switches:

A switch must be defined in main.gms Follow this mode of definition for parameters, including the indentation: ——– parameter param_name “explanation what it means” ; param_name = 0; !! def = 0 !! regexp = 0|1 ——– * def shows the default value, which is added only for the user to remember if changed manually * regexp is optional, the value is read by scripts/start/checkFixCfg.R to check the validity of the input. In this case, it checks whether the value fits this regular expression: ^(0|1)$ Use ‘value1|value2’ for specific values, use ‘[1-7]’ for a row of integers. Three shortcut are defined: use ‘is.numeric’ for numeric values, ‘is.nonnegative’ for >= 0, and ‘is.share’ if the value must be >= 0 and <= 1

Other general rules:

Authors

Gunnar Luderer, Nico Bauer, Lavinia Baumstark, Christoph Bertram, Marian Leimbach, Robert Pietzcker, Jessica Strefler, Tino Aboumahboub, Gabriel Abrahão, Cornelia Auer, Falk Benke, Stephen Bi, Jan Philipp Dietrich, Alois Dirnaichner, Jakob Duerrwaechter, Sophie Fuchs, Pascal Führlich, Anastasis Giannousakis, Chen Chris Gong, Markus Haller, Robin Hasse, Jerome Hilaire, Johanna Hoppe, David Klein, Johannes Koch, Laurin Köhler-Schindler, Alexander Körner, Katarzyna Kowalczyk, Elmar Kriegler, Antoine Levesque, Alexander Lorenz, Sylvie Ludig, Michael Lüken, Aman Malik, Rahel Mandaroux, Susanne Manger, Anne Merfort, Leon Merfort, Simón Moreno-Leiva, Ioanna Mouratiadou, Adrian Odenweller, Michaja Pehl, Mika Pflüger, Franziska Piontek, Laura Popin, Sebastian Rauner, Oliver Richters, Renato Rodrigues, Niklas Roming, Marianna Rottoli, Tonn Rüter, Eva Schmidt, Christof Schötz, Felix Schreyer, Anselm Schultes, Björn Sörgel, Falko Ueckerdt, Philipp Verpoort, Pascal Weigmann

How to cite

Luderer G, Bauer N, Baumstark L, Bertram C, Leimbach M, Pietzcker R, Strefler J, Aboumahboub T, Abrahão G, Auer C, Benke F, Bi S, Dietrich J, Dirnaichner A, Duerrwaechter J, Fuchs S, Führlich P, Giannousakis A, Gong C, Haller M, Hasse R, Hilaire J, Hoppe J, Klein D, Koch J, Köhler-Schindler L, Körner A, Kowalczyk K, Kriegler E, Levesque A, Lorenz A, Ludig S, Lüken M, Malik A, Mandaroux R, Manger S, Merfort A, Merfort L, Moreno-Leiva S, Mouratiadou I, Odenweller A, Pehl M, Pflüger M, Piontek F, Popin L, Rauner S, Richters O, Rodrigues R, Roming N, Rottoli M, Rüter T, Schmidt E, Schötz C, Schreyer F, Schultes A, Sörgel B, Ueckerdt F, Verpoort P, Weigmann P (2024). “REMIND - REgional Model of INvestments and Development - Version 3.4.0.” https://www.pik-potsdam.de/research/transformation-pathways/models/remind.

Bibtex format

@Misc{,
  title = {REMIND - REgional Model of INvestments and Development - Version 3.4.0},
  author = {Gunnar Luderer and Nico Bauer and Lavinia Baumstark and Christoph Bertram and Marian Leimbach and Robert Pietzcker and Jessica Strefler and Tino Aboumahboub and Gabriel Abrahão and Cornelia Auer and Falk Benke and Stephen Bi and Jan Philipp Dietrich and Alois Dirnaichner and Jakob Duerrwaechter and Sophie Fuchs and Pascal Führlich and Anastasis Giannousakis and Chen Chris Gong and Markus Haller and Robin Hasse and Jerome Hilaire and Johanna Hoppe and David Klein and Johannes Koch and Laurin Köhler-Schindler and Alexander Körner and Katarzyna Kowalczyk and Elmar Kriegler and Antoine Levesque and Alexander Lorenz and Sylvie Ludig and Michael Lüken and Aman Malik and Rahel Mandaroux and Susanne Manger and Anne Merfort and Leon Merfort and Simón Moreno-Leiva and Ioanna Mouratiadou and Adrian Odenweller and Michaja Pehl and Mika Pflüger and Franziska Piontek and Laura Popin and Sebastian Rauner and Oliver Richters and Renato Rodrigues and Niklas Roming and Marianna Rottoli and Tonn Rüter and Eva Schmidt and Christof Schötz and Felix Schreyer and Anselm Schultes and Björn Sörgel and Falko Ueckerdt and Philipp Verpoort and Pascal Weigmann},
  date = {2024-12-11},
  year = {2024},
  url = {https://www.pik-potsdam.de/research/transformation-pathways/models/remind},
}

Citation File Format

cff-version: 1.2.0
message: If you use this model, please cite it as below.
type: software
authors:
- family-names: Luderer
  given-names: Gunnar
  orcid: https://orcid.org/0000-0002-9057-6155
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Bauer
  given-names: Nico
  orcid: https://orcid.org/0000-0002-0211-4162
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Baumstark
  given-names: Lavinia
  orcid: https://orcid.org/0000-0002-6979-6671
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Bertram
  given-names: Christoph
  orcid: https://orcid.org/0000-0002-0933-4395
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Leimbach
  given-names: Marian
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Pietzcker
  given-names: Robert
  orcid: https://orcid.org/0000-0002-9403-6711
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Strefler
  given-names: Jessica
  orcid: https://orcid.org/0000-0002-5279-4629
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Aboumahboub
  given-names: Tino
- family-names: Abrahão
  given-names: Gabriel
  orcid: https://orcid.org/0000-0003-0336-6246
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Auer
  given-names: Cornelia
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Benke
  given-names: Falk
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Bi
  given-names: Stephen
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Dietrich
  given-names: Jan Philipp
  orcid: https://orcid.org/0000-0002-4309-6431
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Dirnaichner
  given-names: Alois
  orcid: https://orcid.org/0000-0002-3240-2608
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Duerrwaechter
  given-names: Jakob
  orcid: https://orcid.org/0000-0001-8961-5340
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Fuchs
  given-names: Sophie
  orcid: https://orcid.org/0009-0000-7258-1287
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Führlich
  given-names: Pascal
  orcid: https://orcid.org/0000-0002-6856-8239
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Giannousakis
  given-names: Anastasis
  orcid: https://orcid.org/0000-0002-4225-0011
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Gong
  given-names: Chen Chris
  orcid: https://orcid.org/0000-0002-6406-6266
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Haller
  given-names: Markus
- family-names: Hasse
  given-names: Robin
  orcid: https://orcid.org/0000-0003-1818-3186
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Hilaire
  given-names: Jerome
  orcid: https://orcid.org/0000-0002-9879-6339
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Hoppe
  given-names: Johanna
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Klein
  given-names: David
  orcid: https://orcid.org/0009-0001-7917-8041
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Koch
  given-names: Johannes
  orcid: https://orcid.org/0000-0003-2920-8086
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Köhler-Schindler
  given-names: Laurin
  orcid: https://orcid.org/0000-0003-4268-3084
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Körner
  given-names: Alexander
- family-names: Kowalczyk
  given-names: Katarzyna
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Kriegler
  given-names: Elmar
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Levesque
  given-names: Antoine
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Lorenz
  given-names: Alexander
- family-names: Ludig
  given-names: Sylvie
- family-names: Lüken
  given-names: Michael
- family-names: Malik
  given-names: Aman
  orcid: https://orcid.org/0000-0002-7310-8448
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Mandaroux
  given-names: Rahel
  orcid: https://orcid.org/0000-0001-5596-2571
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Manger
  given-names: Susanne
- family-names: Merfort
  given-names: Anne
  orcid: https://orcid.org/0000-0002-5929-7748
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Merfort
  given-names: Leon
  orcid: https://orcid.org/0000-0003-1704-6892
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Moreno-Leiva
  given-names: Simón
  orcid: https://orcid.org/0000-0002-9625-3955
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Mouratiadou
  given-names: Ioanna
- family-names: Odenweller
  given-names: Adrian
  orcid: https://orcid.org/0000-0002-1123-8124
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Pehl
  given-names: Michaja
  orcid: https://orcid.org/0000-0003-2349-6515
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Pflüger
  given-names: Mika
  orcid: https://orcid.org/0000-0002-7814-8916
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Piontek
  given-names: Franziska
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Popin
  given-names: Laura
- family-names: Rauner
  given-names: Sebastian
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Richters
  given-names: Oliver
  orcid: https://orcid.org/0000-0001-8253-4716
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Rodrigues
  given-names: Renato
  orcid: https://orcid.org/0000-0002-5863-5514
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Roming
  given-names: Niklas
- family-names: Rottoli
  given-names: Marianna
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Rüter
  given-names: Tonn
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Schmidt
  given-names: Eva
- family-names: Schötz
  given-names: Christof
  orcid: https://orcid.org/0000-0003-3528-4544
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Schreyer
  given-names: Felix
  orcid: https://orcid.org/0000-0003-0376-2599
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Schultes
  given-names: Anselm
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Sörgel
  given-names: Björn
  orcid: https://orcid.org/0000-0002-2630-7081
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Ueckerdt
  given-names: Falko
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Verpoort
  given-names: Philipp
  orcid: https://orcid.org/0000-0003-1319-5006
  affiliation: Potsdam Institute for Climate Impact Research
- family-names: Weigmann
  given-names: Pascal
  orcid: https://orcid.org/0000-0001-8801-173X
  affiliation: Potsdam Institute for Climate Impact Research
title: REMIND - REgional Model of INvestments and Development
abstract: REMIND (REgional Model of Investment and Development) is a numerical open
  source model that represents the future evolution of the world economies with a
  special focus on the development of the energy sector and the implications for our
  world climate. The goal of REMIND is to find the optimal mix of investments in the
  economy and the energy sectors of each model region given a set of population, technology,
  policy and climate constraints. It also accounts for regional trade characteristics
  on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due
  to human activities are represented in the model.
version: 3.4.0
date-released: '2024-12-11'
repository-code: https://github.com/remindmodel/remind
keywords:
- energy
- economy
- modeling
- model
- active-development
license: AGPL-3.0-or-later
url: https://www.pik-potsdam.de/research/transformation-pathways/models/remind

References