pyam

pyam: a Python Package for the Analysis and Visualization of Models of the Interaction of Climate, Human, and Environmental Systems - Published in JOSS (2019)

https://github.com/iamconsortium/pyam

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 14 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    3 of 33 committers (9.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

analysis energy-systems iamc-format integrated-assessment integrated-assessment-scenarios macro-energy modeling pyam scenario scenario-data timeseries-format visualization

Keywords from Contributors

simulations meshes climate gravitational-lenses physics open-science ocean blackhole astronomy jax
Last synced: 4 months ago · JSON representation ·

Repository

Analysis & visualization of energy & climate scenarios

Basic Info
Statistics
  • Stars: 263
  • Watchers: 12
  • Forks: 126
  • Open Issues: 97
  • Releases: 36
Topics
analysis energy-systems iamc-format integrated-assessment integrated-assessment-scenarios macro-energy modeling pyam scenario scenario-data timeseries-format visualization
Created about 8 years ago · Last pushed 5 months ago
Metadata Files
Readme Contributing License Citation Authors

README.md

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

license pypi conda last-release

Code style: ruff 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.

Installation

pip

[!WARNING] The pyam package is distributed on https://pypi.org under the name pyam-iamc.

https://pypi.org/project/pyam-iamc/

Please install using pip install pyam-iamc

conda

https://anaconda.org/conda-forge/pyam

Please install using conda install pyam

install from source

To install from source (including all dependencies) after cloning this repository, run

pip install --editable .[tests,optional_io_formats,tutorials]

To check that the package was installed correctly, run

pytest tests

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 docs/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 docs/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.

The core maintenance of the package is done by the Scenario Services & Scientific Software research theme at the IIASA Energy, Climate, and Enviroment program. Visit https://software.ece.iiasa.ac.at for more information.

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-2024 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.

Owner

  • Name: Integrated Assessment Modeling Consortium (IAMC)
  • Login: IAMconsortium
  • Kind: organization

JOSS Publication

pyam: a Python Package for the Analysis and Visualization of Models of the Interaction of Climate, Human, and Environmental Systems
Published
January 07, 2019
Volume 4, Issue 33, Page 1095
Authors
Matthew J. Gidden ORCID
International Institute for Applied Systems Analysis, Schlossplatz 1, A-2361 Laxenburg, Austria
Daniel Huppmann ORCID
International Institute for Applied Systems Analysis, Schlossplatz 1, A-2361 Laxenburg, Austria
Editor
Lindsey Heagy ORCID
Tags
Visualization Integrated Assessment Models Simple Climate Models Climate Change Greenhouse Gases

Citation (CITATION.cff)

cff-version: 1.1.0
message: "If you use this package, please cite the corresponding manuscript in Open Research Europe."
title: "pyam: analysis and visualization of integrated-assessment and macro-energy scenarios"
repository: https://github.com/iamconsortium/pyam
version: 1.0
license: Apache-2.0
journal: Open Research Europe
doi: 10.12688/openreseurope.13633.2
authors:
  - family-names: Huppmann
    given-names: Daniel
    orcid: https://orcid.org/0000-0002-7729-7389
  - family-names: Gidden
    given-names: Matthew J.
    orcid: https://orcid.org/0000-0003-0687-414X
  - family-names: Nicholls
    given-names: Zebedee
    orcid: https://orcid.org/0000-0002-4767-2723
  - family-names: Hörsch
    given-names: Jonas
    orcid: https://orcid.org/0000-0001-9438-767X
  - family-names: Lamboll
    given-names: Robin D.
    orcid: https://orcid.org/0000-0002-8410-037X
  - family-names: Kishimoto
    given-names: Paul Natsuo
  - family-names: Burandt
    given-names: Thorsten
  - family-names: Fricko
    given-names: Oliver
  - family-names: Byers
    given-names: Edward
  - family-names: Kikstra
    given-names: Jarmo S.
    orcid: https://orcid.org/0000-0001-9405-1228
  - family-names: Brinkerink
    given-names: Maarten
  - family-names: Budzinski
    given-names: Maik
    orcid: https://orcid.org/0000-0003-2879-1193
  - family-names: Maczek
    given-names: Florian
  - family-names: Zwickl-Bernhard
    given-names: Sebastian
  - family-names: Welder
    given-names: Lara
  - family-names: Alvarez Quispe
    given-names: Erik Francisco
    orcid: https://orcid.org/0000-0003-3862-9747
  - family-names: Smith
    given-names: Christopher J.
keywords:
  - integrated assessment
  - energy systems
  - macro-energy
  - modelling
  - scenario analysis
  - data visualisation
  - Python package

GitHub Events

Total
  • Create event: 9
  • Release event: 2
  • Issues event: 7
  • Watch event: 27
  • Delete event: 4
  • Issue comment event: 49
  • Push event: 22
  • Pull request review comment event: 34
  • Pull request review event: 31
  • Pull request event: 43
  • Fork event: 7
Last Year
  • Create event: 9
  • Release event: 2
  • Issues event: 9
  • Watch event: 27
  • Delete event: 4
  • Issue comment event: 49
  • Push event: 23
  • Pull request review comment event: 34
  • Pull request review event: 31
  • Pull request event: 45
  • Fork event: 7

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 661
  • Total Committers: 33
  • Avg Commits per committer: 20.03
  • Development Distribution Score (DDS): 0.334
Past Year
  • Commits: 25
  • Committers: 7
  • Avg Commits per committer: 3.571
  • Development Distribution Score (DDS): 0.28
Top Committers
Name Email Commits
Daniel Huppmann dh@d****t 440
Matthew Gidden m****n@g****m 113
Zeb Nicholls z****s@c****g 21
Jonas Hörsch j****h@c****g 17
Rlamboll r****l@h****k 8
Nikolay Kushin z****h@g****m 7
Philip Hackstock 2****k 6
Fridolin Glatter 8****2 5
OFR-IIASA f****o@i****t 4
pjuergens 7****s 3
dependabot[bot] 4****] 3
Pietro Monticone 3****e 3
Maik Budzinski 5****z 3
Jarmo Kikstra 4****a 3
Edward Byers b****s@i****t 3
David Almeida 5****a 2
Mathias Hauser m****e 2
Paul Natsuo Kishimoto m****l@p****e 2
dependabot-preview[bot] 2****] 2
rossursino 4****o 1
lumbric l****c@g****m 1
Thorsten Burandt 2****t 1
Suvayu Ali s****u 1
Philipp S. Sommer C****p 1
Michael Pimmer b****b@f****t 1
Linh Ho 4****o 1
Laura Wienpahl 5****n 1
Karthikeyan Singaravelan t****i@g****m 1
Kamil 3****5 1
Jan Ivar Korsbakken j****n@g****m 1
and 3 more...

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 280
  • Total pull requests: 636
  • Average time to close issues: 4 months
  • Average time to close pull requests: 11 days
  • Total issue authors: 55
  • Total pull request authors: 37
  • Average comments per issue: 2.58
  • Average comments per pull request: 3.04
  • Merged pull requests: 531
  • Bot issues: 0
  • Bot pull requests: 16
