Closed whedon closed 3 years ago
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @daviddewhurst, @felixcremer it looks like you're currently assigned to review this paper :tada:.
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
:star: Important :star:
If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿
To fix this do the following two things:
For a list of things I can do to help you, just type:
@whedon commands
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
@whedon generate pdf
Reference check summary:
OK DOIs
- 10.1109/LSP.2017.2719943 is OK
- 10.1109/ACSSC.2011.6190385 is OK
MISSING DOIs
- None
INVALID DOIs
- https://doi.org/10.1093/gji/ggz280 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1017/jfm.2018.366 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/0098-3004(94)00067-5 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.cageo.2008.06.007 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1007/s13137-011-0016-z is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1098/rspa.2014.0101 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1109/proc.1982.12433 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1109/jproc.2007.894712 is INVALID because of 'https://doi.org/' prefix
I am copying here the last comment made by @daviddewhurst on the pre-review issue to be sure it's not lost in the process:
@lootie I'm currently not able to install the package as directed by README.md.:
(v1.1) pkg> add git://bitbucket.org/clhaley/Multitaper.jl.git
Updating registry at ~/.julia/registries/General
Updating git-repo https://github.com/JuliaRegistries/General.git
Cloning git-repo git://bitbucket.org/clhaley/Multitaper.jl.git
ERROR: failed to clone from git://bitbucket.org/clhaley/Multitaper.jl.git, error: GitError(Code:ERROR, Class:OS, failed to connect to bitbucket.org: Operation timed out)
However, using add https://bitbucket.org/clhaley/Multitaper.jl.git works fine. Just a heads-up for you (and other reviewers / editor) that they might encounter this as well.
Just to let you know, I am taking some time off until August 24, I will still be checking my emails and keep an eye on my current assigned submissions. I might just take a bit more time than usual to answer.
@whedon generate pdf
Dear all,
where are we on this?
@whedon generate pdf
Hi @felixcremer and @daviddewhurst do you think you'll have time to work on this review soon enough?
Do not hesitate to post comments to the author even if your review is not finished
Hi @VivianePons, my review will be complete by Sunday.
Hi @VivianePons @felixcremer @daviddewhurst I am happy to answer any questions you have or make changes based on your suggestions. Since the submission of this article, I have added additional functionality for time series with missing data, and I welcome any comments on this as well.
Hi @daviddewhurst and @felixcremer I see no progress on the review, have you had time to look at the software? When do you think you can get back to it?
Best
Viviane
@VivianePons perhaps @daviddewhurst and @felixcremer have unsubscribed to notifications from this thread?
Indeed, I just an email to both of them. Thank you for your patience!
@VivianePons Is there anything I can do to get this review underway, short of submitting it elsewhere? I believe our work checks all the boxes above, but I've received no feedback so far.
I am very sorry for this. Both of the reviewers who had accepted to take this review have been completely unresponsive, both through github and via email, even though they both started the review this summer. This is quite a rare occurrence, especially to happen to both reviewers at the same time. I have been quite busy myself and let time run more than I should have. But I will email new reviewers this week and hopefully, we can get this rolling.
Thank you again for your patience. I hope you have a better review experience from now on!
Thank you for your help. I suggested five potential reviewers here on Jul 2 if that helps you assign someone new. @VivianePons
I have just sent 2 new review invites using your initial list of potential reviewers. We'll see how it goes.
@daviddewhurst and @felixcremer I would still be happy to get your reviews!
@whedon add @anowacki as reviewer
OK, @anowacki is now a reviewer
Hi @lootie. I'm just starting to take a look and can see a few things where I would ideally open an issue at the repo (which I think we're encouraged to do). However, I can't see any way to do this for your repo on Bitbucket. (This is also what the current proof of the paper suggests people do.)
Do you know if there's any way to enable issues? Otherwise I will just note these issues in posts here.
Thank you @anowacki for looking at this right away. I enabled the issue tracker, so you are free to put your comments there if you'd like. If the issue prevents you from checking one of the boxes in your review above, please put it in this thread and I'll address it right away.
@lootie Thanks for turning that on—I will submit issues to the repo.
It looks like I can set a priority for them, so I will do that and mark anything as a blocker to ticking the boxes above as 'Blocker'. Things which are suggestions I will mark ~'Minor'~ as an 'enhancement'. There are a few things I think I will have to ask you to do, so probably doing it that way will be easier to keep track of.
@anowacki Thank you for your detailed comments! I am working my way through the issues now, and expect to get through them all by Monday.
To update on progress, I've implemented all but two of the blockers (continuous integration will take some thought), and expect to complete the issues marked "major" by the end of the week. Will update again when these are ready.
@VivianePons , I can do the review, as requested by your mail today.
Thank you! I am adding you as a reviewer
@whedon add @agricolab as reviewer
OK, @agricolab is now a reviewer
To update this thread, @anowacki I have implemented all but two (or three) of the comments.
Issue 18 I have worked on using Documenter.jl to the point where one can compile the documentation (though it is rudimentary now), but hosting from Bitbucket appears to be a non-standard thing. I will try to work around this and update on Monday. Issue 22 I will complete this on the weekend too. Issue 17 Coverage - will need to update test file to increase the coverage. Issue 15 ditto to updating test file.
@agricolab Feel free to submit your review in the form of issues, or in this thread.
I am currently in the process of reviewing, and will open issues in the main repo on bitbucket in the course of this week.
I assume that @lootie is indeed run by Charlotte Haley, there is no identifying information on this github account. Under these conditions, @lootie did contribute to the repository, as required by the general checks on contribution and authorship.
julia test/runtests.jl
. Sadly it seems automated tests failed at commit 5fbe288 with the following output:
Running tests:
Test Summary: | Pass Total
utils multitaper | 6 6
Test Summary: | Pass Total univariate multitaper | 24 24 Test Summary: | Pass Total crossings multitaper | 3 3 Test Summary: | Pass Total mdmwps multitaper | 9 9 multivariate multitaper: Error During Test at /media/user/sd/tools/julia/multitaper.jl/test/runtests.jl:13 Got exception outside of a @test LoadError: MethodError: no method matching Array{Int64,1}(::Float64) Closest candidates are: Array{Int64,1}() where T at boot.jl:425 Array{Int64,1}(!Matched::UndefInitializer, !Matched::Int64) where T at boot.jl:406 Array{Int64,1}(!Matched::UndefInitializer, !Matched::Int64...) where {T, N} at boot.jl:412 ... Stacktrace: [1] freq_to_int(::Float64, ::Int64, ::Float64) at /home/user/.julia/packages/Multitaper/cPkHj/src/Utils.jl:71 [2] (::Multitaper.var"#28#30"{Float64,Int64})(::Int64) at /home/user/.julia/packages/Multitaper/cPkHj/src/Univariate.jl:306 [3] map!(::Multitaper.var"#28#30"{Float64,Int64}, ::Array{Float64,1}, ::Base.OneTo{Int64}) at ./abstractarray.jl:2155 [4] multispec(::Array{Float64,1}; NW::Float64, K::Int64, dt::Float64, ctr::Bool, pad::Float64, dpVec::Array{Float64,2}, egval::Nothing, guts::Bool, a_weight::Bool, Ftest::Bool, highres::Bool, jk::Bool, Tsq::Array{Float64,1}, alph::Float64) at /home/user/.julia/packages/Multitaper/cPkHj/src/Univariate.jl:306 [5] (::Multitaper.var"#79#85"{Float64,Int64,Float64,Bool,Float64,Bool,Bool,Bool,Float64})(::Array{Float64,1}) at /home/user/.julia/packages/Multitaper/cPkHj/src/Multivariate.jl:313 [6] iterate at ./generator.jl:47 [inlined] [7] collect(::Base.Generator{Base.Generator{UnitRange{Int64},Multitaper.var"#80#86"{Array{Float64,2}}},Multitaper.var"#79#85"{Float64,Int64,Float64,Bool,Float64,Bool,Bool,Bool,Float64}}) at ./array.jl:686 [8] map at ./abstractarray.jl:2188 [inlined] [9] multispec(::Array{Float64,2}; outp::Symbol, NW::Float64, K::Int64, dt::Float64, ctr::Bool, pad::Float64, dpVec::Nothing, guts::Bool, a_weight::Bool, jk::Bool, Ftest::Bool, Tsq::Array{Float64,1}, alph::Float64) at /home/user/.julia/packages/Multitaper/cPkHj/src/Multivariate.jl:313 [10] top-level scope at /media/user/sd/tools/julia/multitaper.jl/test/multivariate_test.jl:9 [11] include(::String) at ./client.jl:457 [12] macro expansion at /media/user/sd/tools/julia/multitaper.jl/test/runtests.jl:14 [inlined] [13] macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1115 [inlined] [14] top-level scope at /media/user/sd/tools/julia/multitaper.jl/test/runtests.jl:14 [15] include(::Function, ::Module, ::String) at ./Base.jl:380 [16] include(::Module, ::String) at ./Base.jl:368 [17] exec_options(::Base.JLOptions) at ./client.jl:296 [18] _start() at ./client.jl:506 in expression starting at /media/user/sd/tools/julia/multitaper.jl/test/multivariate_test.jl:9
Test Summary: | Error Total multivariate multitaper | 1 1 ERROR: LoadError: Some tests did not pass: 0 passed, 0 failed, 1 errored, 0 broken. in expression starting at /media/user/sd/tools/julia/multitaper.jl/test/runtests.jl:12
Authors might want to fix automated test and/or add explicit test instructions.
Thank you, @agricolab, for your comments. I've made some changes below
I'll address the changes to the paper under "Statement of Need" and the bitbucket issue later today.
I would like to acknowledge @anowacki and @agricolab by name under the acknowledgements section of the manuscript, unless anyone objects. The feedback I've already received has been indispensable.
Thanks. I just noticed my comment in brackets on user stories was wrongly formatted. github treated '<>' as html and ignored them. Iremoved them. I will also browse through your toolbox a little bit more in the next days.
To continue the message from earlier, @agricolab , I have added a user story to the paper and docs under "Statement of need" here. I've also added my email to the relevant documents for support requests, as required. I've changed the verbiage under "Contributions" so it is clear that submitting issues via bitbucket is welcome.
I have tried to match the test file error message above with a build error for one of the commits, but haven't been able to line them up. Perhaps the package was installed using Pkg> add https://bitbucket.org/clhaley/Multitaper.jl.git
but then included a test file from a cloned version of the repo which is at a different commit? Pulling the latest commit, or using Pkg> test Multitaper
from the REPL ought to work.
Perhaps the package was installed using Pkg> add https://bitbucket.org/clhaley/Multitaper.jl.git but then included a test file from a cloned version of the repo which is at a different commit?
Yes! My fault, sorry.
So, I updated Multitaper and build it. When i run test Multitaper
from the Atom / Juno REPL, it errors out. With different errors, though (see below). When i run test either with julia test/runtest.jl
or julia -e 'import Pkg; Pkg.build(); Pkg.test("Multitaper"; coverage=true)'
from bash, it runs fine. So i tried import Pkg; Pkg.build(); Pkg.test("Multitaper"; coverage=true)
from the REPL, but it errors out. There seems to be an issue with Atom/Juno.
Consider Travis is fine, the errors the REPL throws all boil down to float imprecision, i'd say it's my machine, your package is not to blame, and tests do pass.
Spectrum analysis with gaps: Test Failed at /home/user/.julia/packages/Multitaper/qFw26/test/mdmwps_test.jl:34
Expression: ((out[1])[1]).S[end - 5:end] ≈ [0.14565610885883232, 0.13580424778417852, 0.1293182864247158, 0.1395702616312291, 0.1664040092175493, 0.09202992618124456]
Evaluated: [0.14543356846811006, 0.13562233447778846, 0.12902790267062653, 0.1390735544250517, 0.16571108838230617, 0.09180531734079359] ≈ [0.14565610885883232, 0.13580424778417852, 0.1293182864247158, 0.1395702616312291, 0.1664040092175493, 0.09202992618124456]
Stacktrace:
[1] top-level scope at /home/user/.julia/packages/Multitaper/qFw26/test/mdmwps_test.jl:34
[2] top-level scope at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1115
[3] top-level scope at /home/user/.julia/packages/Multitaper/qFw26/test/mdmwps_test.jl:34
Spectrum analysis with gaps: Test Failed at /home/user/.julia/packages/Multitaper/qFw26/test/mdmwps_test.jl:41
Expression: (out1[2])[end - 5:end] ≈ [17.444104148892166, 17.408259466237617, 17.382026447855413, 17.422494161582264, 17.506998428080035, 17.170675010806065]
Evaluated: [17.444213771865872, 17.40836462891643, 17.395835313061312, 17.422698686063306, 17.50720418110945, 17.170799445545875] ≈ [17.444104148892166, 17.408259466237617, 17.382026447855413, 17.422494161582264, 17.506998428080035, 17.170675010806065]
Stacktrace:
[1] top-level scope at /home/user/.julia/packages/Multitaper/qFw26/test/mdmwps_test.jl:41
[2] top-level scope at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1115
[3] top-level scope at /home/user/.julia/packages/Multitaper/qFw26/test/mdmwps_test.jl:34
Spectrum analysis with gaps: Test Failed at /home/user/.julia/packages/Multitaper/qFw26/test/mdmwps_test.jl:45
Expression: (out1[1]).Fpval[end - 5:end] ≈ [0.16807947246930965, 0.09822111646921738, 0.0341711343274661, 0.4933223598055142, 0.9312676978366197, 0.7307073177440282]
Evaluated: [0.16807735168842242, 0.09821956726975023, 0.03406832345614996, 0.49331774315244115, 0.9312668180688901, 0.7307054384542364] ≈ [0.16807947246930965, 0.09822111646921738, 0.0341711343274661, 0.4933223598055142, 0.9312676978366197, 0.7307073177440282]
Stacktrace:
[1] top-level scope at /home/user/.julia/packages/Multitaper/qFw26/test/mdmwps_test.jl:45
[2] top-level scope at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1115
[3] top-level scope at /home/user/.julia/packages/Multitaper/qFw26/test/mdmwps_test.jl:34
Test Summary: | Pass Fail Total
mdmwps multitaper | 6 3 9
Slepians with gaps | 1 1
Spectrum analysis with gaps | 2 3 5
Coherence with gaps | 1 1
Generalized Slepians | 2 2
If this degree of variation (up to 0.0007 per element) is to be expected between machines/versions, then it would be useful to add an appropriate value for rtol
or atol
to the approximate equality test so it still passes. Or if it isn't expected, then a fix should be found. (These differences are around 0.5% which doesn't seem totally insignificant and well above machine epsilon.)
Evaluated:
[0.14543356846811006, 0.13562233447778846, 0.12902790267062653, 0.1390735544250517, 0.16571108838230617, 0.09180531734079359] ≈
[0.14565610885883232, 0.13580424778417852, 0.1293182864247158, 0.1395702616312291, 0.1664040092175493, 0.09202992618124456]
@anowacki , you are probably right, although i hesitate to make this a blocker for publication, especially as it seems this is only my machine. Could you replicate the bug? I created an issue in the repo, in case we want to discuss this more https://bitbucket.org/clhaley/multitaper.jl/issues/33/floating-point-imprecision-with-tests-in
@agricolab No, I agree with you and I can't reproduce it. I too don't think it should be a blocker—there will be bugs and issues with all software, of course.
I browsed through the examples and explored a little bit more of the toolbox, and can now faithfully recommend for publication. Great job, and looking forward to see it being used!
Thanks for the offer to be mentioned in the acknowledgments, and the kind words, even if my contributions have certainly not been indispensible.
@whedon generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@VivianePons I can also say I'm happy with the paper now and have ticked all my boxes above. A very nice package, @lootie, and I hope you're happy with how it stands now. I would recommend registering the package once you have sorted out the compat bounds.
@anowacki @agricolab Thank you both for the comments regarding the interesting behavior in Atom/Juno. I am unable to replicate this either, but I'm inclined to increase the tolerance for the mdmultispec
test that failed, for the time being. I'll update the bitbucket issue once I make the change.
Thank you for your effort in checking the package over in detail. I'm very pleased with the results of this review.
@whedon generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
Submitting author: @lootie (Charlotte Haley) Repository: https://bitbucket.org/clhaley/Multitaper.jl Version: 1.1.0 Editor: @VivianePons Reviewers: @anowacki, @agricolab Archive: 10.5281/zenodo.4274772
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
Status
Status badge code:
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
Reviewer instructions & questions
@anowacki & @agricolab, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @VivianePons know.
✨ Please try and complete your review in the next six weeks ✨
Review checklist for @anowacki
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @agricolab
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @daviddewhurst (partial review)
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @felixcremer (partial review)
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper