Skip to main content

Analysis & visualization of integrated-assessment scenarios

Project description

pyam: analysis & visualization
of integrated-assessment and macro-energy scenarios

license pypi conda latest

Code style: black python pytest ReadTheDocs codecov

doi ORE joss groups.io slack


Overview and scope

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!

Key features

  • 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

Timeseries types & data formats

Yearly data

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

Subannual time resolution

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.

Tutorials

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.

Documentation

The comprehensive documentation is hosted on Read the Docs.

The documentation pages can be built locally, refer to the instruction in doc/README.

Authors & Contributors

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

See the complete list of contributors.

Scientific publications

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.

Release v1.0 (June 2021)

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

Release v0.1.2 (November 2018)

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.

License

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.

Install

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyam-iamc-1.3.1.tar.gz (10.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyam_iamc-1.3.1-py3-none-any.whl (90.8 kB view details)

Uploaded Python 3

File details

Details for the file pyam-iamc-1.3.1.tar.gz.

File metadata

  • Download URL: pyam-iamc-1.3.1.tar.gz
  • Upload date:
  • Size: 10.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for pyam-iamc-1.3.1.tar.gz
Algorithm Hash digest
SHA256 e4c92ecddef991e79ea4258f7c498b63d1b002d66c6f64448f63ee23bf30e273
MD5 ffaf750432c7250fb65679d9a7968c26
BLAKE2b-256 b31f4ddb0d177ce81cb367bfac708b6fffb38719316cfc1cd8a245bae0912481

See more details on using hashes here.

File details

Details for the file pyam_iamc-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: pyam_iamc-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 90.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for pyam_iamc-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 77199a0eb99826417e22d507f9fed7bb10fd7ebd3242f89cad9b7ad8a45d0886
MD5 d2183d7e56ff1ea1386428cf8b891c1a
BLAKE2b-256 ba2cde52a62dbd0465b072d05e00b8de915a4e6665b18112991d85a4b0510e8a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page