Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a module for implementing (sub-annual) time slices #852

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

glatterf42
Copy link
Member

This PR supersedes iiasa/message-ix-models#197 as @khaeru suggested this tool might be better placed in message_ix.

@behnam-zakeri Please take a look at the changes. Several things come to mind before merging this:

  • Use the existing logging functionality instead of printing to stdout
  • Write a bit of documentation on how to use this tool (e.g. via a README.rst as was done for add_year)
  • Write tests for this new functionality.

How to review

Check the above boxes plus:

  • Read the diff and note that the CI checks all pass.
  • Run a specific code snippet or command and check the output.
  • Build the documentation and look at a certain page.
  • Ensure that changes/additions are self-documenting, i.e. that another
    developer (someone like the reviewer) will be able to understand what the code
    does in the future.

PR checklist

  • Continuous integration checks all ✅
  • Add or expand tests; coverage checks both ✅
  • Add, expand, or update documentation.
  • Update release notes.

Copy link

codecov bot commented Jun 14, 2024

Codecov Report

Attention: Patch coverage is 0% with 255 lines in your changes missing coverage. Please review.

Project coverage is 90.3%. Comparing base (1125579) to head (baeb7f8).
Report is 39 commits behind head on main.

Files with missing lines Patch % Lines
message_ix/tools/add_timeslice/add_timeslice.py 0.0% 255 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (1125579) and HEAD (baeb7f8). Click for more details.

HEAD has 133 uploads less than BASE
Flag BASE (1125579) HEAD (baeb7f8)
151 18
Additional details and impacted files
@@           Coverage Diff           @@
##            main    #852     +/-   ##
=======================================
- Coverage   95.6%   90.3%   -5.4%     
=======================================
  Files         46      47      +1     
  Lines       4333    4588    +255     
=======================================
  Hits        4143    4143             
- Misses       190     445    +255     
Files with missing lines Coverage Δ
message_ix/tools/add_timeslice/add_timeslice.py 0.0% <0.0%> (ø)

@glatterf42
Copy link
Member Author

In the MESSAGE meeting just now, @behnam-zakeri mentioned that #680 might be related.

@behnam-zakeri
Copy link
Contributor

behnam-zakeri commented Oct 24, 2024

@glatterf42 Related to the test, I have added an example of Westeros model via the Excel file, which is used by the code to create a Westeros scenario with time slices, exactly similar to the one we have in our published tutorials (Westeros_seasonality.ipynb). So, the only part missing will be to check if the output of these two models are the same or not.

  1. Running the new code with input data from Westeros_baseline scenario and config data from Excel. [done]
  2. Loading an already existing or running Westeros_Seasonality scenario (can be done easily).
  3. Comparing the results of 1 and 2, e.g.:
  • asserting if "time" related sets are the same ("time", "duration_time")
  • asserting OBJ.
  • asserting ACT of coal_ppl or wind_ppl in different times (winter or summer).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enh New features & functionality timeslice
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants