Skip to content
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

[REVIEW]: PyGDH ("pigged"): Python Grid Discretization Helper #2744

Closed
40 tasks done
whedon opened this issue Oct 12, 2020 · 67 comments
Closed
40 tasks done

[REVIEW]: PyGDH ("pigged"): Python Grid Discretization Helper #2744

whedon opened this issue Oct 12, 2020 · 67 comments
Assignees
Labels
accepted published Papers published in JOSS Python recommend-accept Papers recommended for acceptance in JOSS. review Shell TeX

Comments

@whedon
Copy link

whedon commented Oct 12, 2020

Submitting author: @kfhiga (Kenneth Higa)
Repository: https://bitbucket.org/berkeleylab/esdr-pygdh/
Version: 0.4.3
Editor: @melissawm
Reviewer: @JamieJQuinn, @zhaowei0566
Archive: 10.5281/zenodo.4556303

⚠️ 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/a5c27a933efb1e4dfa308059de26d0f2"><img src="https://joss.theoj.org/papers/a5c27a933efb1e4dfa308059de26d0f2/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/a5c27a933efb1e4dfa308059de26d0f2/status.svg)](https://joss.theoj.org/papers/a5c27a933efb1e4dfa308059de26d0f2)

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

@JamieJQuinn & @zhaowei0566, 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 @melissawm 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 @JamieJQuinn

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 (@kfhiga) 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: Do the authors clearly state 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 @zhaowei0566

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 (@kfhiga) 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: Do the authors clearly state 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 Oct 12, 2020

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @JamieJQuinn, @zhaowei0566 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 Oct 12, 2020

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

OK DOIs

- 10.11588/ans.2015.100.20553 is OK
- 10.1515/jnum-2012-0013 is OK
- 10.1109/MCSE.2009.52 is OK
- 10.1109/mcse.2011.37 is OK
- 10.1038/s41592-019-0686-2 is OK
- 10.1109/MCSE.2007.55 is OK
- 10.1109/MCSE.2010.118 is OK
- 10.1149/2.0091507jes is OK

MISSING DOIs

- None

INVALID DOIs

- None

@whedon
Copy link
Author

whedon commented Oct 12, 2020

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

@melissawm
Copy link

👋🏼 @kfhiga @JamieJQuinn @zhaowei0566 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.

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 openjournals/joss-reviews#2744 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 (@melissawm) if you have any questions/concerns.

@kfhiga
Copy link

kfhiga commented Oct 12, 2020 via email

@JamieJQuinn
Copy link

Repo is on Bitbucket so couldn't link this repo directly. Added a few issues about installation on non-Debian systems.

@melissawm
Copy link

👋 Hello all, just checking in to see if there's anything I can help you with.

@kfhiga
Copy link

kfhiga commented Oct 28, 2020 via email

@melissawm
Copy link

No problem! This is the first time I edit a submission that is not on github, so I'm new to this workflow as well. Glad to see things are ok, please ping me if there's any questions or comments. Thanks!

@JamieJQuinn
Copy link

I'm happy to accept this with a few changes, mostly to the documentation:

Documentation:

  • I found the SPHINX annotations distracting; I imagine they would be very confusing to a new python user. Can these be removed from the examples in the documentation? I think they're fine in the actual example code.
  • I don't think the full source code for each example is required in the documentation. It's easy enough for a user to grab the examples from the repo. Additionally, it may help to shorten the length of the documentation file (which may be intimidating for new users). Could the full example code be removed from the end of each section?
  • There's a statement at the end of page one of the documentation:
    "Users should be warned that although PyGDH has been successfully used in past and ongoing research products andis anticipated to be useful to others, it is still under development and should not be considered to be well-tested, stablesoftware."
    I would expect some users to read this and be unsure about whether the results of code using pygdh can be trusted, however you've stated that the numpy solvers are used, which are very mature and well-tested. Additionally, you provide a number of examples with analytical comparisons so in my opinion, the code is well validated, if not widely verified through community use. Could this statement be reworded to reflect that the code has been validated with test problems and uses a mature solver under the hood?
  • I'd suggest changing section 3.3.1 so that it doesn't look so much like a full example. I personally followed that as if it were a functioning example only to find out there were parts missing. Perhaps this section could instead just describe the program structure without examples and then use the working example in 3.4 to illustrate those. The initial paragraph in 3.3.1 is sufficient in my opinion.

Code:

  • The examples folder is very busy due to all the example code & outputs being in one single folder. Can these be split into one folder per example?
  • I like the level of detail in what the code prints as it runs however it could be clearer what is an info statement, a warning, or an error. Could the difference between info, warnings and errors be made clearer, e.g. replacing statements like '! example error" with "ERROR: example error" and "INFO: creating domain"?

Otherwise I think this is a great package for an domain scientist who just wants some results without getting too deep into the nitty-gritty. As much as I feel I've torn apart the documentation (sorry!), it's a fantastic introduction for a new user, both to the software and to solving these kind of problems numerically. Similarly, the breadth of the provided examples in impressive and they seem to provide a comprehensive view of the problems solvable with pygdh.

