-
Notifications
You must be signed in to change notification settings - Fork 3
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
langfzac comments #42
Conversation
Codecov Report
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more. @@ Coverage Diff @@
## main #42 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 6 6
Lines 330 332 +2
=========================================
+ Hits 330 332 +2
|
…ticDynamics.jl into langfzac_comments_1
Paper:
Documentation:
Example Notebook:
Tests/Continuous Integration:
General:
using Plots
solution,model = orbit();
plot(solution,model.constants.a) This example is also given in
|
Hi @tomkimpson, these changes look great! Only a few minor comments:
Other than that, the following comments need not hold up the review -- I just wanted to point out somethings that may help.
|
Thanks @langfzac. All your minor comments have been addressed by the latest commit. Re the optimisation comment, this is a good idea and definitely on the "to do" list, but something that I will defer for a v0.2.0. Once you are happy with the changes let me know and I'll merge this PR and return the discussion to the main JOSS thread. |
@tomkimpson. This looks good to me! I don't think I have any other comments. Happy for you to merge and I'll update my review checklist on the JOSS thread. |
Paper:
Documentation:
Example Notebook:
Supplying the NF=Float32 keyword to orbit() throws an error: No matching function wrapper was found! on Julia v1.9. However, it does work on v1.7.
I think this is already known, but autodiff appears to be broken. It looks like in the dts_comments_1 branch, the notebook has an updated autodiff section, which is marked as "TODO".
Tests/Continuous Integration:
I think the tests should be running on at least the Long-Term-Support version of Julia. Preferably, both LTS and the latest release. Currently, they only run on v1.7.
Since the ability to use autodiff is a highlighted feature, there should be a relevant unit test for orbit().
Consider using a doctest for the "how to run" example, and perhaps the example notebook. This would catch any issues with the example code, and make sure it stays up-to-date.
Some of the test (e.g. test/orbit.jl) check for things like misspecified parameters via try-catch, but only check that any error is thrown. These could be made more explicit by testing for the particular error that is expected.
General:
It might be worth reworking the plotting functions in the Recipes framework from Plots.jl. It would remove the Plots dependency (which is historically a fairly heavy-weight one), and allow more flexibility for the user. Also, PlotTrajectory() does not display in Pluto notebooks, which would likely be fixed.
I think there are some dependencies that could be dropped. For example, it doesn't look like Zygote or SciMLSensitivity are explicitly being used in any functions within the module. Others are BenchmarkTools, Enzyme, and ForwardDiff. It looks like Distributions is only used within the testing suite, which can have it's own Project.toml (like the docs).