Add a `reproduce` command
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start by reading the existing regression-test machinery and the run command entry point, then review related issues #1109 and #1186. Define whether this is a reproduce command or a --reproduce flag, how output-file differences are reported, and how configurable floating-point tolerance works; done means given inputs can be compared against MUSE2 output files with those details.
Written by the indexing model from the issue text.
Description
It would be nice if we had a single command to try to reproduce MUSE2 output files for given input files. We could repurpose some of the machinery we have for regression tests to provide details about which files differ and where. As with regression tests, there should be some tolerance to small differences in floating-point numbers (this should probably be configurable, too).
I'm not totally wedded to this being a separate command. We could add a --reproduce flag to the run command or something instead.
Here are a few applications of this feature I can think of:
- For researchers: Trying to reproduce other researchers' results. (If we make it easy enough, surely everyone will do it... right? 😄)
- For developers: Helpful for debugging a model that's not working for someone
- Checking if/how results change between different versions of MUSE2 (obvs this won't be resistant to breaking changes in file formats, but hopefully these will end up being less common in future)
Other issues that might be relevant to this:
- #1109
- #1186
- Dominant language
- Rust
- Stars
- 8
- Forks
- 5
- Avg merge
- 11h 31m
- Merged PRs (30d)
- 33
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from EnergySystemsModellingLab/MUSE2
-
bug documentation
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
EnergySystemsModellingLab/MUSE2#1367 · 1 comment ·
-
Remove the `ironing out iteration 0` prefix from debug files when the ironing out loop is turned off Openmuse xiii question
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
EnergySystemsModellingLab/MUSE2#1221 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
EnergySystemsModellingLab/MUSE2#1554 ·
-
bug
EnergySystemsModellingLab/MUSE2#1541 · 2 comments · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
EnergySystemsModellingLab/MUSE2#1526 ·
All issues in EnergySystemsModellingLab/MUSE2
Similar issues
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
yantrikos/yantrik-os#255 ·
-
bug CLI custom-model
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
raphamorim/rio#1956 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
rust-bitcoin/rust-bitcoin#6930 · 1 comment ·