Skip to content

[REVIEW]: IFermi: A python library for Fermi surface generation and analysis #3089

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

Closed
40 tasks done
whedon opened this issue Mar 4, 2021 · 49 comments
Closed
40 tasks done
Assignees
Labels
accepted published Papers published in JOSS Python recommend-accept Papers recommended for acceptance in JOSS. review

Comments

@whedon
Copy link

whedon commented Mar 4, 2021

Submitting author: @utf (Alex Ganose)
Repository: https://github.com/fermisurfaces/IFermi
Version: v0.2.3
Editor: @danielskatz
Reviewer: @arosen93, @lucydot
Archive: 10.5281/zenodo.4609270

⚠️ JOSS reduced service mode ⚠️

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

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/59fa1c336b832a772f30b85bfbc2efdc"><img src="https://joss.theoj.org/papers/59fa1c336b832a772f30b85bfbc2efdc/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/59fa1c336b832a772f30b85bfbc2efdc/status.svg)](https://joss.theoj.org/papers/59fa1c336b832a772f30b85bfbc2efdc)

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

@arosen93 & @lucydot, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @danielskatz know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Review checklist for @arosen93

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@utf) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Does the paper have a section titled 'Statement of Need' that clearly states what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • 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

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

Review checklist for @lucydot

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@utf) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Does the paper have a section titled 'Statement of Need' that clearly states what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • 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

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?
@whedon
Copy link
Author

whedon commented Mar 4, 2021

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @arosen93, @lucydot it looks like you're currently assigned to review this paper 🎉.

⚠️ JOSS reduced service mode ⚠️

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.

⭐ Important ⭐

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:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

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

@whedon
Copy link
Author

whedon commented Mar 4, 2021

Software report (experimental):

github.com/AlDanial/cloc v 1.88  T=0.67 s (61.2 files/s, 402029.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
XML                              1              0              0          40230
Python                          17            915           1283           2844
reStructuredText                 9            225            221            343
SVG                              6              0              6            277
Markdown                         2             56              0            150
YAML                             3             26              0            106
Jupyter Notebook                 1              0         222685             79
CSS                              1              1              2              6
HTML                             1              0              0              3
-------------------------------------------------------------------------------
SUM:                            41           1223         224197          44038
-------------------------------------------------------------------------------


Statistical information for the repository 'f4e3be367a80be13694bfb85' was
gathered on 2021/03/04.
The following historical commit information, by author, was found:

Author                     Commits    Insertions      Deletions    % of changes
Alex Ganose                    153          8395          18247           39.43
Amy                              3          1035            438            2.18
Amy Jade Searle                  8         25777            771           39.29
Amy Searle                      15           852            399            1.85
Katherine Inzani                 1             1              0            0.00
Matthew Horton                   8           106              9            0.17
ajsearle97                      10           136          11403           17.08

Below are the number of rows from each author that have survived and are still
intact in the current revision:

Author                     Rows      Stability          Age       % in comments
Alex Ganose                4770           56.8          2.2                9.20
Amy                           5            0.5         18.3                0.00
Amy Jade Searle              97            0.4         15.8                9.28
Amy Searle                  105           12.3          0.2                7.62
Matthew Horton               60           56.6          5.7               20.00
ajsearle97                    5            3.7          8.8                0.00

@whedon
Copy link
Author

whedon commented Mar 4, 2021

PDF failed to compile for issue #3089 with the following error:

Can't find any papers to compile :-(

@danielskatz
Copy link

danielskatz commented Mar 4, 2021

@arosen93 and @lucydot - Thanks for agreeing to review this submission.
This is the review thread for the paper. All of our communications will happen here from now on.

Both reviewers have checklists at the top of this thread with the JOSS requirements. As you go over the submission, please check any items that you feel have been satisfied. There are also links to the JOSS reviewer guidelines.

Please read the first couple of comments in this issue carefully, so that you can accept the invitation from JOSS and be able to check items, and so that you don't get overwhelmed with notifications from other activities in JOSS.

The JOSS review is different from most other journals. Our goal is to work with the authors to help them meet our criteria instead of merely passing judgment on the submission. As such, the reviewers are encouraged to submit issues and pull requests on the software repository. When doing so, please mention #3089 so that a link is created to this thread (and I can keep an eye on what is happening). Please also feel free to comment and ask questions on this thread. In my experience, it is better to post comments/questions/suggestions as you come across them instead of waiting until you've reviewed the entire package.

We aim for reviews to be completed within about 2-4 weeks. Please let me know if any of you require some more time. We can also use Whedon (our bot) to set automatic reminders if you know you'll be away for a known period of time.

Please feel free to ping me (@danielskatz) if you have any questions/concerns.

@danielskatz
Copy link

@whedon generate pdf from branch paper

@whedon
Copy link
Author

whedon commented Mar 4, 2021

Attempting PDF compilation from custom branch paper. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Mar 4, 2021

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@Andrew-S-Rosen
Copy link

Fantastic. I plan to start my review towards the latter half of next week. Looking forward to learning about IFermi!

@lucydot
Copy link

lucydot commented Mar 10, 2021

Hello @utf, I started reviewing today.

On first impressions, the repo looks excellent. I am fairly certain I will be using this for my own research in the future so I'm happy to be reviewing it.

I had a little hiccup with install - I wouldn't call it a Bug, but to not clutter this issue thread (and to keep the review process within Github), I have raised it at fermisurfaces/IFermi#17 .

A couple of suggestions around testing: fermisurfaces/IFermi#18

On my first pass through the documentation (without actually trying anything out yet) I've noted a couple of things: fermisurfaces/IFermi#19

I'll take a closer look at the code itself in the next few days.

@Andrew-S-Rosen
Copy link

Andrew-S-Rosen commented Mar 10, 2021

@utf: I just read through the paper. It is clearly written, has a nice introduction to the importance of Fermi surfaces, discusses prior software in this area, and makes it clear where IFermi fits within the existing software ecosystem. As such, I have no major suggestions for changes to the text.

I only have a couple very trivial comments on the paper, unrelated to the software or science underlying the work.

  • In the Summary: "IFermi is Python library..." --> "IFermi is a Python library..."
  • The "author" for the Plotly citation got a bit truncated (Inc., P.T. instead of Plotly Technologies Inc.).

@utf
Copy link

utf commented Mar 10, 2021

Thanks for catching those errors @arosen93. I've updated the manuscript accordingly.

@utf
Copy link

utf commented Mar 10, 2021

@whedon generate pdf from branch paper

@whedon
Copy link
Author

whedon commented Mar 10, 2021

Attempting PDF compilation from custom branch paper. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Mar 10, 2021

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@Andrew-S-Rosen
Copy link

Andrew-S-Rosen commented Mar 15, 2021

@danielskatz, @utf:

I have concluded my review of IFermi. In short, IFermi is an excellent software package that I believe should be published in JOSS.

Overall, I am incredibly pleased with the detailed documentation, easy-to-follow tutorials, and accessible code layout. I believe that this will become the de facto tool for generating and analyzing Fermi surfaces for VASP users (and hopefully users of other codes once these features are added). I raised a few minor issues on the GitHub page, mainly with regards to the documentation, that have all been addressed to my satisfaction.

With regards to the accompanying paper, it clearly explains the purpose of IFermi. For comparison's sake, I tried out what I feel to be one of the closest packages to IFermi, PyProcar, to compare the two codes. Like IFermi, PyProcar has its own features for visualizing Fermi surface and allows for surface coloring based on properties. While there are many similarities, I came away from this exercise feeling that IFermi is still an important contribution to the field. As the authors aptly note in the accompanying manuscript, it is quite easy to analyze and modify the Fermi surfaces once generated with IFermi (since it's stored as a very convenient Python object). This was a clear advantage to me. The claim of novelty regarding the dimensionality determination is also accurate to the best of my knowledge. All in all, I agree with the statement of need and advertised features of IFermi.

Thank you for the opportunity to review IFermi. I am happy to recommend its acceptance in JOSS.

@danielskatz
Copy link

Thanks @arosen93!
@lucydot - how is your review coming?

@lucydot
Copy link

lucydot commented Mar 16, 2021

@danielskatz I'm in the process of working through the tutorials for my own dataset - I'll report back later today. All good so far!

@whedon
Copy link
Author

whedon commented Mar 17, 2021

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@danielskatz
Copy link

