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]: matscipy: materials science at the atomic scale with Python #5668

Closed
editorialbot opened this issue Jul 19, 2023 · 124 comments
Closed
Assignees
Labels
accepted C++ C Meson published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review Track: 2 (BCM) Biomedical Engineering, Biosciences, Chemistry, and Materials

Comments

@editorialbot
Copy link
Collaborator

editorialbot commented Jul 19, 2023

Submitting author: @pastewka (Lars Pastewka)
Repository: https://github.com/libAtoms/matscipy
Branch with paper.md (empty if default branch):
Version: v1.0.0
Editor: @diehlpk
Reviewers: @rashatwi, @mbarzegary, @mastricker
Archive: 10.5281/zenodo.10564956

Status

status

Status badge code:

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

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

@rashatwi, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review.
First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @diehlpk 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

Checklists

📝 Checklist for @mbarzegary

📝 Checklist for @rashatwi

@editorialbot
Copy link
Collaborator Author

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

Software report:

github.com/AlDanial/cloc v 1.88  T=2.07 s (141.2 files/s, 217296.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
F#                               2              1              0         318016
HTML                             4           9399              8          59776
Python                         189           9112          15522          27517
TeX                              1             67              6           1110
SVG                              1              0             12           1014
C++                              4            301            269            942
C                                3            160            159            751
Jupyter Notebook                10              0           3263            650
Markdown                         5            100              0            322
Bourne Shell                    28             29             30            259
Meson                           19             46             56            246
YAML                             5             45             29            230
C/C++ Header                     7             98            141            222
DOS Batch                        1             29              1            212
make                             1             29              6            143
reStructuredText                 8             70             68            107
Ruby                             1             28             12            106
XML                              2             12              6             78
TOML                             1              3              0             40
INI                              1              0              0              2
-------------------------------------------------------------------------------
SUM:                           293          19529          19588         411743
-------------------------------------------------------------------------------


gitinspector failed to run statistical information for the repository

@editorialbot
Copy link
Collaborator Author

Wordcount for paper.md is 2535

@editorialbot
Copy link
Collaborator Author

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

OK DOIs

- 10.1088/1361-648x/aa680e is OK
- 10.1088/0965-0393/18/1/015012 is OK
- 10.1088/0034-4885/72/2/026501 is OK
- 10.1021/acs.jctc.8b00959 is OK
- 10.1063/1.5035508 is OK
- 10.1039/d0cp01841d is OK
- 10.1103/PhysRevMaterials.4.023601 is OK
- 10.1016/j.actamat.2023.118734 is OK
- 10.1007/s11249-009-9566-8 is OK
- 10.1103/PhysRevB.31.5262 is OK
- 10.1016/j.commatsci.2006.07.013 is OK
- 10.1103/PhysRevLett.56.632 is OK
- 10.1103/PhysRevB.39.5566 is OK
- 10.1103/PhysRevLett.64.1955 is OK
- 10.1088/0959-5309/43/5/301 is OK
- 10.1007/BF00186854 is OK
- 10.1080/14786437508226544 is OK
- 10.1103/PhysRevLett.115.135501 is OK
- 10.1103/PhysRevE.103.033002 is OK
- 10.1002/jcc.21224 is OK
- 10.1007/978-3-7091-8752-4 is OK
- 10.1007/s11249-020-01395-6 is OK
- 10.1137/040609938 is OK
- 10.1021/ja9621760 is OK
- 10.1016/j.cpc.2021.108171 is OK
- 10.1021/jacs.5b04073 is OK
- 10.1103/PhysRevLett.124.105501 is OK
- 10.1021/acsami.9b18019 is OK
- 10.1007/s11249-021-01508-9 is OK
- 10.3390/ma15093247 is OK
- 10.1007/978-3-642-23099-8 is OK
- 10.1103/PhysRevMaterials.7.055601 is OK
- 10.1103/PhysRevMaterials.7.073603 is OK
- 10.1088/0965-0393/17/5/053001 is OK
- 10.1016/j.jmps.2018.05.004 is OK
- 10.1103/PhysRevB.74.075420 is OK
- 10.1103/PhysRevB.86.075459 is OK
- 10.1103/PhysRevE.57.7192 is OK
- 10.1088/2515-7639/ab36ed is OK
- 10.1557/mrc.2019.93 is OK
- 10.1103/PhysRevMaterials.4.013603 is OK
- 10.1103/PhysRevB.44.4925 is OK
- 10.1103/PhysRevB.78.161402 is OK
- 10.1088/1361-651X/ab45da is OK
- 10.1080/23746149.2022.2093129 is OK
- 10.48550/arXiv.2205.06643 is OK
- 10.1016/j.carbon.2015.10.098 is OK
- 10.1103/PhysRevMaterials.2.083601 is OK
- 10.1103/PhysRevLett.127.126101 is OK
- 10.1007/s11249-011-9864-9 is OK
- 10.1038/nmat2902 is OK
- 10.1007/s11249-020-01395-6 is OK
- 10.1063/5.0153397 is OK
- 10.1038/s41586-020-2649-2 is OK
- 10.1038/s41592-019-0686-2 is OK
- 10.1016/j.cpc.2015.07.012 is OK
- 10.1103/PhysRevB.29.6443 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

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

@diehlpk
Copy link
Member

diehlpk commented Aug 11, 2023

Hi @rashatwi how is your review going?

@rashatwi
Copy link

Sorry for my delayed response. I'll complete the review this upcoming week. Thanks for your patience.

@mastricker
Copy link

mastricker commented Oct 11, 2023

@editorialbot generate my checklist

@mastricker
Copy link

mastricker commented Oct 11, 2023

** General checks

  • Repository
  • License
  • Contribution and authorship

** Functionality

  • Installation

  • Functionality

  • Performance

    I have not checked this explicitly, but base my assessment on the
    neighborlist example presented in the accompanying paper. This
    reflects my own experience with ASE neighborlists and the need to
    provide an own implementation for efficient generation of neighbor
    lists.

** Documentation

  • Statement of need

  • Installation instructions

  • Example usage

  • Functionality documentation

    I have the impression that not all features are covered in the
    online documentation that is automatically generated by SPHINX; What
    would be of particular interest for my is a documentation how to run
    the DXA; or even to generate specific dislocation configurations in
    the first place. Part of the functionality is buried in the API
    reference section of the online documentation.

  • Automated tests

    Presumably test_dislocation.py provides unclean output of test_dislocation.py ssssssssssssss.Fssssssss.Fs.ssssssss.s

    Presumably test_energy_release.py provides additional s as output

    On commit c0bee217596e2ef7e610ea16b3e8a3a7b3f1bce1, running the
    tests as per the documentation in the repo python -m pytest .
    results in a segmentation fault in test_neighbours.py -> Fatal Python error: Segmentation fault
    I'm using Python 3.10.13 on Debian 12 (trixie). Full traceback for is

  test_neighbours.py ..............Fatal Python error: Segmentation fault

  Current thread 0x00007fd1800df740 (most recent call first):
  File "/home/markus/Documents/Reviews/2023-10-15_JOSS_MatSciPy/matscipy/tests/test_neighbours.py", line 289 in test_triplet_list
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/unittest/case.py", line 549 in _callTestMethod
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/unittest/case.py", line 591 in run
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/unittest/case.py", line 650 in __call__
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/unittest.py", line 333 in runtest
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/runner.py", line 169 in pytest_runtest_call
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_callers.py", line 77 in _multicall
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_manager.py", line 115 in _hookexec
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_hooks.py", line 493 in __call__
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/runner.py", line 262 in <lambda>
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/runner.py", line 341 in from_call
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/runner.py", line 261 in call_runtest_hook
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/runner.py", line 222 in call_and_report
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/runner.py", line 133 in runtestprotocol
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/runner.py", line 114 in pytest_runtest_protocol
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_callers.py", line 77 in _multicall
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_manager.py", line 115 in _hookexec
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_hooks.py", line 493 in __call__
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/main.py", line 350 in pytest_runtestloop
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_callers.py", line 77 in _multicall
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_manager.py", line 115 in _hookexec
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_hooks.py", line 493 in __call__
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/main.py", line 325 in _main
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/main.py", line 271 in wrap_session
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/main.py", line 318 in pytest_cmdline_main
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_callers.py", line 77 in _multicall
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_manager.py", line 115 in _hookexec
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pluggy/_hooks.py", line 493 in __call__
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/config/__init__.py", line 169 in main
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/_pytest/config/__init__.py", line 192 in console_main
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/site-packages/pytest/__main__.py", line 5 in <module>
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/runpy.py", line 86 in _run_code
  File "/home/markus/miniconda3/envs/matscipy_review/lib/python3.10/runpy.py", line 196 in _run_module_as_main
  • Community guidelines

** Software paper

  • Summary
  • Statement of need
  • State of the field
  • Quality of writing
  • References

Summarizing: I would like to see the tests on my machine pass, other than that I am very happy with this contribution. Will definitely incorporate this into my own work.

As for the documentation issue: Maybe the authors have examples for more usage that are not easily findable for me and they could point me to the right example/folder/whatever to have a look at them.

@diehlpk
Copy link
Member

diehlpk commented Oct 13, 2023

Hi @pastewka please take a look at the comments above.

@pastewka
Copy link

Will work on those, thanks @diehlpk and @mastricker for the comments.

@mbarzegary
Copy link

Hi @diehlpk and @pastewka
I confirm the quality of the software and the effort the authors have put in to develop it. The software contains lots of useful functionalities for bridging MD and QM simulations to the continuum scale, a challenge that most multi-scale modeling workflow and pipelines deal with. I think it will have a great impact on the target community, and I will use it myself for relevant projects for sure. However, I believe some minor concerns should be addressed before accepting the submission, elaborated in a couple of issues I have opened on the software repo (listed above). I hope the authors find the comments useful.

@mbarzegary
Copy link

mbarzegary commented Oct 16, 2023

Review checklist for @mbarzegary

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 https://github.com/libAtoms/matscipy?
  • 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 (@pastewka) 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
  • Data sharing: If the paper contains original data, data are accessible to the reviewers. If the paper contains no original data, please check this item.
  • Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • Human and animal research: If the paper contains original data research on humans subjects or animals, does it comply with JOSS's human participants research policy and/or animal research policy? If the paper contains no such data, please check this item.

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: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • 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?

@pgrigorev
Copy link

Dear @mastricker, thank you very much for your review and comments. Here I will try to answer your questions about dislocation module and the related tests.

To generate dislocations the module relies on anisotropic elasticity solution within Stroh formalism as implemented in atomman package. Unfortunately this package has an insane number of dependencies and thus we prefer not to include it as a default dependency of matscipy. This is one of the reasons so many tests test_dislocation.py are skipped (marked as s). We have been working on our own implementation of Stroh solution in order to have matscipy more independent. This is still in progress and requires extensive testing before the change.

Another reason why most of test are skipped is related to the use of DXA algorithm for testing. We simply tests if the DXA algorithm from ovito package detects the same dislocation that we want to create. This requires ovito python interface and thus is skipped in the automated testing if ovito python module not found. Again, we want to avoid including ovito as a standard dependency since we only use it for testing.

Finally, some of the tests rely on calling LAMMPS via LAMMPSlib ASE interface since it is one of the most common calculators for MD simulations. The test use an eam potential for tungsten to run a couple of basic checks. This tests are skipped if lammps python is not found. I think in your case you have lammps.py installed, but it might not have manybody package installed. This package is required to use eam potentials and is not a part of standard installation. This is the reason you have test_elastic_constants_lammpslib and test_gamma_line tests failing.

Normally I use these tests to verify a fresh installation of matscipy on a new machine in order to run calculations with LAMMPS via ASE. In this case I would have matscipy + atomman + lammps installed. I use the tests requiring ovito DXA when adding new dislocation configurations during development. It is true that this is not explained at all in the documentation and I will add a installation section to plasticity documentation with the detailed explanation.

In the plasticity section of the documentation I have added few examples how to build dislocations in Building cylindrical configurations with dislocations section. At the moment it is only for the case of BCC metals, I will add FCC and Diamond structure this week. I was thinking to add a section to show how one can add a new types of structures and dislocations to the set. If you have any particularly interesting system in mind, I would be happy to try to use it for this example.

@rashatwi
Copy link

rashatwi commented Oct 19, 2023

Review checklist for @rashatwi

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 https://github.com/libAtoms/matscipy?
  • 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 (@pastewka) 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
  • Data sharing: If the paper contains original data, data are accessible to the reviewers. If the paper contains no original data, please check this item.
  • Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • Human and animal research: If the paper contains original data research on humans subjects or animals, does it comply with JOSS's human participants research policy and/or animal research policy? If the paper contains no such data, please check this item.

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: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • 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?

@editorialbot
Copy link
Collaborator Author

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

@rashatwi
Copy link

@diehlpk and @pastewka:

I finished my review of the code and paper. It is clear to me that matscipy is well suited for JOSS and will be very useful to the computational materials science community.

In terms of the paper, I think the authors did a good job in terms of describing clearly what the functionalities of matscipy are and in terms of citing the relevant and commonly used packages in the field.

In terms of the checklist items, I have checked off most of them, but I think there are a few things that need to be addressed before acceptance of this work in JOSS. Most of my comments are minor, except for the fact that there is very limited/not enough examples or tutorials on how to use the different functionalities explained in the paper. I think the availability of detailed and clear tutorials will make it more accessible and much easier for new users to adopt the methods implemented in matscipy.

Paper-related comments:

  1. Typo on line 155 (ot?)
  2. Wondering if there is a way to show some of the equations used in the analysis codes like the radial and angular correlation functions? Multiple variations exist for these calculations (e.g., different normalization methods) and it would be nice for the user to know how these are exactly calculated without having to go over the code (either in the paper or on the package website).
  3. In the All-purpose atomic analysis tools section of the paper, only the topology building for non-reactive MD simulations subsection includes the specific module where the functionality is implemented, the other 4 subsections do not refer to the module and I had to go over the package modules to know where these are implemented.

Package-related comments:

  1. I suggest adding the package sphinx documentation link in the “About” section at the top right of the GitHub repository. It makes it much more accessible than just referring to it in the README file.
  2. I see there is support for command line interface, but there is no details about how to use it. I’m not sure if this is a preliminary implementation of the cli. If not, then maybe adding simple examples in the README file will be helpful.
  3. In the matscipy.elasticity module, lines 1303 and 1304, spilu and LinearOperator are not properly imported from scipy.
  4. I created a separate issue for the examples folder provided in the package root directory.

@editorialbot
Copy link
Collaborator Author

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

OK DOIs

- 10.1088/1361-648x/aa680e is OK
- 10.1088/0965-0393/18/1/015012 is OK
- 10.1088/0034-4885/72/2/026501 is OK
- 10.1021/acs.jctc.8b00959 is OK
- 10.1063/1.5035508 is OK
- 10.1039/d0cp01841d is OK
- 10.1103/PhysRevMaterials.4.023601 is OK
- 10.1016/j.actamat.2023.118734 is OK
- 10.1007/s11249-009-9566-8 is OK
- 10.1103/PhysRevB.31.5262 is OK
- 10.1016/j.commatsci.2006.07.013 is OK
- 10.1103/PhysRevLett.56.632 is OK
- 10.1103/PhysRevB.39.5566 is OK
- 10.1103/PhysRevLett.64.1955 is OK
- 10.1088/0959-5309/43/5/301 is OK
- 10.1007/BF00186854 is OK
- 10.1080/14786437508226544 is OK
- 10.1103/PhysRevLett.115.135501 is OK
- 10.1103/PhysRevE.103.033002 is OK
- 10.1002/jcc.21224 is OK
- 10.1007/978-3-7091-8752-4 is OK
- 10.1007/s11249-020-01395-6 is OK
- 10.1137/040609938 is OK
- 10.1021/ja9621760 is OK
- 10.1016/j.cpc.2021.108171 is OK
- 10.1021/jacs.5b04073 is OK
- 10.1103/PhysRevLett.124.105501 is OK
- 10.1021/acsami.9b18019 is OK
- 10.1007/s11249-021-01508-9 is OK
- 10.3390/ma15093247 is OK
- 10.1007/978-3-642-23099-8 is OK
- 10.1103/PhysRevMaterials.7.055601 is OK
- 10.1103/PhysRevMaterials.7.073603 is OK
- 10.1088/0965-0393/17/5/053001 is OK
- 10.1016/j.jmps.2018.05.004 is OK
- 10.1103/PhysRevB.74.075420 is OK
- 10.1103/PhysRevB.86.075459 is OK
- 10.1103/PhysRevE.57.7192 is OK
- 10.1088/2515-7639/ab36ed is OK
- 10.1557/mrc.2019.93 is OK
- 10.1103/PhysRevMaterials.4.013603 is OK
- 10.1103/PhysRevB.44.4925 is OK
- 10.1103/PhysRevB.78.161402 is OK
- 10.1080/23746149.2022.2093129 is OK
- 10.48550/arXiv.2205.06643 is OK
- 10.1016/j.carbon.2015.10.098 is OK
- 10.1103/PhysRevMaterials.2.083601 is OK
- 10.1103/PhysRevLett.127.126101 is OK
- 10.1007/s11249-011-9864-9 is OK
- 10.1038/nmat2902 is OK
- 10.1063/5.0153397 is OK
- 10.1038/s41586-020-2649-2 is OK
- 10.1038/s41592-019-0686-2 is OK
- 10.1016/j.cpc.2015.07.012 is OK
- 10.1103/PhysRevB.29.6443 is OK
- 10.12688/openreseurope.14445.2 is OK
- 10.1007/978-3-319-06898-5_4 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

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

Check final proof 👉📄 Download article

If the paper PDF and the deposit XML files look good in openjournals/joss-papers#4955, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

@editorialbot editorialbot added the recommend-accept Papers recommended for acceptance in JOSS. label Jan 26, 2024
@diehlpk
Copy link
Member

diehlpk commented Jan 26, 2024

@pastewka It worked :) The editor-in-chief will do a final check and it should be published soon.

@Kevin-Mattheus-Moerman
Copy link
Member

@editorialbot set v1.0.0 as version

@editorialbot
Copy link
Collaborator Author

Done! version is now v1.0.0

@Kevin-Mattheus-Moerman
Copy link
Member

@diehlpk some minor things slipped the net here, it is easy to forget a minor thing or two, it really helps to call @editorialbot create post-review checklist in the future to specifically to get a checkbox set as a reminder for these.

@Kevin-Mattheus-Moerman
Copy link
Member

Kevin-Mattheus-Moerman commented Jan 28, 2024

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

  • Double check authors and affiliations (including ORCIDs)
  • Make a release of the software with the latest changes from the review and post the version number here. This is the version that will be used in the JOSS paper.
  • Archive the release on Zenodo/figshare/etc and post the DOI here.
  • Make sure that the title and author list (including ORCIDs) in the archive match those in the JOSS paper.
  • Make sure that the license listed for the archive is the same as the software license.

Editor Tasks Prior to Acceptance

  • Read the text of the paper and offer comments/corrections (as either a list or a PR)
  • Check the references in the paper for corrections (e.g. capitalization)
  • Check that the archive title, author list, version tag, and the license are correct
  • Set archive DOI with @editorialbot set <DOI here> as archive
  • Set version with @editorialbot set <version here> as version
  • Double check rendering of paper with @editorialbot generate pdf
  • Specifically check the references with @editorialbot check references and ask author(s) to update as needed
  • Recommend acceptance with @editorialbot recommend-accept

@Kevin-Mattheus-Moerman
Copy link
Member

Kevin-Mattheus-Moerman commented Jan 28, 2024

@pastewka As AEiC I will now help to process final steps. I have checked this review, the archive link, your repository, and the paper. I have only the below minor points that require your attention:

  • Please edit the Zenodo listed version tag to be v1.0.0, i.e. include the v since that is part of your version tag (this should result in it being shown on Zenodo as Version v1.0.0).
  • In your affiliations, please spell out country names (e.g. UK should be United Kingdom).
  • underyling should read underlying
  • With words like neighbour, neighbouring, behaviour, analysing, generalised and others, this paper mainly appears to feature British English. However, the paper also features the American spellings: discretized, specialized, optimized, and realized. Please choose one format and use it consistently.
  • charactize is a type and should be -> characterized or in British English -> characterised

Suggestion/comment (no action required):

  • JOSS does not require full postal addresses for the affiliations. Hence if you prefer to shorten them you can remove the street names and postal codes (mind you, I do know some institutes prefer the longer form, it may be some French universities for instance. So, you may need to check with co-authors).

@pastewka
Copy link

@Kevin-Mattheus-Moerman @diehlpk We addressed these final issues in current master.

@pastewka
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

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

@pastewka
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

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

@Kevin-Mattheus-Moerman
Copy link
Member

@pastewka I've reviewed the changes and all looks good now. I will now proceed to process this work for acceptance.

@Kevin-Mattheus-Moerman
Copy link
Member

@editorialbot recommend-accept

@editorialbot
Copy link
Collaborator Author

Attempting dry run of processing paper acceptance...

@editorialbot
Copy link
Collaborator Author

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

OK DOIs

- 10.1088/1361-648x/aa680e is OK
- 10.1088/0965-0393/18/1/015012 is OK
- 10.1088/0034-4885/72/2/026501 is OK
- 10.1021/acs.jctc.8b00959 is OK
- 10.1063/1.5035508 is OK
- 10.1039/d0cp01841d is OK
- 10.1103/PhysRevMaterials.4.023601 is OK
- 10.1016/j.actamat.2023.118734 is OK
- 10.1007/s11249-009-9566-8 is OK
- 10.1103/PhysRevB.31.5262 is OK
- 10.1016/j.commatsci.2006.07.013 is OK
- 10.1103/PhysRevLett.56.632 is OK
- 10.1103/PhysRevB.39.5566 is OK
- 10.1103/PhysRevB.42.9458 is OK
- 10.1103/PhysRevLett.64.1955 is OK
- 10.1088/0959-5309/43/5/301 is OK
- 10.1007/BF00186854 is OK
- 10.1080/14786437508226544 is OK
- 10.1103/PhysRevLett.115.135501 is OK
- 10.1103/PhysRevE.103.033002 is OK
- 10.1002/jcc.21224 is OK
- 10.1007/978-3-7091-8752-4 is OK
- 10.1007/s11249-020-01395-6 is OK
- 10.1137/040609938 is OK
- 10.1021/ja9621760 is OK
- 10.1016/j.cpc.2021.108171 is OK
- 10.1021/jacs.5b04073 is OK
- 10.1103/PhysRevLett.124.105501 is OK
- 10.1021/acsami.9b18019 is OK
- 10.1007/s11249-021-01508-9 is OK
- 10.3390/ma15093247 is OK
- 10.1007/978-3-642-23099-8 is OK
- 10.1103/PhysRevMaterials.7.055601 is OK
- 10.1103/PhysRevMaterials.7.073603 is OK
- 10.1088/0965-0393/17/5/053001 is OK
- 10.1016/j.jmps.2018.05.004 is OK
- 10.1103/PhysRevB.74.075420 is OK
- 10.1103/PhysRevB.86.075459 is OK
- 10.1103/PhysRevE.57.7192 is OK
- 10.1088/2515-7639/ab36ed is OK
- 10.1557/mrc.2019.93 is OK
- 10.1103/PhysRevMaterials.4.013603 is OK
- 10.1103/PhysRevB.44.4925 is OK
- 10.1103/PhysRevB.78.161402 is OK
- 10.1080/23746149.2022.2093129 is OK
- 10.48550/arXiv.2205.06643 is OK
- 10.1016/j.carbon.2015.10.098 is OK
- 10.1103/PhysRevMaterials.2.083601 is OK
- 10.1103/PhysRevLett.127.126101 is OK
- 10.1007/s11249-011-9864-9 is OK
- 10.1038/nmat2902 is OK
- 10.1063/5.0153397 is OK
- 10.1038/s41586-020-2649-2 is OK
- 10.1038/s41592-019-0686-2 is OK
- 10.1016/j.cpc.2015.07.012 is OK
- 10.1103/PhysRevB.29.6443 is OK
- 10.12688/openreseurope.14445.2 is OK
- 10.1007/978-3-319-06898-5_4 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

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

