Scenarios

Default scenarios

By default, the following scenarios are returned for all drivers:

  • the SSPs, i.e. SSP1-5
  • the SDPs, i.e. SDP, SDP_EI, SDP_MC and SDP_RC
  • (SSP2EU - deprecated, but still returned as a placeholder. Identical to SSP2)

The scenarios span from 1960 to 2150, with yearly data until 2030, and data every 5 years thereafter.

GDP per capita and GDP

SSPs

Suggested overall reference for the scenario construction: Koch and Leimbach 2023 (link).

The SSP GDP per capita scenarios are constructed using:

  • WDI data (link) from 1990 to 2022 (missing country data filled in with MI data (link) and James data (link, specifically the WB_ID series)) extended backwards until 1960 using growth rates from MI and James,

  • growth rates from IMF GDP per capita projections (link) until 2029,

  • and SSP GDP per capita projections (SSP OECD projections link, release 3.0.1 (March 2024)) until 2100.

The scenarios are extended until 2150 using a bezier curve method that assumes that the slope in 2100 is flattened by half by 2150. For countries lacking projection data, the last historical data point is used in all future years. For more details on the harmonization, see Koch and Leimbach 2023 (link).

The SSP GDP scenarios are the product of the GDP per capita and population scenarios.

SDPs

Suggested overall reference for the SDP scenarios: Bjoern Soergel et al 2024 Environ. Res. Lett. 19 124009 (link).

The SDP GDP per capita scenarios are all based off of SSP1, with different harmonization functions for the different SDPs.

The SDP GDP scenarios are the product of the GDP per capita and population scenarios.

Population

SSPs

The SSP population scenarios are constructed using:

  • WDI data (link) from 1960 to 2022 (missing country data filled in with UN_PopDiv data (link, 2022 revision) and MI data (link)),

  • growth rates from the World Bank’s Population and Projections database (link) until 2029, and

  • growth rates from from the SSP population projections (release 3.0.1 (March 2024) link and link), filled in with UN_PopDiv data (link, 2022 revision)) until 2100.

The scenarios are extended until 2150 using a bezier curve method that assumes that the slope in 2100 is flattened by half by 2150. For countries lacking projection data, the last historical data point is used in all future years. For more details on the harmonization, see Koch and Leimbach 2023 (link).

SDPs

The SDP scenarios are all equal to the SSP1 scenario.

Labour

SSPs

The SSPs labour scenarios are constructed using past WDI data (link) from 1960 to 2022 (missing country data filled in with UN_PopDiv data (link, 2022 revision)), and SSP labour projections (link) until 2100. The labor projections are glued to the data, with no further harmonization.

SDPs

The SDP scenarios are all equal to the SSP1 scenario.

Urban population share

SSPs

The SSPs urban population share scenarios are constructed using past WDI data starting in 1960 (link), and SSP urban population share projections (2018 Release link). The harmonization uses the past levels, and future growth rates.

SDPs

The SDP, SDP_EI, and SDP_MC scenarios are all equal to the SSP1 scenario. The SDP_RC is equal to the SSP3 for OECD countries, and SSP2 for non-OECD countries.

Available Scenarios

The tool function toolGetScenarioDefinition() can be used to see what driver/scenario options are available.

toolGetScenarioDefinition() %>% print(n = 200)
#> # A tibble: 27 × 5
#>    driver     scenario pastData         futureData          harmonization
#>    <chr>      <chr>    <chr>            <chr>               <chr>        
#>  1 GDPpc      SSPs     WDI-MI-James     SSPs                GDPpcSSPs    
#>  2 GDPpc      SSP2     WDI-MI-James     SSP2                GDPpcSSPs    
#>  3 GDPpc      SSP2EU   WDI-MI-James     SSP2EU              GDPpcSSPs    
#>  4 GDPpc      SDPs     -                -                   GDPpcSDPs    
#>  5 GDPpc      ISIMIP   WDI-MI-James     SSPs                GDPpcSSPs    
#>  6 GDPpc      ADBs     WDI-MI-James     ADBs-SSP2           GDPpcADBs    
#>  7 GDP        SSPs     -                -                   GDPpcWithPop 
#>  8 GDP        SSP2     -                -                   GDPpcWithPop 
#>  9 GDP        SSP2EU   -                -                   GDPpcWithPop 
#> 10 GDP        SDPs     -                -                   GDPpcWithPop 
#> 11 GDP        ISIMIP   -                -                   GDPpcWithPop 
#> 12 GDP        ADBs     -                -                   GDPpcWithPop 
#> 13 Population SSPs     WDI-UN_PopDiv-MI SSPs-UN_PopDiv      PopSSPs      
#> 14 Population SSP2     WDI-UN_PopDiv-MI SSP2-UN_PopDiv      PopSSPs      
#> 15 Population SSP2EU   WDI-UN_PopDiv-MI SSP2EU-UN_PopDiv    PopSSPs      
#> 16 Population SDPs     WDI-UN_PopDiv-MI SDPs-UN_PopDiv      PopSSPs      
#> 17 Population ISIMIP   UN_PopDiv-MI     SSPs-UN_PopDiv      PopISIMIP    
#> 18 Population ADBs     WDI-UN_PopDiv-MI ADBs-SSP2-UN_PopDiv PopADBs      
#> 19 Labour     SSPs     WDI-UN_PopDiv    SSPs-UN_PopDiv      pastAndLevel 
#> 20 Labour     SSP2     WDI-UN_PopDiv    SSP2-UN_PopDiv      pastAndLevel 
#> 21 Labour     SSP2EU   WDI-UN_PopDiv    SSP2EU-UN_PopDiv    pastAndLevel 
#> 22 Labour     SDPs     WDI-UN_PopDiv    SDPs-UN_PopDiv      pastAndLevel 
#> 23 Labour     ADBs     -                -                   LabourADBs   
#> 24 Urban      SSPs     WDI              SSPs                pastAndGrowth
#> 25 Urban      SSP2     WDI              SSP2                pastAndGrowth
#> 26 Urban      SSP2EU   WDI              SSP2EU              pastAndGrowth
#> 27 Urban      SDPs     WDI              SDPs                pastAndGrowth

User Defined Scenarios

The user can create custom scenarios by creating a tibble called “mrdivers_scenarios” in the global environment, and filling it with the desired scenario definitions. The structure of the “mrdivers_scenarios” object should be identical to that of the return object of toolGetScenarioDefinition(), and the scenario building blocks have to be available. For example, say the user wanted to create SSP scenarios, but without using the Missing Islands data-set. The following command executed in the global environment would make the “nomi” (no-missing islands) scenario available.

mrdrivers_scenarios <- tibble::tribble( # nolint
  ~driver,      ~scenario,      ~pastData,   ~futureData,  ~harmonization,
  "GDPpc",      "nomi",         "WDI",       "SSPs",       "GDPpcSSPs",
  "Population", "nomi",         "WDI",       "SSPs",       "PopSSPs",
  "GDP",        "nomi",         "-",         "-",          "GDPpcWithPop"
)