@utf - this looks good, except for one minor issue that I've proposed a change for in fermisurfaces/IFermi#24

@utf
Copy link

utf commented Mar 17, 2021

Thanks @danielskatz. I've merged your PR.

@utf
Copy link

utf commented Mar 17, 2021

@whedon generate pdf from branch paper

@whedon
Copy link
Author

whedon commented Mar 17, 2021

Attempting PDF compilation from custom branch paper. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Mar 17, 2021

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@danielskatz
Copy link

@whedon accept from branch paper

@whedon
Copy link
Author

whedon commented Mar 17, 2021

Attempting dry run of processing paper acceptance...

@whedon whedon added the recommend-accept Papers recommended for acceptance in JOSS. label Mar 17, 2021
@whedon
Copy link
Author

whedon commented Mar 17, 2021

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1080/10867651.2003.10487582 is OK
- 10.1016/j.commatsci.2012.10.028 is OK
- 10.1016/s1093-3263(99)00028-5 is OK
- 10.1109/mcse.2007.55 is OK
- 10.1088/0031-8949/91/5/053009 is OK
- 10.1088/0370-1328/80/2/316 is OK
- 10.1103/PhysRevResearch.3.013069 is OK
- 10.1103/PhysRevApplied.14.024064 is OK
- 10.1016/j.cpc.2019.107080 is OK
- 10.1016/j.cpc.2019.01.017 is OK
- 10.1016/j.cpc.2018.05.010 is OK
- 10.1088/0953-8984/14/11/301 is OK
- 10.1088/1361-648X/ab4007 is OK
- 10.1109/MCSE.2011.35 is OK
- 10.7717/peerj.453 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@whedon
Copy link
Author

whedon commented Mar 17, 2021

👋 @openjournals/joss-eics, this paper is ready to be accepted and published.

Check final proof 👉 openjournals/joss-papers#2150

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#2150, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true from branch paper 

@danielskatz
Copy link

@whedon accept deposit=true from branch paper

@whedon whedon added accepted published Papers published in JOSS labels Mar 17, 2021
@whedon
Copy link
Author

whedon commented Mar 17, 2021

Doing it live! Attempting automated processing of paper acceptance...

@whedon
Copy link
Author

whedon commented Mar 17, 2021

🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦

@whedon
Copy link
Author

whedon commented Mar 17, 2021

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 Creating pull request for 10.21105.joss.03089 joss-papers#2151
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.03089
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? Notify your editorial technical team...

@danielskatz
Copy link

Congratulations to @utf (Alex Ganose) and co-authors!!

And thanks to @arosen93 and @lucydot for a very quick and easy review process!

@whedon
Copy link
Author

whedon commented Mar 17, 2021

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](https://joss.theoj.org/papers/10.21105/joss.03089/status.svg)](https://doi.org/10.21105/joss.03089)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.03089">
  <img src="https://joss.theoj.org/papers/10.21105/joss.03089/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.03089/status.svg
   :target: https://doi.org/10.21105/joss.03089

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

@utf
Copy link

utf commented Mar 17, 2021

Thank you everyone!

@utf
Copy link

utf commented Mar 17, 2021

Hi @danielskatz, the paper pdf isn't loading on https://joss.theoj.org/papers/10.21105/joss.03089

Just checking if this is usual and I need to wait a little bit?

@Andrew-S-Rosen
Copy link

For what it's worth, it loads just fine for me. Maybe it's related to an ad-blocker or something similar?

@utf
Copy link

utf commented Mar 17, 2021

Strange, on Safari nothing loads but on Chrome I see:

Screenshot 2021-03-16 at 18 51 51

I will see if this has fixed itself by tomorrow.

@Andrew-S-Rosen
Copy link

Very odd! Well, here's a sneak peak I guess! Works fine for me on Chrome and Edge even though you get the 404. Hopefully @danielskatz can provide some insight.

image

@danielskatz
Copy link

It worked for me on Safari - a check of it is the last thing I do before closing an issue. It's likely a caching problem somewhere - If you are on a wifi network, you could try on a phone network or something like that, or just wait a bit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted published Papers published in JOSS Python recommend-accept Papers recommended for acceptance in JOSS. review
Projects
None yet
Development

No branches or pull requests

5 participants