Check final proof 👉📄 Download article

If the paper PDF and the deposit XML files look good in openjournals/joss-papers#4959, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

@Kevin-Mattheus-Moerman
Copy link
Member

@editorialbot accept

@editorialbot
Copy link
Collaborator Author

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

@editorialbot
Copy link
Collaborator Author

Ensure proper citation by uploading a plain text CITATION.cff file to the default branch of your repository.

If using GitHub, a Cite this repository menu will appear in the About section, containing both APA and BibTeX formats. When exported to Zotero using a browser plugin, Zotero will automatically create an entry using the information contained in the .cff file.

You can copy the contents for your CITATION.cff file here:

CITATION.cff

cff-version: "1.2.0"
authors:
- family-names: Grigorev
  given-names: Petr
  orcid: "https://orcid.org/0000-0002-6409-9092"
- family-names: Frérot
  given-names: Lucas
  orcid: "https://orcid.org/0000-0002-4138-1052"
- family-names: Birks
  given-names: Fraser
  orcid: "https://orcid.org/0009-0008-9117-0393"
- family-names: Gola
  given-names: Adrien
  orcid: "https://orcid.org/0000-0002-5102-1931"
- family-names: Golebiowski
  given-names: Jacek
  orcid: "https://orcid.org/0000-0001-8053-8318"
