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]: NCDatasets.jl: a Julia package for manipulating netCDF data sets #6504

Closed
editorialbot opened this issue Mar 19, 2024 · 47 comments
Closed
Assignees
Labels
accepted Julia published Papers published in JOSS R review TeX Track: 6 (ESE) Earth Sciences and Ecology

Comments

@editorialbot
Copy link
Collaborator

editorialbot commented Mar 19, 2024

Submitting author: @Alexander-Barth (Alexander Barth)
Repository: https://github.com/Alexander-Barth/NCDatasets.jl
Branch with paper.md (empty if default branch): joss
Version: v0.14.4
Editor: @majensen
Reviewers: @lanari, @boriskaus
Archive: 10.5281/zenodo.11067062

Status

status

Status badge code:

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

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

@lanari & @boriskaus, 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 @majensen 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 @boriskaus

📝 Checklist for @lanari

@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

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

OK DOIs

- 10.1109/38.56302 is OK
- 10.5194/gmd-2021-353 is OK
- 10.5194/essd-15-225-2023 is OK
- 10.5194/essd-13-5915-2021 is OK
- 10.21105/joss.02018 is OK
- 10.3389/fenvs.2021.711363 is OK
- 10.5194/gmd-10-4619-2017 is OK

MISSING DOIs

- No DOI given, and none found for title: NetCDF Binary Encoding Extension Standard: NetCDF ...
- No DOI given, and none found for title: NetCDF-4: Software Implementing an Enhanced Data M...
- No DOI given, and none found for title: Zarr Storage Specification 2.0 Community Standard
- No DOI given, and none found for title: NCDatasets: A julia package for manipulating netCD...
- No DOI given, and none found for title: SpeedyWeather.jl: Reinventing atmospheric general ...
- No DOI given, and none found for title: NetCDF Climate and Forecast (CF) Metadata Conventi...

INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

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

@editorialbot
Copy link
Collaborator Author

Software report:

github.com/AlDanial/cloc v 1.90  T=0.07 s (1305.6 files/s, 196545.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Julia                           64           1986           1752           4474
SVG                              1              1              1           3281
Markdown                        14            479              0           1227
YAML                             6              9              8            210
TeX                              1             17              0            119
TOML                             2              5              1             37
R                                1             13              6             28
Python                           1             10              3             25
Bourne Shell                     1              2              0              5
-------------------------------------------------------------------------------
SUM:                            91           2522           1771           9406
-------------------------------------------------------------------------------

Commit count by author:

   893	Alexander Barth
    32	Tristan Carion
    22	Datseris
    22	George Datseris
    21	Martijn Visser
    10	ctroupin
     6	Rafael Schouten
     6	adigitoleo
     5	Argel Ramírez Reyes
     4	Kene Uba
     4	Philippe Roy
     4	github-actions[bot]
     2	Gregory L. Wagner
     2	Gregory Wagner
     2	Peter Shin
     2	gaelforget
     1	Benoit Pasquier
     1	Charles Kawczynski
     1	Gael Forget
     1	Julia TagBot
     1	Navid C. Constantinou
     1	Peter
     1	Steven G. Johnson
     1	tcarion

@editorialbot
Copy link
Collaborator Author

Paper file info:

📄 Wordcount for paper.md is 1070

✅ The paper includes a Statement of need section

@editorialbot
Copy link
Collaborator Author

License info:

🟡 License found: Other (Check here for OSI approval)

@boriskaus
Copy link

boriskaus commented Mar 19, 2024

Review checklist for @boriskaus

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/Alexander-Barth/NCDatasets.jl?
  • License: Does the repository contain a plain-text LICENSE or COPYING file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@Alexander-Barth) 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?

@Alexander-Barth
Copy link

Alexander-Barth commented Mar 19, 2024

The editorialbot did not detect the MIT license of the package. I just changed the markdown license to a plain-text license which seems to be more in line with recently published joss paper.

@boriskaus
Copy link