@kfhiga
Copy link

kfhiga commented Nov 15, 2020 via email

@zhaowei0566
Copy link

Thank the authors @kfhiga for sharing with the science community an open source code for studying time-dependent and nonlinear user-discretized equations on 0D, 1D, and simple 2D spatial domains using the finite volume method. This may be very useful for people, like me, working on unsteady aerodynamics. I don’t have questions about the technical stuff behind the code as they have been presented in the authors’ another publish work. The code is well written. I installed the code followings the steps using the code given in Downloads page and ran it successfully. The authors prepared a well-organized document. Thanks. I recommend to accept it with minor changes @melissawm

  1. Summary in the article
  • Can you please name the software in the article before the reference, for example, “Many user-friendly open source packages,such as (J. E. Guyer & Warren,2009), and many commercial packages, such as (COMSOLAB,n.d.), (Siemens Digital Industries Software,n.d.),” before “as (J. E. Guyer & Warren,2009)” Could you please list the name so that readers do not need to go to reference to check what software you talked?
  1. Suggestions:
  • Please check citing.rst where you provided the link seems not correct, cannot redirect to a relevant paper (see Chapter Five in Document)
  • In the main folder esdr-pygdh, there are three files related to license, just leave one of them to make the code as concise as possible, same for “README”
  • Any plan to package them so that people can use pip install or conda install, etc.?

@melissawm
Copy link

Thank you all! Can I ask that you confirm (and tag me) once those suggestions have been made and both @zhaowei0566 and @JamieJQuinn are satisfied so we can move to acceptance?

@kfhiga
Copy link

kfhiga commented Nov 23, 2020 via email

@melissawm
Copy link

Hello, all! Any updates, @kfhiga ?

@kfhiga
Copy link

kfhiga commented Dec 14, 2020 via email

@melissawm
Copy link

Hello, all! I see that all boxes are ticked at the reviewer's checklists. Do you have any pending issues to resolve before we move on? Can @kfhiga @JamieJQuinn @zhaowei0566 confirm if we are ready to go? :)

@kfhiga
Copy link

kfhiga commented Dec 21, 2020 via email

@kfhiga
Copy link

kfhiga commented Dec 23, 2020 via email

@JamieJQuinn
Copy link

@melissawm I'm happy accepting this. @kfhiga thatnks for your work addressing our concerns; this is a great piece of software!

Cheers,
Jamie

@kfhiga
Copy link

kfhiga commented Dec 26, 2020 via email

@zhaowei0566
Copy link

Thanks for taking care of my comments. I don't have any further. I recommend to accept the present version. Congratulations! @kfhiga @melissawm

@melissawm
Copy link

Hello, @kfhiga - it seems like this DOI link is broken, can you check to see what's happening? Thanks!

@kfhiga
Copy link

kfhiga commented Feb 23, 2021 via email

@melissawm
Copy link

Sorry for the delay, thanks for the information. I'll go through with acceptance.

@melissawm
Copy link

@whedon set 10.5281/zenodo.4556303 as archive

@whedon
Copy link
Author

whedon commented Mar 2, 2021

OK. 10.5281/zenodo.4556303 is the archive.

@melissawm
Copy link

@whedon set 0.4.3 as version

@whedon
Copy link
Author

whedon commented Mar 2, 2021

OK. 0.4.3 is the version.

@melissawm
Copy link

@whedon accept

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

whedon commented Mar 2, 2021

Attempting dry run of processing paper acceptance...

@whedon
Copy link
Author

whedon commented Mar 2, 2021

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

OK DOIs

- 10.11588/ans.2015.100.20553 is OK
- 10.1515/jnum-2012-0013 is OK
- 10.1109/MCSE.2009.52 is OK
- 10.1109/mcse.2011.37 is OK
- 10.1038/s41592-019-0686-2 is OK
- 10.1109/MCSE.2007.55 is OK
- 10.1109/MCSE.2010.118 is OK
- 10.1149/2.0091507jes is OK

MISSING DOIs

- None

INVALID DOIs

- None

@whedon
Copy link
Author

whedon commented Mar 2, 2021

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

Check final proof 👉 openjournals/joss-papers#2123

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

@whedon accept deposit=true

@danielskatz
Copy link

@whedon accept deposit=true

@whedon
Copy link
Author

whedon commented Mar 2, 2021

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

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

whedon commented Mar 2, 2021

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

@whedon
Copy link
Author

whedon commented Mar 2, 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.02744 joss-papers#2124
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.02744
  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 @kfhiga (Kenneth Higa) and co-authors!!

And thanks to @JamieJQuinn and @zhaowei0566 for reviewing, and @melissawm for editing!

@whedon
Copy link
Author

whedon commented Mar 2, 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.02744/status.svg)](https://doi.org/10.21105/joss.02744)

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

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

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:

@kfhiga
Copy link

kfhiga commented Mar 2, 2021 via email

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 Shell TeX
Projects
None yet
Development

No branches or pull requests

7 participants