Joss-reviews: [REVIEW]: The Dusty Evolved Star Kit (DESK): A Python package for fitting the Spectral Energy Distribution of Evolved Stars

Created on 6 Aug 2020  ยท  59Comments  ยท  Source: openjournals/joss-reviews

Submitting author: @s-goldman (Steve Goldman)
Repository: https://github.com/s-goldman/Dusty-Evolved-Star-Kit
Version: v1.7.0
Editor: @arfon
Reviewer: @Deech08, @TomGoffrey
Archive: 10.5281/zenodo.4064241

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

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

@Deech08 & @TomGoffrey, 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 @arfon 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 @Deech08

Conflict of interest

  • [x] 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

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Contribution and authorship: Has the submitting author (@s-goldman) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] 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

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • [x] 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

  • [x] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

Review checklist for @TomGoffrey

Conflict of interest

  • [x] 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

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Contribution and authorship: Has the submitting author (@s-goldman) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] 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

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • [x] 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

  • [x] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] 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?
Makefile Python TeX accepted published recommend-accept review

All 59 comments

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @Deech08, @TomGoffrey it looks like you're currently assigned to review this paper :tada:.

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

:star: Important :star:

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews ๐Ÿ˜ฟ

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

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

@whedon commands

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

@whedon generate pdf
Reference check summary:

OK DOIs

- 10.1046/j.1365-8711.2001.04706.x is OK
- 10.1086/367818 is OK
- 10.1088/0004-637X/716/1/878 is OK
- 10.1051/0004-6361/201117033 is OK
- 10.1093/mnras/stw2708 is OK
- 10.1093/mnras/stz1255 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@Deech08, @TomGoffrey - please carry out your review in this issue by updating the checklist above and giving feedback in this issue. The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html

Any questions/concerns please let me know.

Some comments from my first quick run through you might want to consider:

  1. Consider replacing 'BSD License' with '3-clause BSD License' or 'BSD-3-Clause' or something a little more specific in the LICENSE file.
  2. Is there a complete example contained within the repository anywhere? I see lots of comments similar to --source='target_name.csv' in the docs. Could such a csv file be include?
  3. In CONTRIBUTING.rst there's a suggestion to use flake8 to check the code, but a cursory check of a few files suggests the code isn't fully PEP8 compliant. I've not used flake8 so perhaps I have miss understood something.

@TomGoffrey Thanks for the comments, and so quickly.

  1. Can do
  2. I can be more explicit in the documentation, but running the code desk fit runs the code using the 3 examples sources in the put_target_data_here directory.
  3. That should be updated to say just to use pytest. Style checks are done by Codacy after a pull request. Thank you for catching that.

All really helpful comments, and I look forward to more. Thanks Tom.

Edit: Completed in pull request 144

Thanks @s-goldman. For some reason I didn't think to look in put_target_data_here, hopefully I'll have time to start running the code tomorrow.

For collected minor comments like the above I'll just post them here. If I think it's more major/will require extended discussion I'll open up issues. Hope that works for you.

Oh, @Deech08, I forgot to say earlier, best of luck with your defence!

Looking at the paper I have a couple of general comments:

  1. I think you should list all the available grids, with the appropriate citations, as you've done on in the online documentation. A table format might be appropriate (name, size, description + citation)?
  2. The included figures would be a lot more useful if you included a description of what they are and how they were generated using desk. I think the latter is already included in the online documentation also.

Sorry this review is a little drip fed, a necessity of time constraints unfortunately.

@Deech08, @TomGoffrey - please carry out your review in this issue by updating the checklist above and giving feedback in this issue. The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html

Any questions/concerns please let me know.

@arfon I'm having trouble getting "edit" access to the checklist. The link to accept the invitation seemed to have expired on my end (sorry I didn't get around to doing that sooner).

@TomGoffrey This works fine for me. Thanks for the feedback so far. @Deech08 I hope the defense went well!

@whedon re-invite @Deech08 as reviewer

OK, the reviewer has been re-invited.

@deech08 please accept the invite by clicking this link: https://github.com/openjournals/joss-reviews/invitations

