openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
714 stars 38 forks source link

[REVIEW]: šš—šš›š™²ššŠššœššŒššŠššššŽšš‚šš’šš– -- A simulation tool for nuclear recoil cascades resulting from neutron capture #3993

Closed whedon closed 2 years ago

whedon commented 2 years ago

Submitting author: !--author-handle-->@villaa<!--end-author-handle-- (Anthony Villano) Repository: https://github.com/villano-lab/nrCascadeSim Branch with paper.md (empty if default branch): Version: v1.4.0 Editor: !--editor-->@lucydot<!--end-editor-- Reviewers: @matthewfeickert, @altavir Archive: 10.5281/zenodo.6056681

: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

Status badge code:

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

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

@matthewfeickert & @altavir, 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 @lucydot 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 @matthewfeickert

āœØ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. āœØ

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Review checklist for @altavir

āœØ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. āœØ

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

matthewfeickert commented 2 years ago

These comments are a follow up to my review on 2022-01-17 (https://github.com/openjournals/joss-reviews/issues/3993#issuecomment-1015075303) and pertain to release v1.4.0 of the software.

Notes on completion of previous recommendations

The change to CMake looks great and you have nice clean out-of-source builds now! :+1:

Example in Docker container: ```console $ docker run --rm -ti -v $PWD:$PWD -w $PWD atlasamglab/stats-base:root6.24.06 root@ce876ebc60e7:/tmp/JOSS# git clone --depth 1 https://github.com/villano-lab/nrCascadeSim.git --branch v1.4.0 --single-branch root@ce876ebc60e7:/tmp/JOSS# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/venv -S nrCascadeSim -B build # Using /usr/local/venv as it is already on PATH root@ce876ebc60e7:/tmp/JOSS# cmake build -LH root@ce876ebc60e7:/tmp/JOSS# cmake \ --build build \ --clean-first \ --parallel $(($(nproc) - 1)) root@ce876ebc60e7:/tmp/JOSS# ls -lhtra build/ total 196K drwxrwxr-x 4 1000 1000 4.0K Feb 19 03:50 .. -rw-r--r-- 1 root root 19K Feb 19 03:50 CMakeCache.txt -rw-r--r-- 1 root root 5.7K Feb 19 03:50 cmake_install.cmake -rw-r--r-- 1 root root 23K Feb 19 03:50 Makefile -rwxr-xr-x 1 root root 25K Feb 19 03:50 regexPlayground drwxr-xr-x 2 root root 4.0K Feb 19 03:50 lib drwxr-xr-x 4 root root 4.0K Feb 19 03:50 . -rwxr-xr-x 1 root root 99K Feb 19 03:50 realizeCascades drwxr-xr-x 15 root root 4.0K Feb 19 03:50 CMakeFiles root@ce876ebc60e7:/tmp/JOSS# cmake --build build --target install root@ce876ebc60e7:/tmp/JOSS# command -v realizeCascades /usr/local/venv/bin/realizeCascades root@ce876ebc60e7:/tmp/JOSS# realizeCascades --help Usage: (null) options [ inputfile(s) ] -d, --seed Seed for random numbers -h, --help Print usage -n, --numgen Number of traces to generate -o, --outfile Name the output file -s, --silent Silent, no standard out -v, --verbose Print verbose messages at level . Currently must use `--verbose=` or `-v` - no spaces. -V, --version Print version and exit -l, --log Log additional output to the specified file. If this option is not used, no logging will occur. Report bugs to: villaa-at-gmail-dot-com realizeCascades (nrCascadeSim) home page: General help nrCascadeSim Software: root@ce876ebc60e7:/tmp/JOSS# time realizeCascades --verbose -n 100000 -o output.root nrCascadeSim/levelfiles/Si28_ngam_all_cascades_rfmt_sorted.txt nrCascadeSim/levelfiles/Si28_ngam_all_cascades_rfmt_sorted.txt Seed used: 3691720898 MT Result: 0.684558 real 0m1.881s user 0m1.743s sys 0m0.108s root@ce876ebc60e7:/tmp/JOSS# cd build/ root@ce876ebc60e7:/tmp/JOSS/build# make uninstall Scanning dependencies of target uninstall Built target uninstall root@ce876ebc60e7:/tmp/JOSS/build# ls /usr/local/venv/bin/realizeCascades ls: cannot access '/usr/local/venv/bin/realizeCascades': No such file or directory ```

Small note: The v1.4.0 Download & Build docs suggest to use the legacy in source build pattern and to change to Make right away

mkdir -p /path/to/build
cd /path/to/build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/install /path/to/source
make

While not wrong, the legacy pattern isn't needed and even on old/stability focused operating systems like CentOS 7 in almost every situation in which software development is happening you'll have access to devtoolset-7 or newer in which cmake(3) is available. So I'd recommend using the pattern of

$ cmake <options> -S <path to source> -B <path to build directory to make>
$ cmake <path to build directory> -LH  # See all of the options you've selected in a human readable form before build
$ cmake --build <path to build directory> --clean-first --parallel $(($(nproc) - 1))

as this gives the benefits of out-of-source builds, more transparency on what is happening, and allows for other build systems to be used other than Make (e.g. Ninja).

For more on this please see the book An Introduction to Modern CMake by Henry Schreiner.

c.f. https://github.com/villano-lab/nrCascadeSim/issues/101

Note that the v1.4.0 Executables of nrCascadeSim docs still have one final instance of advocating for using sudo make that can be cleaned up. Otherwise great!

c.f. https://github.com/villano-lab/nrCascadeSim/issues/102

It would have been nice to clarify the FIFRELIN isn't an open source project, but I think the comparison that was done to Geant4 v10.7.3 is quite nice to have. :tada:

Summary

@lucydot I am very impressed with the work that the team has done and I would give my full recommendation for publication with JOSS. I have opened two final GitHub issues as suggestions to the team for work in the future, but they should not be considered as further work for them to address in the review. :+1:

villaa commented 2 years ago

@lucydot seems like we may be ready for the next steps, what should we focus on to get this finalized?

lucydot commented 2 years ago

@villaa congratulations šŸŽˆ we are onto the very final steps now :)

