IAMconsortium / pyam

Analysis & visualization of energy & climate scenarios
https://pyam-iamc.readthedocs.io/
Apache License 2.0
231 stars 119 forks source link

Support mixed 'year' and 'datetime' domain #598

Closed danielhuppmann closed 2 years ago

danielhuppmann commented 2 years ago

Please confirm that this PR has done the following:

Description of PR

This PR implements refactors the IamDataFrame such that it supports "mixed" time domains (yearly, categorical, datetime), per option 3 of #596.

The PR implements the basic i/o workflow. It does not ensure that all methods support mixed time domain. ToDo:

closes #596

codecov[bot] commented 2 years ago

Codecov Report

Merging #598 (948682a) into main (8689a59) will increase coverage by 0.2%. The diff coverage is 99.4%.

Impacted file tree graph

@@           Coverage Diff           @@
##            main    #598     +/-   ##
=======================================
+ Coverage   94.3%   94.6%   +0.2%     
=======================================
  Files         54      57      +3     
  Lines       5444    5646    +202     
=======================================
+ Hits        5138    5342    +204     
+ Misses       306     304      -2     
Impacted Files Coverage Δ
tests/test_feature_rename.py 100.0% <ø> (ø)
pyam/utils.py 90.8% <92.8%> (-1.1%) :arrow_down:
pyam/core.py 94.9% <98.8%> (+0.3%) :arrow_up:
pyam/filter.py 100.0% <100.0%> (ø)
pyam/index.py 98.2% <100.0%> (+0.1%) :arrow_up:
pyam/time.py 98.0% <100.0%> (+1.9%) :arrow_up:
tests/conftest.py 100.0% <100.0%> (ø)
tests/test_core.py 100.0% <100.0%> (ø)
tests/test_feature_append_concat.py 100.0% <100.0%> (ø)
tests/test_filter.py 100.0% <100.0%> (ø)
... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 8689a59...948682a. Read the comment docs.

danielhuppmann commented 2 years ago

Merging per announcement in the Slack workspace.