- family-names: Grießer
  given-names: Jan
  orcid: "https://orcid.org/0000-0003-2149-6730"
- family-names: Hörmann
  given-names: Johannes L.
  orcid: "https://orcid.org/0000-0001-5867-695X"
- family-names: Klemenz
  given-names: Andreas
  orcid: "https://orcid.org/0000-0001-5677-5639"
- family-names: Moras
  given-names: Gianpietro
  orcid: "https://orcid.org/0000-0002-4623-2881"
- family-names: Nöhring
  given-names: Wolfram G.
  orcid: "https://orcid.org/0000-0003-4203-755X"
- family-names: Oldenstaedt
  given-names: Jonas A.
  orcid: "https://orcid.org/0000-0002-7475-3019"
- family-names: Patel
  given-names: Punit
- family-names: Reichenbach
  given-names: Thomas
  orcid: "https://orcid.org/0000-0001-7477-6248"
- family-names: Rocke
  given-names: Thomas
  orcid: "https://orcid.org/0000-0002-4612-9112"
- family-names: Shenoy
  given-names: Lakshmi
  orcid: "https://orcid.org/0000-0001-5760-3345"
- family-names: Walter
  given-names: Michael
  orcid: "https://orcid.org/0000-0001-6679-2491"
- family-names: Wengert
  given-names: Simon
  orcid: "https://orcid.org/0000-0002-8008-1482"
