an open-source Python package for IAM scenario analysis and visualization
Clone or download
danielhuppmann and gidden compatibility with `ixmp` (#171)
* refactor ixmp dependency to own file

* fix order for time-format with ixmp

* try to fix Python 2 reading as `ixmp.TimeSeries` from submodule

* add to release notes
Latest commit 2864c99 Jan 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ci readd building docs to ci, closes #159 (#160) Dec 19, 2018
doc Docclean (#161) Dec 19, 2018
paper fix formatting of bib file for `pyam`paper Nov 29, 2018
pyam compatibility with `ixmp` (#171) Jan 15, 2019
tests extend IamDataFrame to use extra data columns and sub-annual time (#167) Dec 20, 2018
.gitattributes updating for versioneer (#145) Dec 3, 2018
.gitignore Docclean (#161) Dec 19, 2018
.stickler.yml extend IamDataFrame to use extra data columns and sub-annual time (#167) Dec 20, 2018
.travis.yml readd building docs to ci, closes #159 (#160) Dec 19, 2018
CONTRIBUTING.rst Docclean (#161) Dec 19, 2018
LICENSE update license Oct 24, 2018
MANIFEST.IN Fix duplicate manifest files and update developer install instructions ( Dec 18, 2018
Makefile updating for versioneer (#145) Dec 3, 2018
NOTICE.md updating the docs for first release (#99) Oct 4, 2018
PULL_REQUEST_TEMPLATE.md extend PR template (#86) Sep 17, 2018
README.md extend IamDataFrame to use extra data columns and sub-annual time (#167) Dec 20, 2018
RELEASE_NOTES.md compatibility with `ixmp` (#171) Jan 15, 2019
appveyor.yml Install tweaks (#133) Nov 2, 2018
install.bat update tutorial notebook, re-insert auxiliary `models()` etc. functio… Mar 6, 2018
requirements.py Docclean (#161) Dec 19, 2018
requirements.txt Install tweaks (#133) Nov 2, 2018
setup.cfg updating for versioneer (#145) Dec 3, 2018
setup.py Docclean (#161) Dec 19, 2018
versioneer.py updating for versioneer (#145) Dec 3, 2018

README.md

pyam: a Python toolkit for Integrated Assessment Modeling

Documentation: http://software.ene.iiasa.ac.at/pyam Questions? Start a discussion on our listserv

Overview and scope

The pyam package provides a range of diagnostic tools and functions for analyzing and working with IAMC-format timeseries data.

Features:

  • Summary of models, scenarios, variables, and regions included in a snapshot.
  • Display of timeseries data as pandas.DataFrame with IAMC-specific filtering options.
  • Simple visualization and plotting functions.
  • Diagnostic checks for non-reported variables or timeseries data to identify outliers and potential reporting issues.
  • Categorization of scenarios according to timeseries data or meta-identifiers for further analysis.

The package can be used with timeseries data that follows the data template convention of the Integrated Assessment Modeling Consortium (IAMC). An illustrative example is shown below; see data.ene.iiasa.ac.at/database for more information.

model scenario region variable unit 2005 2010 2015
MESSAGE V.4 AMPERE3-Base World Primary Energy EJ/y 454.5 479.6 ...
... ... ... ... ... ... ... ...

Tutorial

A comprehensive tutorial for the basic functions is included in tutorial/pyam_first_steps using a partial snapshot of the IPCC AR5 scenario database.

Documentation

The documentation pages can be built locally. See the instruction in doc/README.

Authors

This package was developed and is currently maintained by Matthew Gidden (@gidden) and Daniel Huppmann (@danielhuppmann).

License

Copyright 2017-2018 IIASA Energy Program

The pyam package is licensed under the Apache License, Version 2.0 (the "License"); see LICENSE and NOTICE for details.

Install

For basic instructions see our website.

To install from source after cloning this repository, simply run

pip install -e .

Development +++++++++++

To setup a development environment,

# pyam can be replaced with any other name
# you don't have to specify your python version if you don't want
conda create --name pyam pip python=X.Y.Z
conda activate pyam  # may be source activate pyam or just activate pyam
pip install -e .[tests,docs,deploy]
# install other required packages (e.g. on a Unix like system)
conda install -c conda-forge $(cat requirements.txt)
# by hand also works e.g.
conda install -c conda-forge cartopy geopandas
# if you want to write notebooks
pip install notebook nbconvert jupyter_contrib_nbextensions

To check everything has installed correctly,

pytest tests

All the tests should pass.