@arfon I'm having trouble getting "edit" access to the checklist. The link to accept the invitation seemed to have expired on my end (sorry I didn't get around to doing that sooner).

No problem. These unfortunately expire these days but you should be able to accept the invite again now โ˜๏ธ

@s-goldman Could I also check if desk has been used in any previous publications? If so, these should be listed as per the guidance on paper contents, and would obviously strengthen the statement of need.

If it hasn't been used, that's certainly not a problem, but some discussion of how this work fits in with the wider context would be helpful. For example, are there large data sets that could be handled by desk?

@s-goldman Could I also check if desk has been used in any previous publications? If so, these should be listed as per the guidance on paper contents, and would obviously strengthen the statement of need.

The method has been used in each of my previous first author publications and Orosz et al. 2017, but not mentioned explicitly by name. It was also mentioned in Nanni et al. 2019, but results from the code were not used. I'm not sure if these count?

If it hasn't been used, that's certainly not a problem, but some discussion of how this work fits in with the wider context would be helpful. For example, are there large data sets that could be handled by desk?

I have used the package on sets of tens of thousands of sources detected with the PHAT survey. In theory you could fit as many sources as you want. This will be huge with the launch of the James Webb Space Telescope, when we have a flood of new IR data. As these stars are also variable, the LSST will also identify large samples of evolved stars.

Looking at the paper I have a couple of general comments:

  1. I think you should list all the available grids, with the appropriate citations, as you've done on in the online documentation. A table format might be appropriate (name, size, description + citation)?
  2. The included figures would be a lot more useful if you included a description of what they are and how they were generated using desk. I think the latter is already included in the online documentation also.

Sorry this review is a little drip fed, a necessity of time constraints unfortunately.

Thanks for these suggestions. I have added a more descriptive figure caption and a table with the grid parameters. The Markdown table format wouldn't fit, so the table is added as a png, and the latex files used to create the figure are now in the paper directory.

desk_paper_preview.pdf

@s-goldman - looking at the cross-linked issues above, it seems like you've had a bunch more feedback. How are you getting along with your responses to these?

@arfon Thank you for pointing this out. I wasn't getting notifications for the new issues, but I've changed that. I'll get right on these issues.

@s-goldman - a minor comment on your paper: The last sentence states its easy to create and add model grids, but it doesn't seem like this is a current feature, but rather something that you plan to implement in the future. It may be best to state that more clearly.

Other than the last couple minor issues I opened, i think you've addressed most of my other concerns. I'll check through all the latest code/docs in the next few days and should be finished with my review then!

@s-goldman - a minor comment on your paper: The last sentence states its easy to create and add model grids, but it doesn't seem like this is a current feature, but rather something that you plan to implement in the future. It may be best to state that more clearly.

Other than the last couple minor issues I opened, i think you've addressed most of my other concerns. I'll check through all the latest code/docs in the next few days and should be finished with my review then!

Fixed in Issue #164

All other issues opened for the JOSS review (up-to-this-point) have been addressed.

@arfon - Everything looks to be in good working order from my checks and @s-goldman handled all the issues I raised. I'm happy with the state of things currently so it's all good to go for me unless other major changes come up from @TomGoffrey

Thanks @Deech08! @TomGoffrey - how are you getting on closing out your review?

@whedon generate pdf

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

@arfon Apologies, I'd taken some time off before the start of term. I think we should be able to get this completed in a day or so.

@s-goldman Which branch should I be using to generate the latest version of the paper?

@TomGoffrey The paper.md file on the main branch is now the most up-to-date.

Thanks, in case it's useful in future:

@whedon generate pdf from branch origin/<some_branch_name>

generates the paper from a given branch.

I'll take a look tomorrow.

@TomGoffrey Good to know, thanks.

@whedon generate pdf

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

I've raised a few issues I came across whilst looking through this.

Other than that my only other comment is to come back to the discussion of citing previous use. In your readme you state:

The method used is similar to that of [Goldman et al. 2017]...

The docs for JOSS ("What should my paper contain?") state:

