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

Improve reporting (phase 2) #144

Closed
wants to merge 85 commits into from
Closed

Improve reporting (phase 2) #144

wants to merge 85 commits into from

Conversation

khaeru
Copy link
Member

@khaeru khaeru commented Jun 13, 2019

Superseded by #150; text below may be out of date.


This will implement the second phase of the reporting update. Supersedes #126 which was from a branch in a fork; all can commit to this branch. See there for more comments & discussion.

See also:

Progress
Address requirements from wiki:

  • A1. Provide equal support for any type of model that can be built on the ixmp.
  • A2. Support use of exogenous data.
  • A3. Support basic operations:
    • A3i. Weighted sums using model or exogenous weights.
    • A3ii. Disaggregation using model or exogenous shares.
    • A3iii. Interpolation: linear, exponential, etc.
  • A4. Support operations using quantities at different levels of aggregation.
  • A5. Support user-defined operations.
  • A6. Duplicate or clone existing operations for multiple other sets of inputs or outputs.
  • A7. Support renaming of quantities using multiple name mappings:
    • A7i. …given programmatically.
    • A7ii. …loaded from file.
  • A8. Compute only a subset of quantities from a larger/complete report.
    • A8i. …for testing/development use-cases.
    • A8ii. …for high-performance use-cases.
    • A8iii. …using command-line arguments or other straightforward inputs to specify the subset.
  • A9. Handle units for quantities.
    • Both quantities with provided units, and quantities without units.
    • Derive units for operations such as division and multiplication.
  • A10. Provide automated description of how quantities are computed, as text (console output) or image.
  • A11. Callable through retixmp (tests require Test rixmp using 'testthat' #135)

PR checklist:

  • Tests added (ongoing)
  • Documentation added — preview here.
  • Description in RELEASE_NOTES.md added

Miscellaneous:

  • Choose target release: 0.3 or 1.0?
  • Decide: this adds dependencies on dask[array] (thus toolz), graphviz (for dask.visualize), pint, and xarray. Should these be non-optional requirements, or extras (ixmp[reporting])?
  • Per @gidden comment in superseded PR, provide user-friendly exception handling when bad units are encountered.

@khaeru khaeru mentioned this pull request Jun 13, 2019
27 tasks
@khaeru khaeru self-assigned this Jun 13, 2019
@khaeru khaeru added this to the 0.2 milestone Jun 13, 2019
@khaeru khaeru added the enh New features & functionality label Jun 13, 2019
khaeru and others added 3 commits June 13, 2019 22:33
* first test for quantity equals

* add test for attrs property

* fix failing test where attrs provided in constructor

* update test_reporting.py to use ixmp.testing and remove Quantity shim

* rm extraneous test

* make some tests more general

* stickler

* add check_attrs option

* add test for check_attrs=False
@gidden gidden mentioned this pull request Jun 18, 2019
29 tasks
@khaeru khaeru added the reporting Post-processing of model results label Jun 18, 2019
@gidden
Copy link
Member

gidden commented Jun 19, 2019

closing in favor of #150

@gidden gidden closed this Jun 19, 2019
@khaeru khaeru deleted the feature/reporting2 branch April 26, 2020 10:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enh New features & functionality reporting Post-processing of model results
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants