Closed whedon closed 6 years ago
Hello human, I'm @whedon. I'm here to help you with some common editorial tasks. @ajjackson it looks like you're currently assigned as the reviewer for this paper :tada:.
: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
Attempting PDF compilation. Reticulating splines etc...
Here is my first pass:
Hi @bocklund and thank you for taking the time to look over effmass
pip install effmass=1.0b3
CODE_OF_CONDUCT.md
and link to it from the README.md
README.md
.@lucydot, thanks for your response. Looks good to me.
cc @katyhuff
Excellent! Thank you for your review @bocklund .
@ajjackson are you still interested in completing a review of this work?
@mkhorton -- it looks like you've begun your review. How is the remainder of the review process going?
Yes, I have been looking at it today!
As Lucy mentioned in the Pre-review thread, we were members of the same research group a little over two years ago but we never published together. I was not aware of the existence of this code until asked to review it.
I will check off what I can now and then try out the code on some fresh data.
@katyhuff I had trouble running the tests, but wanted to investigate further before commenting (it might be my own issue), otherwise looking good.
I do echo @bocklund's comment though that since pymatgen is already a requirement of this package, it would be good to support pymatgen's own native pymatgen.io.vasp classes. I don't think this has any impact on the review however (as a disclaimer, I have contributed to pymatgen myself).
One point I did want to make, is that according to JOSS' stated policy on novel software:
Submissions that implement solutions already solved in other software packages are accepted into JOSS provided that they meet the criteria listed above and cite prior similar work.
There are a few other related packages that also try to calculate effective mass. I think effmass goes further than these other tools do, but it would be good to mention them in the paper.md:
As a developer of Sumo (which is also going through JOSS review), I am comfortable with the amount of overlap between effmass and Sumo. Effmass is more flexible for effective mass fitting and concentrates on providing a toolkit for analysis. Sumo is a suite of command-line tools; it is more opinionated and "fire-and-forget", with a less Python-adept target audience.
In general effmass seems to be packaged and documented very nicely. I need to take a bit more time to play with the actual functionality. Here are some comments in the meantime:
analysis.py
so seems to be a required module. It is one of Pymatgen's many dependencies so the installers work, but this seems inconsistent when other packages installed by Pymatgen are listed explicity.@bocklund and @mkhorton have both noted the Pymatgen dependency as a basis for further development. Poking around though, I'm not sure that effmass actually uses Pymatgen at all? Perhaps I've missed something, but as far as I can see it's just a side-effect of installing Vasppy?
@ajjackson yeah, it's a little weird -- I'm not actually familiar with vasppy, but it looks like pymatgen is a dependency of vasppy but it doesn't actually use pymatgen much. In particular, vasppy itself doesn't seem to build on pymatgen's VASP classes, but rather has its own VASP classes, which means building in pymatgen support to effmass would indeed be a bit trickier. (Hello by the way, it's a small world -- I didn't realise you were a developer of sumo!)
Thank you @ajjackson and @mkhorton for your suggestions.
I've added a Related packages
section to the paper.md. This has also been added as a new page in RTD, and a link to this page has been added to the README.
I have explicitly stated the target audience as part of the Related packages
documentation (see above).
I have included explicit mention of the scipy, numpy and matplotlib packages as suggested.
Thank-you for pointing out I had missed listing scipy as a dependency in in requirements.txt and setup.py - this was an oversight and it is now added.
I haven't included pymatgen as effmass does not make use of this (it is only installed as it is a dependency of vasppy). To enable easy extension to other electronic structure code outputs, there is definitely an argument for losing the vasppy dependency and using pymatgen instead, though this would involve re-writing a significant part of the code.
Thank you @lucydot . It looks like you've addressed the reviewer comments. Let's see if they can recommend publication.
@mkhorton & @ajjackson : Thank you for your reviews. Do you have any remaining comments? Are you ready to make a final recommendation for acceptance based on this response, or would you like more time to explore the package?
I've updated my checklist. Ideally, I'd like some further time to play with this to check off the remaining items, but I'm happy to defer to the other referees if they're happy to accept now -- it certainly seems like a very nicely structured package and will be a valuable addition to the community.
Thanks @mkhorton . Feel free to explore a bit more. I'll check back in next week.
I have worked through the Jupyter tutorial and was able to follow it and reproduce the plots without any trouble. It gives an applied overview of features; the comparison with DOS filling is a nice touch.
I'd like to throw some of my own data into the mix before signing off
Thanks for the feedback @ajjackson:
Review updates:
Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)? In general effmass is following best practice in the use of Python docstrings and automatically-generated documentation. I have checked this off as satisfactory, with the following observations:
References It's difficult to check the references since the paper was updated as the PDF manuscript hasn't been rebuilt. I don't see a formal academic citation for the Seebeck effective mass paper (is that deliberate to indicate that it isn't used in this package?), or for pymatgen (https://doi.org/10.1016/j.commatsci.2012.10.028).
Functionality My attempt to test with independent data was foiled by some issues with partial occupancies; I will have another go before signing off if that's ok. https://github.com/lucydot/effmass/issues/5
@whedon generate pdf
Attempting PDF compilation. Reticulating splines etc...
@ajjackson please see built pdf below (to see what whedon can do, you can execute @whedon commands
at any time)
@ajjackson regarding your concern about api docs, the readme for the repo links to these API docs which seem quite sufficient to me : https://effmass.readthedocs.io/en/latest/
I agree they are sufficient, it's not a big deal :-) I was referring to pages such as https://effmass.readthedocs.io/en/latest/API%20documentation.html which currently contains links without descriptions. This is very common in automatically generated documentation.
Ah, I misunderstood. Your comment initially made me think you couldn't find your way to the API pages. (apologies)
Yes, I agree this is the default sphinx/readthedocs behavior. More might be better on that page, perhaps. But in this case, I think the docs are strong and it's not necessary if the reader has the patience to click through the links.
@lucydot running python setup.py test
fails with:
File ".../effmass/tests/test_inputs.py", line 10, in <module>
(pytest.lazy_fixture('MAPI_settings_object'), 0.025, 0.25),
AttributeError: module 'pytest' has no attribute 'lazy_fixture'
Your tests are working correctly with python -m pytest
as recommended by your README, so this is not a bug, but I thought I'd bring this to your attention since it might trip people up.
I've raised an issue here about spin-polarised calculations, happy to tick the last box once that's resolved!
I intend to use this package. It provides convenient comparison of different fitting methods, which is a good sanity check, and implements a superior weighted method for effective-mass determination. The Kane model implementation provides a useful way of quantifying non-parabolicity. The packaging follows best practices, and decent API documentation is accompanied by a useful tutorial.
@whedon generate pdf
Attempting PDF compilation. Reticulating splines etc...
Thanks for the feedback @mkhorton and @ajjackson, it is really useful. @ajjackson I am chuffed you are planning to make use of it :smiley:
@mkhorton thanks for pointing out the possible testing pitfall, I've raised it as an issue on the repo.
Functionality:
Documentation:
References
This looks like a very comprehensive response @lucydot . I think that these changes are sufficient and hopefully @ajjackson will confirm. Assuming this is confirmed, I think this is ready to accept. I know you intend to include a reference to the sumo JOSS paper, but I don't think the review process for sumo should delay the review process for this work. If a reference to the sumo repository can be added, perhaps that is a good middle ground.
In any case, as soon as we get confirmation from @ajjackson that these issues satisfy the concerns, this will be ready to accept. At that point, @lucydot , could you please make an archive of the reviewed software in Zenodo/figshare/other service and update this thread with the DOI of the archive? I can then move forward with accepting the submission.
Yes, I'd like to sort out the discrepancy with the sumo package in issue #7 - it looks like effmass is not handling spin-polarised data properly.
Yes, Issue 5 (partial occupancy) is fine now. Just waiting on issue 7 which affects the calculated values.
Latest commit to master fixes issue 7- thank-you for finding this bug @ajjackson, it was an important one!
Fantastic. At this point, @lucydot , could you please make an archive of the reviewed software in Zenodo/figshare/other service and update this thread with the DOI of the archive? I can then move forward with accepting the submission!
Issue 7 is not quite closed (but very close!), when it is I will archive and update this thread.
Ah, I misunderstood the previous comment. Thanks.
Issue 7 looks good now, I have ticked off "functionality".
Excellent. @lucydot when you make archive of the reviewed software in Zenodo/figshare/other service, please just update this thread with the DOI of the archive and we'll move forward with acceptance! (You may want to be sure to double check the paper, all minor details, etc. before creating the archive).
@whedon generate pdf
Attempting PDF compilation. Reticulating splines etc...
@whedon generate pdf
Attempting PDF compilation. Reticulating splines etc...
@whedon generate pdf
Attempting PDF compilation. Reticulating splines etc...
Submitting author: @lucydot (Lucy Whalley) Repository: https://github.com/lucydot/effmass Version: v1.0.b1 Editor: @katyhuff Reviewers: @ajjackson, @bocklund, @mkhorton Archive: 10.5281/zenodo.1338919
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) 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
@ajjackson, 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.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @katyhuff know.
Review checklist for @bocklund
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
paper.md
file include a list of authors with their affiliations?Review checklist for @ajjackson
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
paper.md
file include a list of authors with their affiliations?Review checklist for @mkhorton
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
paper.md
file include a list of authors with their affiliations?paper.md has references in the text, but is lacking the actual references at the end of the document(?), I think it just has to be re-built