openjournals / joss-reviews

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

[REVIEW]: mamonca - interactive magnetic Monte Carlo code #6194

Closed editorialbot closed 1 month ago

editorialbot commented 8 months ago

Submitting author: !--author-handle-->@samwaseda<!--end-author-handle-- (Osamu Waseda) Repository: https://github.com/samwaseda/mamonca Branch with paper.md (empty if default branch): joss-paper Version: 0.0.8 Editor: !--editor-->@kellyrowland<!--end-editor-- Reviewers: @arjunsavel, @vipinagrawal25 Archive: 10.5281/zenodo.13309692

Status

status

Status badge code:

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

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

@arjunsavel & @vipinagrawal25, 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 @kellyrowland 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 @vipinagrawal25

📝 Checklist for @arjunsavel

editorialbot commented 8 months ago

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 commented 8 months ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.04 s (436.5 files/s, 56532.3 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C++                              1             99              0            754
C/C++ Header                     1             21              1            203
Cython                           2             51            197            173
Python                           5             37              0            147
TeX                              1             11              0            112
Markdown                         3             26              0             73
YAML                             3              6              5             61
Jupyter Notebook                 1              0            293             56
make                             1              1              0              4
-------------------------------------------------------------------------------
SUM:                            18            252            496           1583
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 8 months ago

Wordcount for paper.md is 502

editorialbot commented 8 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1088/0953-8984/26/10/103202 is OK
- 10.1016/j.cpc.2021.107938 is OK
- 10.1051/jphystap:019170070010300 is OK
- 10.1073/pnas.97.18.9840 is OK
- 10.1016/j.commatsci.2018.07.043 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 8 months ago

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

vipinagrawal25 commented 8 months ago

Review checklist for @vipinagrawal25

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

arjunsavel commented 8 months ago

Review checklist for @arjunsavel

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

arjunsavel commented 8 months ago

Thanks to @samwaseda for submitting an interesting package! mamonca is a modular code for simulating magnetic interactions that fits in neatly with existing codes from the literature.

My comments are below — once they are addressed, I recommend this for publication.

Documentation notes

Notebook Notes

Paper notes

kellyrowland commented 8 months ago

@vipinagrawal25 thanks for getting started here - please let me know if you have any questions or need to set the review down.

kellyrowland commented 7 months ago

@vipinagrawal25 thanks for getting started here - please let me know if you have any questions or need to set the review down.

kellyrowland commented 7 months ago

@samwaseda I see there were some updates to the code repo a few weeks ago - should @arjunsavel have another look at things, or are there further edits needed?

samwaseda commented 7 months ago

Thank you very much for the review! The points were so pertinent and striking that I had to take some time making the changes! I will leave a comment here as soon as I am done with it.

samwaseda commented 7 months ago

@arjunsavel Thank you very much again for your review! I could see how much effort you must have put to see all these points, and I am very grateful for your sincerity. It took me now some time to make corrections to the package for me, but I think now I looked at all the points and it should be ready. There's only one point that I decided to deviate from: I did not include a figure in the paper, because if it is a figure about the Magnetic Monte Carlo method, those who are working in the area know precisely what kind of figure this software package should be able to deliver. For other features, such as thermodynamic integration or Metadynamics, I did not know how to present the figures without going too much into details. I hope the fact they are presented in the example notebook is acceptable.

kellyrowland commented 7 months ago

hi @arjunsavel @vipinagrawal25 please give the code another look at your earliest convenience; there have been some revisions. if you have any questions or concerns or need to put the review down, please do let me know.

arjunsavel commented 7 months ago

@editorialbot generate pdf

editorialbot commented 7 months ago

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

arjunsavel commented 7 months ago

Thanks to @samwaseda for addressing my comments! The changes you made have made the package even cleaner.

I have a few (hopefully small) final requests:

Also, the LaTeX in the readme is a nice touch!

samwaseda commented 7 months ago

Thanks again for the comments! Now I made changes accordingly!

  • What are the units (if any) for "lambda" in the first steps notebook?

I added "unitless" in the notebook

  • What do you think of adding pyiron to the setup.py requirements?

That's in principle a great idea (and sorry for not commenting on this in my last entry). One main problem is that it takes a very long time to install pyiron, so those who don't need pyiron would definitely not want to install pyiron for no reason. I added the comments in README saying how to install pyiron, so I'm hoping it will be enough. What do you think?

  • Could follow one of the suggestions here so that Cython isn't imported in setup.py before it's installed

Thanks for your support! I didn't know much about this part, but now I changed it according to what's written there. I hope now it works!

arjunsavel commented 7 months ago

Thanks for your quick response!

That's in principle a great idea (and sorry for not commenting on this in my last entry). One main problem is that it takes a very long time to install pyiron, so those who don't need pyiron would definitely not want to install pyiron for no reason. I added the comments in README saying how to install pyiron, so I'm hoping it will be enough. What do you think?

This makes sense. Thank you for the explanation!

Thanks for your support! I didn't know much about this part, but now I changed it according to what's written there. I hope now it works!

Thanks for working on this! I think the last thing to do, in addition to the setuptools version pin, is something like the below:

from setuptools.command.build_ext import build_ext
from setuptools import setup, Extension

ext = Extension(
    'mamonca',
    sources=["mamonca/mc.pyx"],
    language="c++",
    extra_compile_args=['-std=c++11'],
)

with open('README.md') as readme_file:
    readme = readme_file.read()

setup(
    name='mamonca',
    version='0.0.8',
    description='mamonca - interactive Magnetic Monte Carlo code',
    long_description=readme,
    long_description_content_type='text/markdown',
    url='https://github.com/samwaseda/mamonca',
    author='Sam Waseda',
    author_email='waseda@mpie.de',
    license='BSD',
    cmdclass={"build_ext": build_ext},
    ext_modules=[ext],
    options={'build': {'build_lib': 'mamonca'}},
    setup_requires=[
        # Setuptools 18.0 properly handles Cython extensions.
        'setuptools>=18.0',
        'cython',
        'numpy',
    ],
)

This way, Cython never needs to be imported at the top of the file, but setuptools is told that it requires Cyython to build.

samwaseda commented 7 months ago

Thanks again! Now I made the changes and committed them!

vipinagrawal25 commented 7 months ago

Dear @samwaseda,

Firstly, please accept my apologies for the delay in completing the review of your paper. Thanks for the submission. I also would like to thank the editor @kellyrowland for choosing me as a reviewer and @arjunsavel for the thorough review.

The mamonca package is built for computing free-energy for materials using Heisenberg Landau model. Additionally the package offers magnetic thermodynamic integration and metadynamics. I think the community will be benefitted from such software hence I recommend this for publication provided the comments outlined below are addressed.

General:

Documentation:

Examples:

Paper:

kellyrowland commented 6 months ago

hi @samwaseda 👋 just checking in here on how things are going and if you're able to address the above feedback.

samwaseda commented 6 months ago

Hi! Sorry it's taking some time, but I will hopefully finish the revision this week! Thanks for waiting!

kellyrowland commented 6 months ago

no problem, thanks for the update!

kellyrowland commented 5 months ago

hi @samwaseda just checking in here 👋 no worries if updates are still in progress.

samwaseda commented 5 months ago

Yes! Sorry it's still taking some time...

kellyrowland commented 5 months ago

hi @samwaseda 👋 checking in again.

kellyrowland commented 4 months ago

hi @samwaseda 👋 checking in - no problem if edits are taking some time, just a ping here.

samwaseda commented 4 months ago

Hi! Sorry I'm working on it. My main problem is how to reproduce well documented results mentioned by @vipinagrawal25. The results I can find in the literature most don't give the numerical data needed to reproduce them. I keep looking for more reliable literature.

kellyrowland commented 4 months ago

no problem at all - @vipinagrawal25 would you be able to provide any pointers?

vipinagrawal25 commented 4 months ago

@editorialbot generate pdf

editorialbot commented 4 months ago

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

vipinagrawal25 commented 4 months ago

@samwaseda I realise that it can be a lot of work to do that. I had mentioned four points to verify the correctness of results.

1) Compute statistical quantities to validate the results from MC simulation. 2) Reproduce well-documented results. 3) Compare results with those obtained from other existing codes. 4) Similar benchmarks should be considered for magnetic thermodynamics integration and Metadynamics.