@Alexander-Barth: I was checking your readme, and while it all works, I think it could be improved by changing the order of the sections in README by first creating a netCDF file /tmp/test.nc, which is then loaded in a next step.
If a new user works through the current README, the first step involves using ds = NCDataset("file.nc"), which errors as file.nc is not present.

@Alexander-Barth
Copy link

Thanks @boriskaus for this good suggestion! I implemented this change here: Alexander-Barth/NCDatasets.jl@2fe4efb .

@boriskaus
Copy link

@Alexander-Barth as part of the review they ask me to verify that your performance claims are correct. You did a nice job of describing how to set this up and run it, but unfortunately I don’t have access to a Linux machine where I have root access. The testing doesn’t seem to work on a Mac.
Is there any possibility for this to run in a way that doesn’t require root access? I guess others may run into the same issue if trying this.

@Alexander-Barth
Copy link

In fact, the performance timing are quite similar if I disable the OS-specific flushing of the memory:

Module median minimum mean std. dev.
R-ncdf4 0.346 0.329 0.351 0.017
python-netCDF4 0.428 0.414 0.432 0.021
julia-NCDatasets 0.265 0.253 0.267 0.019

The standard deviation of the timings is a bit larger but mean/minimum/mean are similar.

Would it be OK, if I implement an option to the script like --disable-cache-dropping that avoids this OS-specific command? As a result, one can use the benchmark on all platforms without being root.

@boriskaus
Copy link

Yes that seems a fine idea to me

@Alexander-Barth
Copy link

I updated the benchmark here: Alexander-Barth/NCDatasets.jl@27a2992

In fact, "not dropping the caches" is now the default so that you should be able to reproduce the benchmark simply with running the script ./benchmark.sh. I also updated the description here:

https://github.com/Alexander-Barth/NCDatasets.jl/blob/master/test/perf/README.md

@boriskaus
Copy link

thanks a lot. I managed to reproduce this on Mac (M2). The numbers are fairly similar and Julia remains on top:

Module median minimum mean std. dev.
R-ncdf4 0.341 0.304 0.354 0.035
python-netCDF4 0.225 0.201 0.227 0.018
julia-NCDatasets 0.219 0.205 0.220 0.009

@boriskaus
Copy link

This is a very well-written package that is extremely useful. Great job!

@majensen: this concludes my review. @lanari: your turn now

@Alexander-Barth
Copy link

Alexander-Barth commented Mar 22, 2024

Thank you very much @boriskaus !

@majensen
Copy link
Member

majensen commented Apr 7, 2024

@lanari - how is your review of #6504 coming along? Thanks -

@lanari
Copy link

lanari commented Apr 9, 2024

@majensen I will try to submit my review next week. Sorry for the delay.

@lanari
Copy link

lanari commented Apr 18, 2024

Review checklist for @lanari

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/Alexander-Barth/NCDatasets.jl?
  • License: Does the repository contain a plain-text LICENSE or COPYING file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@Alexander-Barth) 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?

@lanari
Copy link

lanari commented Apr 18, 2024

@Alexander-Barth, please accept my apologies for the delay in reviewing your work.

@majensen This is a well-designed package and I think it will be very useful for the community. The repository contains all the necessary files and the examples given are easy to reproduce. The software paper is clear and well written. I strongly recommend publication.

For comparison, here is the package's performance on a MacBook Pro 2.3GHz 8-core Intel Core i9:

Module median minimum mean std. dev.
julia-NCDatasets 0.312 0.247 0.384 0.030

@Alexander-Barth
Copy link

Alexander-Barth commented Apr 18, 2024

@lanari : There is no problem at all. Thank you very much for your time looking at my package!

@majensen
Copy link
Member

Ok @Alexander-Barth - I will have an editorial look at the paper itself, this usually leads to very minor changes. Can you create an archive of the code base using Zenodo or similar? I have a little tutorial here. Then report the version and the DOI back to this thread. Thanks!

@Alexander-Barth
Copy link

