message_ix
message_ix copied to clipboard
Add .tools.graph_viz_tool
Following on the 2024-12-12 MESSAGE meeting and #580, this PR aims to add a tool that can visualise a MESSAGEix model structure as a graph.
The initial commit adds the standalone tool developed by @macflo8, which can serve as a basis for a tool that is fully integrated in the message_ix code base. The standalone tool offers two visualisation options:
- a static "RES-style" visualisation that relies on the
graphvizpackage that is similar to the VBA tool mentioned in https://github.com/iiasa/message_ix/issues/580#issuecomment-2538468377 - an interactive graph that relies on the
pyvispackage that is more suited to visualise a subset of the model
How to review
- The general methodology should be reviewed to make sure the tool is computationally efficient.
- The design should be reviewed to make sure it fits with the patterns used in
message_ix. - The ease of use should be reviewed, to increase the probability that current (and future)
message_ixusers will actually use it.
PR checklist
- [ ] Continuous integration checks all ✅
- [ ] Add or expand tests; coverage checks both ✅
- [ ] Add, expand, or update documentation.
- [ ] Update release notes.