Skip to content

Repository files navigation

Equitable cooperation deepens the solution space for high ambition pathways

paper Zenodo licence explorer

Replication archive for:

Pelz, S., Fricko, O., Riahi, K., Pachauri, S., Brutschin, E., Rogelj, J., Krey, V., Johnstone, I., Vinca, A., Schleussner, C.-F., Kikstra, J. and Gidden, M.J. (2026). Equitable cooperation deepens the solution space for high ambition pathways. Environmental Research Letters. https://doi.org/10.1088/1748-9326/aea34d

Affiliations: IIASA (Laxenburg, Austria); Imperial College London; University of Oxford; Center for Global Sustainability, University of Maryland. Corresponding author: Setu Pelz, pelz@iiasa.ac.at.

The archive assembles MESSAGEix-GLOBIOM-GAINS scenario reporting output into one tidy dataset and generates every code-based figure and table in the paper and its supplementary information. Figure 1 is a conceptual schematic and is not generated by code.

Run

Requires R 4.2.3. The scenario workbooks are not in git and must be downloaded before make assemble (see Data availability).

git clone https://github.com/setupelz/repl_2026_faircoop
cd repl_2026_faircoop
Rscript -e 'renv::restore()'   # installs the pinned R packages
# Download the 32 reporting workbooks from the v1.0.0 release assets
# (https://github.com/setupelz/repl_2026_faircoop/releases/tag/v1.0.0) into
# Data/, then verify them against Data/MANIFEST.md5.
make assemble                  # Data/*.xlsx -> Data/scenario_set_reporting.csv
make all                       # all figures and SI tables

make main-figures and make si-figures build the two halves separately. make clean removes generated figures and tables.

Data/README.md describes the workbook layout and the manifest check.

Pipeline

Data/*.xlsx  (one reporting workbook per model run)
    │  Code/100_assemble.R
    ▼
Data/scenario_set_reporting.csv
    │  Code/2xx (main figures), Code/3xx (SI)
    ▼
Manuscript/Figures/*.png + <fig>-data/*.csv, Manuscript/Figures/SI/*.png + si<N>-data/*.csv,
Manuscript/Tables/*

Scenario labels are parsed from each workbook's own Model and Scenario strings, so there are no hand-maintained scenario lists.

Scenario naming

In the data In the paper Meaning
800fm / 500fm 2 °C / 1.5 °C Global net CO2 budget, 800 or 500 Gt over 2020-2100
ecpc ECPC Equal cumulative per capita allocation
pc_cap CAPC Capability-adjusted cumulative per capita allocation
1990 / 2015 / 2025 responsibility start First year of the cumulative accounting window
tce_el covered emissions Kyoto-gas basket: CO2 + CH4 x 25 + N2O x 0.298
no suffix, U. unlimited transfers Interregional transfers unconstrained
_limited, L. lowest-feasible transfers Transfers at the lowest feasible volume
novel_cdr, -CDR CDR-only cooperation Transfers restricted to novel CDR
delay2040, -Delay 10-year delay Cooperation onset moved from 2030 to 2040
dr1p, -DR1 1% discount rate Welfare discount sensitivity (default 5%)
baseline NoPol No-policy reference
bare budget (800fm) Source Cost-effective pathway, no allocation constraint

Assembled scenario_set is <budget>_<principle><start>, for example 800fm_ecpc2015. Assembled variant is <U|L>. <SSP>-<temp>-<PRINCIPLE><start>[-modifier], for example L. SSP2-2C-ECPC2015-CDR.

To add a scenario, put its workbook in Data/ and run make assemble. A new budget token also needs a line in the temp recode in Code/100_assemble.R; the assembler stops on an unrecognised budget.

Data availability

The reporting workbooks (Data/*.xlsx) and the assembled CSV are too large for git. They are attached to the v1.0.0 release of this repository (https://github.com/setupelz/repl_2026_faircoop/releases/tag/v1.0.0): the 32 workbooks and scenario_set_reporting.csv.gz, which gunzip restores to the assembled CSV so make assemble can be skipped.

Tracked in the repository:

  • Data/MANIFEST.md5, checksums of the 32 workbooks. Verify a deposited copy with cd Data && md5 -r *.xlsx | sort | diff - <(sort MANIFEST.md5) (macOS, sorted because the shell glob order is locale-dependent) or cd Data && sed 's/^\([0-9a-f]\{32\}\) /\1 /' MANIFEST.md5 | md5sum -c - (Linux).
  • Data/fairshare_allocations.csv, regional fair-share budget shares read by Code/301_si_allocations.R. Regenerate only if the SSP2 800 Gt workbooks change: after make assemble, run uv run --project <fair-shares-repo> python Code/tools/compute_fairshares.py (needs the fair-shares library).

Directory structure

repl_2026_faircoop/
├── Code/
│   ├── 000_setup.R                   # Shared data loading, constants, helpers
│   ├── 100_assemble.R                # Data/*.xlsx -> scenario_set_reporting.csv
│   ├── 202_figure_2.R                # Figure 2, the physical transition
│   ├── 203_figure_3.R                # Figure 3, financial and economic outcomes
│   ├── 204_figure_4.R                # Figure 4, cooperation restricted to CDR
│   ├── 205_figure_5.R                # Figure 5, 2C -> 1.5C comparative statics
│   ├── 301_si_allocations.R          # SI Fig 1, fair-share allocations
│   ├── 302_si_ssp_drivers.R          # SI Fig 2, SSP socioeconomic drivers
│   ├── 303_si_ssp_comparison.R       # SI Fig 3, SSP1 vs SSP2 comparison
│   ├── 304_si_dr.R                   # SI Fig 4, discount-rate sensitivity
│   ├── 305_si_regional_consumption.R # SI Fig 5, per-region consumption
│   ├── 306_si_ppp_consumption.R      # SI Fig 6, consumption on MER vs PPP
│   ├── 307_si_equivalence.R          # SI Fig 7, Source/unlimited equivalence
│   ├── 308_si_scenario_table.R       # SI Table 1, scenario inventory
│   ├── 309_si_text_numbers.R         # SI Tables 2-5, in-text numbers workbook
│   └── tools/compute_fairshares.py   # Data/fairshare_allocations.csv
├── Data/                             # Workbooks (untracked), README, MANIFEST.md5, allocations
├── Manuscript/
│   ├── Figures/                      # 202..205_figure_N.png + figN-data/ CSVs per panel (README there)
│   │   └── SI/                       # SI_Figure_N_*.png + siN-data/ CSVs per panel
│   └── Tables/                       # SI_Table_1_Scenarios.csv, SI_text_numbers.xlsx
├── renv.lock                         # Pinned R package versions
├── DESCRIPTION                       # Package metadata
├── CITATION.cff                      # Machine-readable citation (paper and archive)
├── CITATION.md                       # Paper citation, data sources, licensing
├── Makefile                          # Build targets
├── LICENSE                           # MIT
└── README.md

Reproducibility

The figures and tables rebuild byte-identically from a clean tree on the platform they were produced on. The shipped figures were rendered on macOS 15 (Apple Silicon) with R 4.2.3 and the pinned packages, in Helvetica.

Two caveats. SI_text_numbers.xlsx gets a new checksum on every run because writexl stamps a creation time into the workbook metadata; the four sheets themselves are unchanged. PNG bytes still depend on the installed fonts, so checksums are comparable within a platform, not across platforms.

Figures are rasterised with ragg so the device is the same everywhere. On Linux ragg needs the freetype, libpng, libtiff and libjpeg development packages (libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev on Debian or Ubuntu, freetype-devel libpng-devel libtiff-devel libjpeg-turbo-devel on Fedora). Helvetica is a macOS font; elsewhere the system substitutes a metric-compatible sans (usually Nimbus Sans or Arial), which shifts text extents slightly.

AI use

Claude Code (Anthropic) was used to refactor and document the analysis scripts, to build the figure code and the interactive explorer from the assembled scenario data, and to draft the archive's documentation. The scenario design, the model runs, the methods and the results are the authors' own. Every number in the paper and on the explorer is computed by the code in this archive from the deposited model output, and the authors reviewed and are responsible for all code and text.

Citation and license

Cite the paper above. To cite the archive itself, use CITATION.cff (GitHub shows it under "Cite this repository"). Data sources and licensing are in CITATION.md. MIT (code); CC-BY 4.0 (processed data).

About

Replication archive: Equitable cooperation deepens the solution space for high ambition pathways (ERL)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages