This article demonstrates some of the operations from the first steps tutorial from the pyam package, but from R.

library(pryam)
df <- pyam_data_frame(system.file("extdata", "pyam", "tutorial_data.csv", package = "pryam"))

Printing:

df
#> <class 'pyam.core.IamDataFrame'>
#> Index dimensions:
#>  * model    : AIM/CGE 2.1, GENeSYS-MOD 1.0, ... WITCH-GLOBIOM 4.4 (8)
#>  * scenario : 1.0, CD-LINKS_INDCi, CD-LINKS_NPi, ... Faster Transition Scenario (8)
#> Timeseries data coordinates:
#>    region   : R5ASIA, R5LAM, R5MAF, R5OECD90+EU, R5REF, R5ROWO, World (7)
#>    variable : ... (6)
#>    unit     : EJ/yr, Mt CO2/yr, °C (3))
#>    year     : 2010, 2020, 2030, 2040, 2050, 2060, 2070, 2080, ... 2100 (10)
#> Meta indicators:
#>    exclude (bool) False (1)

Index values:

df$model
#> [1] "AIM/CGE 2.1"                 "GENeSYS-MOD 1.0"            
#> [3] "IEA World Energy Model 2017" "IMAGE 3.0.1"                
#> [5] "MESSAGEix-GLOBIOM 1.0"       "POLES CD-LINKS"             
#> [7] "REMIND-MAgPIE 1.7-3.0"       "WITCH-GLOBIOM 4.4"
df$scenario
#> [1] "1.0"                        "CD-LINKS_INDCi"            
#> [3] "CD-LINKS_NPi"               "CD-LINKS_NPi2020_1000"     
#> [5] "CD-LINKS_NPi2020_1600"      "CD-LINKS_NPi2020_400"      
#> [7] "CD-LINKS_NoPolicy"          "Faster Transition Scenario"
df$scenario
#> [1] "1.0"                        "CD-LINKS_INDCi"            
#> [3] "CD-LINKS_NPi"               "CD-LINKS_NPi2020_1000"     
#> [5] "CD-LINKS_NPi2020_1600"      "CD-LINKS_NPi2020_400"      
#> [7] "CD-LINKS_NoPolicy"          "Faster Transition Scenario"
df$region
#> [1] "R5ASIA"      "R5LAM"       "R5MAF"       "R5OECD90+EU" "R5REF"      
#> [6] "R5ROWO"      "World"
df$variables(include_units = TRUE)
#>                                                      variable      unit
#> 1 AR5 climate diagnostics|Temperature|Global Mean|MAGICC6|MED        °CC
#> 2                                               Emissions|CO2 Mt CO2/yr
#> 3                                              Primary Energy     EJ/yr
#> 4                                      Primary Energy|Biomass     EJ/yr
#> 5                                       Primary Energy|Fossil     EJ/yr
#> 6                       Primary Energy|Non-Biomass Renewables     EJ/yr

Apply filters to the ensemble and display the timeseries data

df$filter(model = "MESSAGE")$scenario
#> list()
df$filter(model = "MESSAGE*")$scenario
#> [1] "CD-LINKS_INDCi"        "CD-LINKS_NPi"          "CD-LINKS_NPi2020_1000"
#> [4] "CD-LINKS_NPi2020_1600" "CD-LINKS_NPi2020_400"  "CD-LINKS_NoPolicy"
df$filter(region = "World", keep = FALSE)$region
#> [1] "R5ASIA"      "R5LAM"       "R5MAF"       "R5OECD90+EU" "R5REF"      
#> [6] "R5ROWO"

Filtering by variables and levels

df$filter(variable='Primary Energy*', level=1)$variable
#> [1] "Primary Energy|Biomass"               
#> [2] "Primary Energy|Fossil"                
#> [3] "Primary Energy|Non-Biomass Renewables"
df$filter(variable='Primary Energy*', level='1-')$variable
#> [1] "Primary Energy"                       
#> [2] "Primary Energy|Biomass"               
#> [3] "Primary Energy|Fossil"                
#> [4] "Primary Energy|Non-Biomass Renewables"

Visualize the timeseries data using the plotting library

r.df.filter(variable='Emissions|CO2', region='World').plot()