-
-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Hi @martinjrobins, thank you for submitting your work to JOSS :-)
xref: openjournals/joss-reviews#9384
This piece of work looks very well-made, with a comprehensive documentation both for the API and the examples in the book.
Here are a few comments I had after reviewing the checklist.
Contribution and authorship: Has the submitting author (@martinjrobins) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
Alex Allmont is cited as a co-author, but I cannot see any contribution from that person on this repository, nor to the paper. I see Alex Allmont is listed on your research group, but how has this person contributed to this tool / paper? I see this person is the maintainer of pydiffsol, but it is not directly the subject of the paper.
Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
The Installation and usage section points to the crates.io page, which itself is just a copy of the README, with no additional installation guidelines (except those provided by crates.io itself). I would recommend including a small sentence or two saying that you can simple cargo add your package. You can also include a dummy cargo.toml config file, that you can keep synchronized with tools like cargo-release. You also seem to provide optional feature flags, so it would be nice to document them (so people know what they do). E.g., see how I did for my own tool.
Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
I feel the paper and the README are missing a nice, simple example showcasing how you can solve, e.g., the Lorentz attractor, with your library (using the DSL?).
Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
There are tests (only inside the modules, no "integration tests" or tests within the book?), but I could not find documentation about how to run those tests.
Community guidelines: Are there clear guidelines for third parties wishing to 1. Contribute to the software 2. Report issues or problems with the software 3. Seek support
I could not find any information about those three points. I think a short addendum to the README could solve these.
Lines 55 to 56 in 4c6005b
| 1. A variable order Backwards Difference Formulae (BDF) solver, suitable for stiff problems and singular mass matrices. The basic algorithm is derived in @byrne1975polyalgorithm, however this particular implementation follows that implemented in the Matlab routine ode15s [@shampine1997matlab] and the SciPy implementation [@virtanen2020scipy], which features the NDF formulas for improved stability | |
| 2. A Singly Diagonally Implicit Runge-Kutta (SDIRK or ESDIRK) solver, suitable for moderately stiff problems and singular mass matrices. Two different butcher tableau are provided, TR-BDF2 [@bank1985transient, @hosea1996analysis] and ESDIRK34 [@jorgensen2018family], or users can supply their own. |
The @byrne1975polyalgorithm and [@bank1985transient, @hosea1996analysis] citations render a bit weirdly (in my opinion), as only the year is displayed between parentheses.
That's all for me, let me know if you have any question :-)