Mention (if applicable) a representative set of past or ongoing research projects using the software and recent scholarly publications enabled by it.

My understanding is that Goldman et al. 2017 used an early version of the code, but that's not stated in the paper, so you may wish to include a comment to that effect.

@TomGoffrey Thanks for the issues and for really testing the limits of the code. I'll try to have these done soon.

I was a little unsure on how to phrase how the code was previously used, and was hoping you might give some guidance on it, so thank you. I will add that an earlier version of the code has been used in Orosz et al. 2017 & Goldman et al. 2017, 2018, 2019a, 2019b, and cited in Nanni et al. 2019.

No worries. I think something along the lines of

Early versions of this package have been used in X, Y, Z

should be fine.

I'm still trying to work out if the OrderedDict error is specific to my set-up, or a python3.6 vs python3.7 issue. I know there were changes to Dict vs OrderedDict between those two versions, but I'm not aware of those changes causing such an issue.

I'm still trying to work out if the OrderedDict error is specific to my set-up, or a python3.6 vs python3.7 issue. I know there were changes to Dict vs OrderedDict between those two versions, but I'm not aware of those changes causing such an issue.

@TomGoffrey I appreciate that, i'll try to see if I can reproduce the error on my end.

The paper has been updated in commit 22b6033.

@whedon generate pdf

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

OK, so my last remaining point is a question over the references in the table. I think these ought to be in the references for the paper, but they're missing.

I'm guessing this is related to the fact you've had to include an image of the table rather than include it directly as markdown. Could I clarify what the issue with the markdown for the table was? Did it just not fit on the page?

@TomGoffrey Yes, I tried to use a markdown table but it didn't really fit and I wasn't quite satisfied. Here is an
example of what that looked like.

I am very open to reformatting the table however you Dhanesh, and Arfon think works the best. Regardless, I have added the references that I missed, reformatted the table to make it more readable, and made some small edits to the paper to improve the flow in PR 176

@whedon generate pdf

@whedon generate pdf

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

That new table looks good to me.

@arfon My review is complete, happy to recommend publication.

This all looks good to me as well!

Thank you both for digging through the code and for all of the helpful suggestions!

@s-goldman - At this point could you make a new release of this software that includes the changes that have resulted from this review. Then, please make an archive of the software in Zenodo/figshare/other service and update this thread with the DOI of the archive? For the Zenodo/figshare archive, please make sure that:

  • The title of the archive is the same as the JOSS paper title
  • That the authors of the archive are the same as the JOSS paper authors

I can then move forward with accepting the submission.

@arfon Zenodo link

@whedon generate pdf

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

@whedon set 10.5281/zenodo.4064241 as archive

OK. 10.5281/zenodo.4064241 is the archive.

@whedon accept

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

OK DOIs

- 10.1093/mnras/stw222 is OK
- 10.1086/303597 is OK
- 10.1046/j.1365-8711.2001.04706.x is OK
- 10.3847/1538-3881/153/3/119 is OK
- 10.1086/367818 is OK
- 10.1088/0004-637X/716/1/878 is OK
- 10.1088/0004-637X/716/1/878 is OK
- 10.1051/0004-6361/201117033 is OK
- 10.1093/mnras/stw2708 is OK
- 10.1093/mnras/stx2601 is OK
- 10.3847/1538-4357/ab418a is OK
- 10.1093/mnras/stz1255 is OK
- 10.1093/mnras/282.4.1321 is OK

MISSING DOIs

- None

INVALID DOIs

- None

: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/1777

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

@whedon accept deposit=true

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

๐Ÿฆ๐Ÿฆ๐Ÿฆ ๐Ÿ‘‰ Tweet for this paper ๐Ÿ‘ˆ ๐Ÿฆ๐Ÿฆ๐Ÿฆ

๐Ÿšจ๐Ÿšจ๐Ÿšจ 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/1778
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.02554
  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...

@Deech08, @TomGoffrey - many thanks for your reviews here โœจ

@s-goldman - your paper is now accepted into JOSS :zap::rocket::boom:

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

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

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

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

Was this page helpful?
0 / 5 - 0 ratings