- family-names: Zhang
  given-names: Lei
  orcid: "https://orcid.org/0000-0003-4414-7111"
- family-names: Kermode
  given-names: James R.
  orcid: "https://orcid.org/0000-0001-6755-6271"
- family-names: Pastewka
  given-names: Lars
  orcid: "https://orcid.org/0000-0001-8351-7336"
contact:
- family-names: Kermode
  given-names: James R.
  orcid: "https://orcid.org/0000-0001-6755-6271"
- family-names: Pastewka
  given-names: Lars
  orcid: "https://orcid.org/0000-0001-8351-7336"
doi: 10.5281/zenodo.10564956
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Grigorev
    given-names: Petr
    orcid: "https://orcid.org/0000-0002-6409-9092"
  - family-names: Frérot
    given-names: Lucas
    orcid: "https://orcid.org/0000-0002-4138-1052"
  - family-names: Birks
    given-names: Fraser
    orcid: "https://orcid.org/0009-0008-9117-0393"
  - family-names: Gola
    given-names: Adrien
    orcid: "https://orcid.org/0000-0002-5102-1931"
  - family-names: Golebiowski
    given-names: Jacek
    orcid: "https://orcid.org/0000-0001-8053-8318"
  - family-names: Grießer
    given-names: Jan
    orcid: "https://orcid.org/0000-0003-2149-6730"
  - family-names: Hörmann
    given-names: Johannes L.
    orcid: "https://orcid.org/0000-0001-5867-695X"
  - family-names: Klemenz
    given-names: Andreas
    orcid: "https://orcid.org/0000-0001-5677-5639"
  - family-names: Moras
    given-names: Gianpietro
    orcid: "https://orcid.org/0000-0002-4623-2881"
  - family-names: Nöhring
    given-names: Wolfram G.
    orcid: "https://orcid.org/0000-0003-4203-755X"
  - family-names: Oldenstaedt
    given-names: Jonas A.
    orcid: "https://orcid.org/0000-0002-7475-3019"
  - family-names: Patel
    given-names: Punit
  - family-names: Reichenbach
    given-names: Thomas
    orcid: "https://orcid.org/0000-0001-7477-6248"
  - family-names: Rocke
    given-names: Thomas
    orcid: "https://orcid.org/0000-0002-4612-9112"
  - family-names: Shenoy
    given-names: Lakshmi
    orcid: "https://orcid.org/0000-0001-5760-3345"
  - family-names: Walter
    given-names: Michael
    orcid: "https://orcid.org/0000-0001-6679-2491"
  - family-names: Wengert
    given-names: Simon
    orcid: "https://orcid.org/0000-0002-8008-1482"
  - family-names: Zhang
    given-names: Lei
    orcid: "https://orcid.org/0000-0003-4414-7111"
  - family-names: Kermode
    given-names: James R.
    orcid: "https://orcid.org/0000-0001-6755-6271"
  - family-names: Pastewka
    given-names: Lars
    orcid: "https://orcid.org/0000-0001-8351-7336"
  date-published: 2024-01-28
  doi: 10.21105/joss.05668
  issn: 2475-9066
  issue: 93
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 5668
  title: "matscipy: materials science at the atomic scale with Python"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.05668"
  volume: 9
title: "matscipy: materials science at the atomic scale with Python"

If the repository is not hosted on GitHub, a .cff file can still be uploaded to set your preferred citation. Users will be able to manually copy and paste the citation.

Find more information on .cff files here and here.

@editorialbot
Copy link
Collaborator Author

🐘🐘🐘 👉 Toot for this paper 👈 🐘🐘🐘

@editorialbot
Copy link
Collaborator Author

🚨🚨🚨 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.05668 joss-papers#4960
  2. Wait five minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.05668
  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...

@editorialbot editorialbot added accepted published Papers published in JOSS labels Jan 28, 2024
@pastewka
Copy link

Perfect, thanks everyone @diehlpk @Kevin-Mattheus-Moerman @mastricker @xuanxu @rashatwi @mbarzegary

@Kevin-Mattheus-Moerman
Copy link
Member

Congratulations on this JOSS publication @pastewka!

Thanks for editing @diehlpk

And a special Thank you to the reviewers: @rashatwi@mbarzegary@mastricker

@editorialbot
Copy link
Collaborator Author

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

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

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

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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted C++ C Meson published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review Track: 2 (BCM) Biomedical Engineering, Biosciences, Chemistry, and Materials
Projects
None yet
Development

No branches or pull requests

9 participants