openjournals / joss-reviews

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

[REVIEW]: pypromice: A Python package for processing automated weather station data #5298

Closed editorialbot closed 1 year ago

editorialbot commented 1 year ago

Submitting author: !--author-handle-->@PennyHow<!--end-author-handle-- (Penelope How) Repository: https://github.com/GEUS-Glaciology-and-Climate/pypromice Branch with paper.md (empty if default branch): Version: v1.2.1 Editor: !--editor-->@observingClouds<!--end-editor-- Reviewers: @jroettenbacher, @simonrp84 Archive: 10.22008/FK2/3TSBF0

Status

status

Status badge code:

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

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

@jroettenbacher & @simonrp84, 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 @observingClouds 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 @jroettenbacher

📝 Checklist for @simonrp84

editorialbot commented 1 year 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 1 year ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.07 s (604.1 files/s, 109904.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          19            845           2157           2726
YAML                             7              8              7            405
TeX                              1             20              0            193
reStructuredText                 7            214            187            168
Markdown                         2             58              0            111
TOML                             2              7              8            108
DOS Batch                        1              8              1             26
make                             1              4              7              9
-------------------------------------------------------------------------------
SUM:                            40           1164           2367           3746
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 1 year ago

Wordcount for paper.md is 1030

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

OK DOIs

- 10.34194/geusb.v15.5045 is OK
- 10.1038/s41558-022-01441-2 is OK
- 10.5194/essd-13-3819-2021 is OK
- 10.17897/E594-NV64 is OK
- 10.22008/FK2/IW73UU is OK
- 10.22008/FK2/GNYFUK is OK
- 10.22008/FK2/IPOHT5 is OK
- 10.5334/jors.148 is OK
- 10.1038/nclimate2899 is OK
- 10.3389/feart.2022.970026 is OK
- 10.25923/c430-hb50 is OK
- 10.1175/BAMS-D-22-0082.1 is OK
- 10.1038/s41467-022-34049-3 is OK
- 10.5281/zenodo.3509134 is OK
- 10.22008/FK2/VVXGUT is OK

MISSING DOIs

- None

INVALID DOIs

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

jroettenbacher commented 1 year ago

Review checklist for @jroettenbacher

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

simonrp84 commented 1 year ago

Review checklist for @simonrp84

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

jroettenbacher commented 1 year ago

I opened an issue regarding a documentation update which would need to be fixed.

PennyHow commented 1 year ago

I opened an issue regarding a documentation update which would need to be fixed.

Thanks @jroettenbacher. Documentation has now been updated as part of the two most recent PRs - here and here.

observingClouds commented 1 year ago

Hi @jroettenbacher @simonrp84,

I just want to quickly touch base and see if there are any issues/questions you might have. It would be great if we could finish the review in the next two weeks.

Have a great start into the week, Hauke

jroettenbacher commented 1 year ago

Hi @observingClouds, thanks for getting back to us. I am done with my review. The code works as expected and the documentation is sufficient to guide first time users and potential contributors to a point where the package is working and one can interact with data.

There are a few tests included in the package but those are not documented. I opened an issue about this, but I don't see this as absolutely necessary for acceptance. Another nice to have feature in the documentation would be some example plots of the data, so one can get a rough idea of what the data can be used for and how it could be plotted. I opened another issue for that. Again, this is not absolutely necessary for acceptance.

Thus, I recommend the acceptance of the manuscript and package.

Best, Johannes

simonrp84 commented 1 year ago

I've not yet had time to look through this, but hope to do so later this week. Apologies for the delay.

observingClouds commented 1 year ago

@simonrp84 , no worries, you informed me already when I asked you to review.

PennyHow commented 1 year ago

There are a few tests included in the package but those are not documented. I opened an https://github.com/GEUS-Glaciology-and-Climate/pypromice/issues/135 about this, but I don't see this as absolutely necessary for acceptance. Another nice to have feature in the documentation would be some example plots of the data, so one can get a rough idea of what the data can be used for and how it could be plotted. I opened another https://github.com/GEUS-Glaciology-and-Climate/pypromice/issues/136 for that. Again, this is not absolutely necessary for acceptance.

As these are fairly straightforward requests, I don't see any problem in addressing these comments as part of this review and will be happy to take a look at this shortly. They are both valid points and will help with the usability of pypromice and our weather station data.

PennyHow commented 1 year ago

These comments have now been addressed in https://github.com/GEUS-Glaciology-and-Climate/pypromice/pull/137

observingClouds commented 1 year ago

Thank you @PennyHow for addressing the comments and @jroettenbacher to approve the changes. I see that we are getting closer to the finish line. If there are any questions, please let me know.

simonrp84 commented 1 year ago

I've now had a chance to look through this properly and overall it seems good! I raised one issue about the tests, and have a few minor comments below:

PennyHow commented 1 year ago

Thanks for the comments @simonrp84!

On github page: Add link to readthedocs as the website on the right hand upper side.

Would it be possible to create a conda version of the install to complement pip? Pip-only could be problematic for users as mixing pip and conda installs on the same environment can cause strange behaviour and issues.

I think the index page for readthedocs could be improved. Can you add an additional sentence or two after "pypromice is designed for processing and handling PROMICE automated weather station (AWS) data." to describe what PROMICE data is and why a tool is needed to handle it? I know you mention this elsewhere, but it would be nice tohave that up-front in the docs.

It's not immediately clear in the readthedocs pages where the example .toml files are located, it owuld be good to directly specify where the example toml files are from within the user guide section.

This may be a lack of library knowledge on my part, but why does the 'developer install 'section of the docs say that netcdf, xarray, pandas and pathlib need to be installed via conda? All the other dependencies are installed via pip when running "pip install ."

In the user guide, the code given in the Level 0 to Level 3 processing section is incorrectly indented, the leading space at the beginning of the lines should be removed.

simonrp84 commented 1 year ago

Thanks for your changes, all look good to me. Let me know your thoughts about conda and whether that's something you can do in the near future - if not then that could be something for a future release instead.

observingClouds commented 1 year ago

Thanks @simonrp84 for reviewing the new changes. I agree that the packaging is not necessary for the publication in JOSS, but it would make the software package more complete and easier for users to keep track of versions. Installations from the master branch could lead to installations of broken/development versions instead of operational releases.

@PennyHow please let us know about your decision. @simonrp84, could you please check if your checklist is up to date and you ticked off all steps that you reviewed?

simonrp84 commented 1 year ago

Oops, sorry I overlooked that @observingClouds. Done now.

PennyHow commented 1 year ago

@simonrp84, a distrbutable pip package is now set up here from our most recent release. This should update automatically when new repo releases are made, as defined by the new Action on this branch. Docs and readmes have also been updated on this branch.

I'll make a PR once we have come to an agreement about whether to include a conda package or not. I've been having a look at some way of making the conda package from the pip package using conda skeleton or grayskull and therefore would be able to do this under the same Action triggered on a repo release. However, if it is not necessary for this review then I personally think we could work towards this in the future after some more stringent testing. It is still a very good suggestion and I am happy to continue working on it beyond this review. Let me know what you think and if this is okay @observingClouds.

PennyHow commented 1 year ago

Hi again @observingClouds, I've been testing a conda build of pypromice and all is working okay. The only thing is that one of our dependencies, pydataverse, is not available as a conda package and all dependencies must be conda builds in order for it to work.

So the options are to either

This is quite an important dependency as it is how our users can access our datasets through the pypromice.get module. Therefore I'm currently trying to implement the latter option and have opened an issue with pydataverse. I've successfully made a conda build for pydataverse myself, so I am hoping they will see that it is relatively straightforward.

Again, I am happy to continue pursuing this outside this JOSS review and hope this demonstrates that we have the ball rolling on getting pypromice a conda distribution.

observingClouds commented 1 year ago

@editorialbot check references

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

OK DOIs

- 10.34194/geusb.v15.5045 is OK
- 10.1038/s41558-022-01441-2 is OK
- 10.5194/essd-13-3819-2021 is OK
- 10.17897/E594-NV64 is OK
- 10.22008/FK2/IW73UU is OK
- 10.22008/FK2/GNYFUK is OK
- 10.22008/FK2/IPOHT5 is OK
- 10.5334/jors.148 is OK
- 10.1038/nclimate2899 is OK
- 10.3389/feart.2022.970026 is OK
- 10.25923/c430-hb50 is OK
- 10.1175/BAMS-D-22-0082.1 is OK
- 10.1038/s41467-022-34049-3 is OK
- 10.5281/zenodo.3509134 is OK
- 10.22008/FK2/VVXGUT is OK

MISSING DOIs

- None

INVALID DOIs

- None
observingClouds 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:

observingClouds commented 1 year ago

@simonrp84 @jroettenbacher thank you very much for your collaboration and time investment. I appreciate it a lot! 🏅 At this point the review process is complete.

observingClouds commented 1 year ago

Hi @PennyHow, Please excuse the delay. I totally agree that the dependency should not further delay the acceptance of this submission. A few items are left to do now before I can recommend the acceptance. Could you please:

Thank you!

simonrp84 commented 1 year ago

My pleasure! Congrats, @PennyHow et al for a nice paper and a great new library.

PennyHow commented 1 year ago

Great! I'll make a start on those requests and let you know when it is all finalized. Thanks for a really nice review process, and some great comments and feedback!

PennyHow commented 1 year ago

@observingClouds, here is what you requested:

  • [X] Make a tagged release of your software, and list the version tag of the archived version here. You might want to consider merging the pip-branch beforehand.

Done. The pip-branch has been merged and the new release is here. The release tag is v1.2.0

  • [X] Archive the reviewed software in Zenodo or a similar service (e.g., figshare, an institutional repository)

Done. Our institute uses Dataverse, which we have been using to store pypromice releases here

  • [X] Check the archival deposit (e.g., in Zenodo) has the correct metadata. This includes the title (should match the paper title) and author list (make sure the list is correct and people who only made a small fix are not on it). You may also add the authors' ORCID.

Done. On the Dataverse entry, the title fits with the pypromice release and the authorship list corresponds to our JOSS paper submission (including ORCID ids)

  • [X] Please list the DOI of the archived version here.

doi:10.22008/FK2/3TSBF0

observingClouds commented 1 year ago

@editorialbot set 10.22008/FK2/3TSBF0 as archive

editorialbot commented 1 year ago

Done! archive is now 10.22008/FK2/3TSBF0

observingClouds commented 1 year ago

@editorialbot set v1.2.0 as version

editorialbot commented 1 year ago

Done! version is now v1.2.0

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

observingClouds commented 1 year ago

@editorialbot check references

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

OK DOIs

- 10.34194/geusb.v15.5045 is OK
- 10.1038/s41558-022-01441-2 is OK
- 10.5194/essd-13-3819-2021 is OK
- 10.17897/E594-NV64 is OK
- 10.22008/FK2/IW73UU is OK
- 10.22008/FK2/GNYFUK is OK
- 10.22008/FK2/IPOHT5 is OK
- 10.5334/jors.148 is OK
- 10.1038/nclimate2899 is OK
- 10.3389/feart.2022.970026 is OK
- 10.25923/c430-hb50 is OK
- 10.1175/BAMS-D-22-0082.1 is OK
- 10.1038/s41467-022-34049-3 is OK
- 10.5281/zenodo.3509134 is OK
- 10.22008/FK2/VVXGUT is OK

MISSING DOIs

- None

INVALID DOIs

- None
observingClouds commented 1 year ago

Thanks @PennyHow for going through the checklist. It looks all good to me 🥳 I'll hand the manuscript now over to the EiC who will take a last look and do the actual publishing. This will happen rather quickly.

Many thanks again to @jroettenbacher and @simonrp84 to take the time to review this submission.

observingClouds 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.34194/geusb.v15.5045 is OK
- 10.1038/s41558-022-01441-2 is OK
- 10.5194/essd-13-3819-2021 is OK
- 10.17897/E594-NV64 is OK
- 10.22008/FK2/IW73UU is OK
- 10.22008/FK2/GNYFUK is OK
- 10.22008/FK2/IPOHT5 is OK
- 10.5334/jors.148 is OK
- 10.1038/nclimate2899 is OK
- 10.3389/feart.2022.970026 is OK
- 10.25923/c430-hb50 is OK
- 10.1175/BAMS-D-22-0082.1 is OK
- 10.1038/s41467-022-34049-3 is OK
- 10.5281/zenodo.3509134 is OK
- 10.22008/FK2/VVXGUT is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 1 year ago

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

Check final proof :point_right::page_facing_up: Download article

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

PennyHow commented 1 year ago

Thanks @PennyHow for going through the checklist. It looks all good to me partying_face I'll hand the manuscript now over to the EiC who will take a last look and do the actual publishing. This will happen rather quickly.

Many thanks again to @jroettenbacher and @simonrp84 to take the time to review this submission.

Thanks @observingClouds! And thanks again @simonrp84 and @jroettenbacher

PennyHow commented 1 year ago

Hi again @observingClouds, I've just been told that the DOIs for our weather station dataset are being merged into one, so they will have a different DOI to those cited in the JOSS paper. Would it be possible to edit the paper with this update?

Sorry for this (very) late edit. I was unaware that this plan was being put into action imminently by our organization.

observingClouds commented 1 year ago

Hi @PennyHow, As DOIs should be persistent identifiers they should continue to point to the same datasets, but if you like to cite a collection DOI or a newer version of the dataset, please go ahead and change the paper and references accordingly and we'll see what we can do.

observingClouds commented 1 year ago

@openjournals/ese-eics @kthyng please wait until https://github.com/openjournals/joss-reviews/issues/5298#issuecomment-1561082423 has been addressed. I remove the recommend-accept label for now.

PennyHow commented 1 year ago

Thanks so much @observingClouds! I've now made the change and the DOI has been updated to reflect the most recent changes. I'll run the editorial checks again. Then please feel free to continue with the acceptance and proofing.