openjournals / joss-reviews

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

[REVIEW]: vSmartMOM.jl: an Open-Source Julia Package for Atmospheric Radiative Transfer and Remote Sensing Tools #4575

Closed editorialbot closed 1 year ago

editorialbot commented 2 years ago

Submitting author: !--author-handle-->@RupeshJey<!--end-author-handle-- (Rupesh Jeyaram) Repository: https://github.com/RemoteSensingTools/vSmartMOM.jl Branch with paper.md (empty if default branch): joss Version: v1.0.1 Editor: !--editor-->@pdebuyl<!--end-editor-- Reviewers: @jimmielin, @arjunsavel Archive: 10.5281/zenodo.7373457

Status

status

Status badge code:

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

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

@jimmielin & @arjunsavel, 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 @pdebuyl 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 @arjunsavel

📝 Checklist for @jimmielin

editorialbot commented 2 years 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 2 years ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.21 s (720.8 files/s, 125841.4 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Julia                           97           2760           3061          10537
TOML                             6            401              1           1740
Markdown                        20            419              0           1027
YAML                            18             55            484            679
Jupyter Notebook                 5              0           4424            425
TeX                              1             17              0            203
Python                           3             18             30             53
JSON                             1              0              0             27
-------------------------------------------------------------------------------
SUM:                           151           3670           8000          14691
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 2 years ago

Wordcount for paper.md is 2709

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

OK DOIs

- 10.1016/j.jqsrt.2013.09.004 is OK
- 10.1016/j.jqsrt.2013.12.015 is OK
- 10.1088/0004-637X/691/2/1909 is OK
- 10.1016/j.jqsrt.2015.03.007 is OK
- 10.1016/S0022-4073(99)00147-8 is OK
- 10.3847/1538-4357/aadf94 is OK
- 10.3847/1538-4357/ab1b4e is OK
- 10.3847/1538-4357/abcd99 is OK

MISSING DOIs

- 10.1093/astrogeo/atab102 may be a valid DOI for title: ExoMol at 10
- 10.1111/j.1365-2966.2012.21440.x may be a valid DOI for title: Exomol: molecular line lists for exoplanet and other atmospheres
- 10.3847/1538-4365/ab7a1a may be a valid DOI for title: An accurate, extensive, and practical line list of methane for the HITEMP database
- 10.1016/j.jqsrt.2010.05.001 may be a valid DOI for title: HITEMP, the high-temperature molecular spectroscopic database

INVALID DOIs

- https://doi.org/10.1016/j.jqsrt.2017.06.038 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.rse.2020.112053 is INVALID because of 'https://doi.org/' prefix
editorialbot 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:

arjunsavel commented 2 years ago

Review checklist for @arjunsavel

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

jimmielin commented 2 years ago

Review checklist for @jimmielin

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

jimmielin commented 2 years ago

Hello all, I've had an opportunity to look at this package during the pre-review phase, and have just went through the software and manuscript again. Please find my comments below.

Summary

vSmartMOM.jl is a Julia package for computing atmospheric optical properties and fully-polarized multiple-scattering radiance simulations with the Matrix Operator Method. The software is open-source licensed, is modular (including Absorption.jl and Scattering.jl and having separate documentation sections for these is highly positive, in my view, it shows that modularity was not an afterthought), and takes advantage of specific strengths of the Julia ecosystem, including GPU-acceleration and automatic differentiation. The development of a fully Julia-based package for remote sensing applications is also a good step in improving software capabilities for researchers. The manuscript is well written to showcase its strengths, and the documentation is clear and covers the functionality of the package. I recommend publication after the following comments are addressed:

Functionality

Documentation

Software paper

Technical Corrections

pdebuyl commented 2 years ago

Hi @jimmielin @arjunsavel , thanks for the reviews so far!

@RupeshJey you may already update your repository following the review by @jimmielin and keep us updated here. Reviews with JOSS can be interactive in this way.

arjunsavel commented 2 years ago

Hi all, I've finished my look at this package!

With vSmartMOM, the authors have put together a well-developed package and a welcome addition to the open-source radiative transfer literature. The code is fast, modular, and appears well-tested, and it definitely has sufficient documentation and tutorials. I have a few comments, and pending their resolution I recommend this project for acceptance.

Firstly, I have some minor paper and documentation comments, which are grouped in issues in the code repository:

Beyond these issues, I was curious about the authors' thoughts on the code's demos. They appear to constitute a potentially valuable set of additional examples and use cases, but there are some obstacles to their immediate application. For instance, they reference what I surmise to be a past name for vSmartMOM (RadiativeTransfer). Additionally, certain modules (RadiativeTransfer.PhaseFunction) and methods (make_univariate_aerosol) appear to be deprecated. If the authors plan to continue packaging these demos with the code, I recommend that they be updated to be executable with the current code version.

cfranken commented 2 years ago

Beyond these issues, I was curious about the authors' thoughts on the code's demos. They appear to constitute a potentially valuable set of additional examples and use cases, but there are some obstacles to their immediate application. For instance, they reference what I surmise to be a past name for vSmartMOM (RadiativeTransfer). Additionally, certain modules (RadiativeTransfer.PhaseFunction) and methods (make_univariate_aerosol) appear to be deprecated. If the authors plan to continue packaging these demos with the code, I recommend that they be updated to be executable with the current code version.

Apologies for the late replies, we just started going through everything. As for demos, we saw now that they are indeed deprecated. It is likely best to remove the demos from that specific folder and make them part of the documentation, so that they are run automatically with every push, allowing us to see deprecation issues immediately. Thanks for catching that. We will go through the remaining issues soon as well.

pdebuyl commented 2 years ago

Hi @cfranken what is the progress regarding the issues raised by the reviewers?

RupeshJey commented 2 years ago

Hi @pdebuyl, @cfranken and I met to discuss the necessary changes and are working on them now. We are trying to finish addressing them in the next few days. Sorry for the delay, both of us have been moving long distances this summer, and it has been hectic.

RupeshJey commented 2 years ago

Just leaving an update that we've made great progress on all the feedback made above. We've made suggested modifications to the paper and documentation. We are in the process of fixing a bunch of the technical issues like dead links, citation issues, etc.

pdebuyl commented 2 years ago

Thanks for the update @RupeshJey , let us know when it is appropriate for the reviewers to take a new look at the repository/doc/paper.

pdebuyl commented 2 years ago

@RupeshJey any news?

RupeshJey commented 2 years ago

Hi Pierre, just wrapped up on our side!

We’ve addressed the concerns listed in the above reviews. Here’s a mostly-exhaustive list of the changes:

There were a couple of points on the paper that we wanted to note as well:

Main branch: https://github.com/RemoteSensingTools/vSmartMOM.jl Paper md (on joss branch): https://github.com/RemoteSensingTools/vSmartMOM.jl/blob/joss/paper.md Web documentation: https://remotesensingtools.github.io/vSmartMOM.jl/dev/

Thanks all!

pdebuyl commented 1 year ago

@editorialbot generate pdf

editorialbot commented 1 year ago

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

pdebuyl commented 1 year ago

Thanks @RupeshJey for the update!

I have Julia 1.5 and tried to install according to the instructions: (] key then add vSmartMOM) and have this error:

(@v1.5) pkg> add vSmartMOM
  Resolving package versions...
ERROR: Unsatisfiable requirements detected for package DelimitedFiles [8bb1440f]:
 DelimitedFiles [8bb1440f] log:
 ├─possible versions are: 1.5.4 or uninstalled
 └─found to have no compatible versions left with vSmartMOM [7ba11eeb] 
   └─vSmartMOM [7ba11eeb] log:
     ├─possible versions are: 0.5.0 or uninstalled
     └─restricted to versions * by an explicit requirement, leaving only versions 0.5.0

Can you remove the data tables from the article file? It is better to have a link to the documentation, not only because tables in pdfs are hard to use but also to keep with JOSS' guidelines to have brief articles.

The citations yurchenko2012exomol:2012 roth-63 man2010hitemp:2010 have a syntax issue.

pdebuyl commented 1 year ago

@jimmielin @arjunsavel can you have a look at the updated version?

pdebuyl commented 1 year ago

@RupeshJey there is also an issue with the copyright text in the README. The "all rights reserved" and the provisions for commercial use are not aligned with the Apache license. Please only keep the mention of apache licensing. You may keep the acknowledgement of course.

arjunsavel commented 1 year ago

Thanks for your patience, all! The issues that I raised earlier have been sufficiently addressed, and I recommend this project for publication. Nicely done!

jimmielin commented 1 year ago

Thank you for addressing my comments. I recommend this project for publication and thank you for your contribution to the open source community!

RupeshJey commented 1 year ago

@arjunsavel @jimmielin Thank you both for your time and effort in reviewing this article, and for your service to the open-source community as well!

@pdebuyl I am investigating the DelimitedFiles issue. Separately, our compatibility requirements specify that vSmartMOM is only available for Julia 1.6+. I wonder why it allows you to try to install it in the first place, since you are on Julia 1.5...

On the paper side, I have removed the reference tables and will include them in our documentation instead. The exomol/hitemp references are also fixed.

@cfranken Christian, I remember we went through the export process with JPL and confirmed we can use the open-source Apache 2.0 license. Did they ask us to include these extra provisions mentioned by Pierre, or did we include them from our side? Can we just remove them?

pdebuyl commented 1 year ago

Thank you @arjunsavel for completing the review!

pdebuyl commented 1 year ago

Thank you @jimmielin for completing the review!

pdebuyl commented 1 year ago

@editorialbot generate pdf

editorialbot commented 1 year ago

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

RupeshJey commented 1 year ago

@pdebuyl The copyright has been updated!

pdebuyl commented 1 year ago

Going through the final steps.

  1. Testing the examples myself, I have a trouble with the undefined model variable in the absorption tutorial and with the model_* placeholder that should be replaced by an actual variable.
  2. There are citation syntax issues (ExoMOL and HITEMP). Please check all reference for syntax.
  3. The license issue is resolved, thanks.
  4. Using with julia 1.8 works fine. Is there a way to prevent installation with julia 1.6?
  5. Can you confirm the version number for the published version for this article?
  6. Can you archive the code to zenodo with the same metadata (title etc) as for the article and post the DOI here?
RupeshJey commented 1 year ago

Hi Pierre, thank you for confirming these last steps!

  1. Ah I see how this can be confusing. I have updated the documentation to include a line to let users know to replace model_* in both instances to whichever model they would like to use from Step 2.
  2. These citation issues are resolved, and I have gone through the paper to double check that all the citations are accurate and appear properly in the generated pdf.
  3. Thank you!
  4. I believe you had installation issues when using Julia 1.5, no? This is already the correct behavior, because our package only supports Julia 1.6+. I installed Julia 1.5 and tried to install the package, but was correctly not allowed to install vSmartMOM. Installation using 1.6+ works fine, and I have also set up unit tests on Julia 1.8, so there should be no issues across these latest versions (1.6+).
  5. Yes! The latest package version is v1.0.1, and this has been updated on the Julia package, GitHub release, and zenodo link below.
  6. Yep! I used the GitHub integration, so it didn't ask me to provide all the metadata – just the GitHub link and repository access. If they click the GitHub link in the reference, it takes them directly to the repository. I think this is the appropriate way for GitHub repositories, but please let me know if I'm wrong. The DOI is here: DOI: 10.5281/zenodo.7339527
pdebuyl commented 1 year ago

@editorialbot set v1.0.1 as version

editorialbot commented 1 year ago

Done! version is now v1.0.1

pdebuyl commented 1 year ago

@editorialbot set 10.5281/zenodo.7339527 as archive

editorialbot commented 1 year ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

pdebuyl commented 1 year ago

@editorialbot set 10.5281/zenodo.7339527 as archive

editorialbot commented 1 year ago

Done! Archive is now 10.5281/zenodo.7339527

pdebuyl commented 1 year ago

Hi @RupeshJey you need to edit the metadata. The title is now "RemoteSensingTools/vSmartMOM.jl: v1.0.1". It should be "vSmartMOM.jl: an Open-Source Julia Package for Atmospheric Radiative Transfer and Remote Sensing Tools".

There are also more authors to the zenodo archive. Please set non-authors of the paper as contributors.

RupeshJey commented 1 year ago

Hi Pierre, ah okay. I have edited the metadata with the proper title and authors here: https://doi.org/10.5281/zenodo.7373457

pdebuyl commented 1 year ago

@editorialbot set 10.5281/zenodo.7373457 as archive

editorialbot commented 1 year ago

Done! Archive is now 10.5281/zenodo.7373457

pdebuyl commented 1 year ago

Thanks @RupeshJey (for info, you can edit the metadata -- not the content -- of a zenodo entry).

pdebuyl commented 1 year ago

@editorialbot recommend-accept

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

OK DOIs

- 10.1016/j.jqsrt.2013.09.004 is OK
- 10.1016/j.jqsrt.2013.12.015 is OK
- 10.1088/0004-637X/691/2/1909 is OK
- 10.1016/j.jqsrt.2015.03.007 is OK
- 10.1016/S0022-4073(99)00147-8 is OK
- 10.3847/1538-4357/aadf94 is OK
- 10.3847/1538-4357/ab1b4e is OK
- 10.3847/1538-4357/abcd99 is OK
- 10.1364/AO.55.008236 is OK

MISSING DOIs

- 10.1098/rspa.1969.0188 may be a valid DOI for title: Discrete space theory of radiative transfer II. Stability and non-negativity
- 10.1175/1520-0469(1969)026<0963:dstort>2.0.co;2 may be a valid DOI for title: Discrete space theory of radiative transfer and its application to problems in planetary atmospheres
- 10.1093/astrogeo/atab102 may be a valid DOI for title: ExoMol at 10
- 10.1111/j.1365-2966.2012.21440.x may be a valid DOI for title: Exomol: molecular line lists for exoplanet and other atmospheres
- 10.3847/1538-4365/ab7a1a may be a valid DOI for title: An accurate, extensive, and practical line list of methane for the HITEMP database
- 10.1016/j.jqsrt.2010.05.001 may be a valid DOI for title: HITEMP, the high-temperature molecular spectroscopic database

INVALID DOIs

- https://doi.org/10.1016/j.jqsrt.2017.06.038 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.rse.2020.112053 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/0022-4073(89)90044-7 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.jqsrt.2011.06.014 is INVALID because of 'https://doi.org/' prefix
editorialbot commented 1 year ago

:warning: Error preparing paper acceptance. The generated XML metadata file is invalid.

Element doi: [facet 'pattern'] The value 'https://doi.org/10.1016/j.jqsrt.2017.06.038' is not accepted by the pattern '10\.[0-9]{4,9}/.{1,200}'.
Element doi: [facet 'pattern'] The value 'https://doi.org/10.1016/0022-4073(89)90044-7' is not accepted by the pattern '10\.[0-9]{4,9}/.{1,200}'.
Element doi: [facet 'pattern'] The value 'https://doi.org/10.1016/j.jqsrt.2011.06.014' is not accepted by the pattern '10\.[0-9]{4,9}/.{1,200}'.
pdebuyl commented 1 year ago

Woops, @RupeshJey please check all references.

cfranken commented 1 year ago

I checked the doi links and these are the correct DOIs. It seems it doesn't accept letters or brackets but the DOI links are correct

On Tue, Nov 29, 2022 at 1:40 PM Pierre de Buyl @.***> wrote:

Woops, @RupeshJey https://github.com/RupeshJey please check all references.

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/4575#issuecomment-1331352895, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACP3O5SH3ZQQP4INNVMCDJ3WKZZ4FANCNFSM533FNMNA . You are receiving this because you were mentioned.Message ID: @.***>

-- Christian Frankenberg

pdebuyl commented 1 year ago

DOIs in the bib file must be only "10.xxx" and not the doi link "https://doi.org/10.xxx". Even though the latter form is accepted as the official value for the DOI registry, it should not be used in the bib file. The links in the pdf have an extra "https" in front and the doi checker does not accept them.

Also, some papers don't have a DOI whereas there is likely one. Please check all.