Past Year
  • Issues: 7
  • Pull requests: 32
  • Average time to close issues: 15 days
  • Average time to close pull requests: 17 days
  • Issue authors: 5
  • Pull request authors: 8
  • Average comments per issue: 1.86
  • Average comments per pull request: 1.44
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 3
Top Authors
Issue Authors
  • danielhuppmann (95)
  • gidden (52)
  • znicholls (19)
  • Rlamboll (16)
  • phackstock (13)
  • byersiiasa (11)
  • pjuergens (7)
  • khaeru (6)
  • stefaneidelloth (4)
  • l-welder (3)
  • jkikstra (2)
  • glatterf42 (2)
  • willu47 (2)
  • maxtav (2)
  • sandrinecharousset (2)
Pull Request Authors
  • danielhuppmann (408)
  • gidden (105)
  • znicholls (38)
  • coroa (22)
  • dependabot[bot] (17)
  • glatterf42 (11)
  • phackstock (8)
  • Rlamboll (8)
  • quant12345 (8)
  • zikolach (8)
  • dependabot-preview[bot] (7)
  • dc-almeida (6)
  • OFR-IIASA (4)
  • LinhHo (4)
  • pjuergens (4)
Top Labels
Issue Labels
enhancement (37) bug (35) plotting (13) good first issue (12) question (10) iiasa-api (9) tutorial (5) datetime (5) dependencies (5) data-ops (5) data back-end (4) help wanted (3) logging (3) next release (3) downscaling (1) extra-cols (1)
Pull Request Labels
dependencies (37) enhancement (25) bug (20) plotting (18) data back-end (13) iiasa-api (11) data-ops (10) datetime (6) tutorial (5) generic-index-cols (3) extra-cols (2) logging (2) question (1) debiasing (1) R (1) downscaling (1) next release (1)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 30,238 last-month
  • Total docker downloads: 8
  • Total dependent packages: 16
    (may contain duplicates)
  • Total dependent repositories: 27
    (may contain duplicates)
  • Total versions: 131
  • Total maintainers: 2
pypi.org: pyam-iamc

Analysis & visualization of integrated-assessment scenarios

  • Versions: 36
  • Dependent Packages: 13
  • Dependent Repositories: 21
  • Downloads: 30,238 Last month
  • Docker Downloads: 8
Rankings
Dependent packages count: 0.9%
Dependent repos count: 3.2%
Downloads: 3.4%
Average: 3.5%
Docker downloads count: 3.8%
Forks count: 4.5%
Stargazers count: 4.9%
Maintainers (2)
Last synced: 4 months ago
proxy.golang.org: github.com/iamconsortium/pyam
  • Versions: 36
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 1.6%
Average: 4.1%
Dependent packages count: 6.5%
Last synced: 4 months ago
proxy.golang.org: github.com/IAMconsortium/pyam
  • Versions: 36
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 4 months ago
conda-forge.org: pyam

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. **Key features** - Simple analysis of scenario timeseries data with an interface similar in feel & style to the widely used [pandas.DataFrame](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html) - Advanced visualization and plotting functions (see the [gallery](https://pyam-iamc.readthedocs.io/en/stable/gallery/index.html)) - Scripted validation and processing of scenario data and results

  • Versions: 23
  • Dependent Packages: 3
  • Dependent Repositories: 6
Rankings
Dependent repos count: 13.8%
Dependent packages count: 15.6%
Forks count: 18.5%
Average: 18.8%
Stargazers count: 27.4%
Last synced: 4 months ago

Dependencies

.github/workflows/build-docs.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • r-lib/actions/setup-pandoc v1 composite
.github/workflows/nightly.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • r-lib/actions/setup-pandoc v1 composite
.github/workflows/publish.yml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish v1.4.1 composite
.github/workflows/pytest-legacy.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/pytest.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v1 composite
.github/workflows/black.yml actions
  • actions/checkout v3 composite
  • psf/black stable composite
setup.py pypi