I'd like to give a huge thanks to @matthewfeickert and @altavir for their reviews. This software has been on a long and productive JOSS journey, steered forwards by your thoughtful reviews.

I'll do some checks now before passing this up to our editor-in-chief team for the final look over.

lucydot commented 2 years ago

@whedon set v1.4.0 as version

whedon commented 2 years ago

OK. v1.4.0 is the version.

lucydot commented 2 years ago

@whedon generate pdf

whedon commented 2 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

lucydot commented 2 years ago

@whedon check references

whedon commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1515/iupac.70.0026 is OK
- 10.1103/PhysRevD.91.083509 is OK
- 10.1103/physrevc.43.1086 is OK
- 10.1103/PhysRevC.46.972 is OK
- 10.1016/S0168-9002(03)01368-8 is OK
- 10.1088/1748-0221/16/07/p07032 is OK
- 10.1103/PhysRevC.82.054616 is OK

MISSING DOIs

- None

INVALID DOIs

- None
lucydot commented 2 years ago

Excellent @villaa the paper looks good to me.

Please can you do the following:

villaa commented 2 years ago

@lucydot Ok, we've done those things:

lucydot commented 2 years ago

Excellent!

lucydot commented 2 years ago

@whedon set 10.5281/zenodo.6056681 as archive

whedon commented 2 years ago

OK. 10.5281/zenodo.6056681 is the archive.

lucydot commented 2 years ago

@whedon recommend-accept

whedon commented 2 years ago
Attempting dry run of processing paper acceptance...
whedon commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1515/iupac.70.0026 is OK
- 10.1103/PhysRevD.91.083509 is OK
- 10.1103/physrevc.43.1086 is OK
- 10.1103/PhysRevC.46.972 is OK
- 10.1016/S0168-9002(03)01368-8 is OK
- 10.1088/1748-0221/16/07/p07032 is OK
- 10.1103/PhysRevC.82.054616 is OK

MISSING DOIs

- None

INVALID DOIs

- None
whedon commented 2 years ago

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

Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/2981

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

@whedon accept deposit=true
villaa commented 2 years ago

@lucydot I don't know if the above is something I'm supposed to do or you. Also, that link seems to be the PR and I don't see where the final proof is in it. I did look at the proof from one of the previous commands and it looked good.

matthewfeickert commented 2 years ago

I don't know if the above is something I'm supposed to do or you.

Nope you're good. One of the journal editor-in-chiefs that is on duty this week will perform a final review of the draft generated on the joss-papers repo (linked above).

Also, that link seems to be the PR and I don't see where the final proof is in it. I did look at the proof from one of the previous commands and it looked good.

It's there. It is just a PDF artifact.

arfon commented 2 years ago

@editorialbot recommend-accept

editorialbot commented 2 years ago
Attempting dry run of processing paper acceptance...
editorialbot commented 2 years ago

:warning: Error prepararing acceptance.

arfon commented 2 years ago

@editorialbot recommend-accept

editorialbot commented 2 years ago
Attempting dry run of processing paper acceptance...
editorialbot commented 2 years ago

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

Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/2993

If the paper PDF and the deposit XML files look good in https://github.com/openjournals/joss-papers/pull/2993, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

arfon commented 2 years ago

@editorialbot accept

editorialbot commented 2 years ago
Doing it live! Attempting automated processing of paper acceptance...
editorialbot commented 2 years ago

šŸšØšŸšØšŸšØ 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 :point_right: https://github.com/openjournals/joss-papers/pull/2994
  2. Wait a couple of minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.03993
  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...

arfon commented 2 years ago

@matthewfeickert, @altavir ā€“ many thanks for your reviews here and to @lucydot for editing this submission! JOSS relies upon the volunteer effort of people like you and we simply wouldn't be able to do this without you āœØ

@villaa ā€“ your paper is now accepted and published in JOSS :zap::rocket::boom:

editorialbot commented 2 years ago

:tada::tada::tada: Congratulations on your paper acceptance! :tada::tada::tada:

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.03993/status.svg)](https://doi.org/10.21105/joss.03993)

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

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

This is how it will look in your documentation:

DOI

We need your help!

The 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:

matthewfeickert commented 2 years ago

Congratulations and well done @villaa and @gerudo7! :tada:

nuclearGoblin commented 2 years ago

Thank you! This is so exciting!

villaa commented 2 years ago

Congratulations and well done @villaa and @gerudo7! šŸŽ‰

thanks @matthewfeickert we really appreciate your careful reviews and guidance. It was a bit long but the code is much better for it!!