I just created a new release with the Zenodo-Github link activated:

The DOI is 10.5281/zenodo.11067062 corresponding to the NCDatasets version v0.14.4.

@majensen
Copy link
Member

@editorialbot set 10.5281/zenodo.11067062 as archive

@editorialbot
Copy link
Collaborator Author

Done! archive is now 10.5281/zenodo.11067062

@majensen
Copy link
Member

@editorialbot set v0.14.4 as version

@editorialbot
Copy link
Collaborator Author

Done! version is now v0.14.4

@crvernon
Copy link

👋 @majensen - it looks like this one is almost ready to accept. Could you follow up in this thread? Thanks!

@kthyng
Copy link

kthyng commented May 28, 2024

Hi! I'll take over now as Track Associate Editor in Chief to do some final submission editing checks. After these checks are complete, I will publish your submission!

  • Are checklists all checked off?
  • Check that version was updated and make sure the version from JOSS matches github and Zenodo.
  • Check that software archive exists, has been input to JOSS, and title and author list match JOSS paper (or purposefully do not).
  • Check paper.

@kthyng
Copy link

kthyng commented May 28, 2024

@editorialbot generate pdf

@kthyng
Copy link

kthyng commented May 28, 2024

@Alexander-Barth Can you update your Zenodo title and author list to exactly match your JOSS paper? This is a preference not a requirement so the JOSS archive is self-consistent.

@editorialbot
Copy link
Collaborator Author

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

@kthyng
Copy link

kthyng commented May 28, 2024

@Alexander-Barth Also please check the capitalization in your references. You can preserve capitalization by placing {} around characters/words in your .bib file.

@Alexander-Barth
Copy link

Alexander-Barth commented May 28, 2024

Thanks a lot for spotting these issues! I fixed the capitalization in the references, and updated author/title of the Zenodo archive to match the JOSS paper.

While proof-reading the paper, I made these (small) changes to the paper:

Alexander-Barth/NCDatasets.jl@a007ff1

Alexander-Barth/NCDatasets.jl@f8d7643

I hope that this is ok for you :-)

(I do not have any other changes)

@Alexander-Barth
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

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

@kthyng
Copy link

kthyng commented May 29, 2024

@Alexander-Barth Yes, looks great!

@kthyng
Copy link

kthyng commented May 29, 2024

@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: Barth
  given-names: Alexander
  orcid: "https://orcid.org/0000-0003-2952-5997"
doi: 10.5281/zenodo.11067062
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Barth
    given-names: Alexander
    orcid: "https://orcid.org/0000-0003-2952-5997"
  date-published: 2024-05-29
  doi: 10.21105/joss.06504
  issn: 2475-9066
  issue: 97
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6504
  title: "NCDatasets.jl: a Julia package for manipulating netCDF data
    sets"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06504"
  volume: 9
title: "NCDatasets.jl: a Julia package for manipulating netCDF data
  sets"

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.06504 joss-papers#5407
  2. Wait five minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.06504
  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 May 29, 2024
@kthyng
Copy link

kthyng commented May 29, 2024

Congratulations on your new publication @Alexander-Barth! Many thanks to @majensen and to reviewers @lanari and @boriskaus for your time, hard work, and expertise!! JOSS wouldn't be able to function nor succeed without your efforts.

@kthyng kthyng closed this as completed May 29, 2024
@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.06504/status.svg)](https://doi.org/10.21105/joss.06504)

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

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

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:

@kthyng
Copy link

kthyng commented May 29, 2024

@Alexander-Barth If you're interested in joining JOSS as a reviewer, please sign up in the database here: https://reviewers.joss.theoj.org/.

@Alexander-Barth
Copy link

Thanks @kthyng , @majensen, @boriskaus and @lanari for your work as editor and reviewer!

I would be glad to help as a reviewer too in future :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted Julia published Papers published in JOSS R review TeX Track: 6 (ESE) Earth Sciences and Ecology
Projects
None yet
Development

No branches or pull requests

7 participants