Can you please tell me which of these steps have been completed and which are pending?

samwaseda commented 4 months ago

Basically 2 is the main problem, because I haven't really been able to find well-documented results. There are indeed results, but in most of the cases they don't provide their parametrisation.

vipinagrawal25 commented 4 months ago

Okay. Please submit your report without including that particular point. I shall review it, and assess if it meets our requirements. As I'll be on vacation for the next 10 days, there's no rush to complete it.

kellyrowland commented 3 months ago

thanks for the work here all - just checking in on things @samwaseda 👋

samwaseda commented 3 months ago

Sorry for being late. I finally found a reference data that I can compare the results to. I'll give you an update within a few days.

kellyrowland commented 3 months ago

no problem! looking forward to an update

samwaseda commented 3 months ago

I have a question: The points raised by @vipinagrawal25 (comparison with existing results etc.) should be inside the paper, or is it enough to refer to notebooks in the same repository?

vipinagrawal25 commented 3 months ago

it would be beneficial for readers to include this information, if possible.

samwaseda commented 3 months ago

Sorry for going back and forth, but it looks to me like other articles (including the example article on the JOSS page) tend to summarise the functionalities of the code but not show comparison with other codes. Should I really include figures showing a comparison between my code and other results? Otherwise I already included a jupyter notebook showing such a comparison.

kellyrowland commented 3 months ago

Inclusion of the notebook is fine; you can refer the reader to that.

samwaseda commented 3 months ago

Ok in that case I now updated the document indicating the notebooks. Please let me know if the format is good enough.

  1. Compute statistical quantities to validate the results from MC simulation.
  2. Reproduce well-documented results.
  3. Compare results with those obtained from other existing codes.
  4. Similar benchmarks should be considered for magnetic thermodynamics integration and Metadynamics.

I think now 1, 2 and 3 are fulfilled. For 4, it’s done for Metadynamics, but it’s difficult to prove it for thermodynamic integration. I included an example but it’s not a benchmark. I hope it’s still acceptable.

samwaseda commented 3 months ago

Sorry I focused so much on the four points above that I missed the other comments that @vipinagrawal25 had made. I'm gonna make the changes now and will come back here soon.

kellyrowland commented 3 months ago

thanks very much for your work!

samwaseda commented 3 months ago

I just finished the updates. It would be great if you could take a look at it again. Thanks to you all for your time! I really appreciate your feedback!

samwaseda commented 2 months ago

Hi! I guess it's ready for a review. So it would be great if you could take another look. Thank you!

vipinagrawal25 commented 2 months ago

Hello,

I am quite swamped with work for the next two weeks, hence I will review it after that. Sorry for the delay

Regards Vipin

On Jul 11, 2024, at 2:59 AM, Sam Dareska @.***> wrote:

Hi! I guess it's ready for a review. So it would be great if you could take another look. Thank you!

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/6194#issuecomment-2222282925, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOBHAXYLAQ2OSJXO4NVYOC3ZLY3OLAVCNFSM6AAAAABBTQ5ZQCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRSGI4DEOJSGU. You are receiving this because you were mentioned.

vipinagrawal25 commented 1 month ago

@editorialbot generate pdf

editorialbot commented 1 month ago

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