The open-source Python package pyam provides a suite of tools and functions for analyzing and visualizing input data (i.e., assumptions/parametrization) and results (model output) of integrated-assessment models, macro-energy scenarios, energy systems analysis, and sectoral studies.
The comprehensive documentation is hosted on Read the Docs!
- Simple analysis of scenario timeseries data with an interface similar in feel & style to the widely used pandas.DataFrame
- Advanced visualization and plotting functions (see the gallery)
- Scripted validation and processing of scenario data and results
The pyam package was initially developed to work with the IAMC template, a timeseries format for yearly data developed and used by the Integrated Assessment Modeling Consortium (IAMC).
model | scenario | region | variable | unit | 2005 | 2010 | 2015 |
---|---|---|---|---|---|---|---|
MESSAGE | CD-LINKS 400 | World | Primary Energy | EJ/y | 462.5 | 500.7 | ... |
... | ... | ... | ... | ... | ... | ... | ... |
An illustration of the IAMC template using a scenario
from the CD-LINKS project
via the The IAMC 1.5°C Scenario Explorer
The package also supports timeseries data with a sub-annual time resolution:
- Continuous-time data using the Python datetime format
- "Representative timeslices" (e.g., "winter-night", "summer-day") using the pyam extra-columns feature
Read the docs for more information about the pyam data model or look at the data-table tutorial to see how to cast from a variety of timeseries formats to a pyam.IamDataFrame.
An introduction to the basic functions is shown in the "first-steps" notebook.
All tutorials are available in rendered format (i.e., with output) as part of the online documentation. The source code of the tutorials notebooks is available in the folder doc/source/tutorials of this repository.
The comprehensive documentation is hosted on Read the Docs.
The documentation pages can be built locally, refer to the instruction in doc/README.
This package was initiated and is currently maintained by Matthew Gidden (@gidden) and Daniel Huppmann (@danielhuppmann).
See the complete list of contributors.
The following manuscripts describe the pyam package at specific stages of development.
The source documents are available in the manuscripts folder of the GitHub repository.
Published to mark the first major release of the pyam package.
Daniel Huppmann, Matthew Gidden, Zebedee Nicholls, Jonas Hörsch, Robin Lamboll, Paul Natsuo Kishimoto, Thorsten Burandt, Oliver Fricko, Edward Byers, Jarmo Kikstra, Maarten Brinkerink, Maik Budzinski, Florian Maczek, Sebastian Zwickl-Bernhard, Lara Welder, Erik Francisco Alvarez Quispe, and Christopher J. Smith. pyam: Analysis and visualisation of integrated assessment and macro-energy scenarios. Open Research Europe, 2021. doi: 10.12688/openreseurope.13633.2
Published following the successful application of pyam in the IPCC SR15 and the Horizon 2020 CRESCENDO project.
Matthew Gidden and Daniel Huppmann. pyam: a Python package for the analysis and visualization of models of the interaction of climate, human, and environmental systems. Journal of Open Source Software (JOSS), 4(33):1095, 2019. doi: 10.21105/joss.01095.
Copyright 2017-2022 IIASA and the pyam developer team
The pyam package is licensed
under the Apache License, Version 2.0 (the "License");
see LICENSE and NOTICE for details.
For basic instructions, please read the docs!
To install from source (including all dependencies) after cloning this repository, simply run
pip install --editable .[tests,optional_io_formats,tutorials]
To check that the package was installed correctly, run
pytest tests