soilwater / crnpy

A Python toolbox for handling common tasks with cosmic-ray neutron probes
https://soilwater.github.io/crnpy/
Other
10 stars 1 forks source link

Statement of Need/State of the Field #10

Closed danpower101 closed 6 months ago

danpower101 commented 11 months ago

This is part of the review of the https://github.com/openjournals/joss-reviews/issues/6025

There are already some python tools that process CRNS data e.g. crspy (Power et al., 2021), and corny (Schrön 2021).

The references should be included and a little more description on how this tool differs in its approach and compares to other CRNS processing tools.

Power, D., Rico-Ramirez, M. A., Desilets, S., Desilets, D., and Rosolem, R.: Cosmic-Ray neutron Sensor PYthon tool (crspy 1.2.1): an open-source tool for the processing of cosmic-ray neutron and soil moisture data, Geosci. Model Dev., 14, 7287–7307, https://doi.org/10.5194/gmd-14-7287-2021, 2021

Schrön, M.: CORNish PASDy – COsmic-Ray Neutron flavored PASDy PASDy – Processing and Analysis of Sensor Data in pYthon [data set], https://git.ufz.de/CRNS/cornish_pasdy, last access: xxx

joaquinperaza commented 8 months ago

The statement of need was updated to include previous developments,

Power, D., Rico-Ramirez, M. A., Desilets, S., Desilets, D., and Rosolem, R.: Cosmic-Ray neutron Sensor PYthon tool (crspy 1.2.1): an open-source tool for the processing of cosmic-ray neutron and soil moisture data, Geosci. Model Dev., 14, 7287–7307, https://doi.org/10.5194/gmd-14-7287-2021, 2021

Schrön, M.: CORNish PASDy – COsmic-Ray Neutron flavored PASDy PASDy – Processing and Analysis of Sensor Data in pYthon [data set], https://git.ufz.de/CRNS/cornish_pasdy, last access: xxx

and how this library differs from them in the following comit to the JOSS branch https://github.com/soilwater/crnpy/commit/e257e79f1cecab6b75b23ad7e76988c38b7ae9bf

elbeejay commented 8 months ago

@danpower101 can you comment here to acknowledge your acceptance of this revision (if you do)? Thanks

danpower101 commented 7 months ago

Mostly addressed, although one minor comment. The point about corny gives the impression it's only a GUI based software, but it does have a command line interface too. A minor adjustment here to reflect this wouldn't impact the rest of the text.

I would suggest corny is designed as a more integrated software (I define "integrated" here to mean that it runs all the steps from a single function call), whereas crnpy is more function based/modular (e.g., it can be added to jupyter notebooks or added to processing pipelines).

mschroen commented 6 months ago

Just a minor comment on Corny: it can definitely be used as an integrated end-to-end processor, raw data in, plots out. And admitteldy, this is the major application method for users so far. The GUI is just an add-on that is used by 50% of the users. Others simply use the console, as it runs the same procedures but much faster.

However, Corny was made many years ago with the same purpose in mind, to be modular in a sense that every single function can be used outside of Corny, in Jupyter notebooks , etc.. People are using this feature all the time in their Notebooks, e.g.:

from corny.grains.Koehli2021fiw import N2SM_Desilets
N2SM_Desilets(N=700, N0=1000)
# 0.131

You may also want to look at Corny's example/ folder which includes python scripts which are essentially interactive notebooks.

Naturally, Corny is not perfect at all, and just as crnpy, heavily relies on a user community that actively develops it. I'd appreciate any effort made to implement modularizaton better. But I wanted to make clear that Corny is neither just a GUI nor a black-box! It rather is a community-driven collection of useful and extensible python functions to do CRNS processing, in the first place! It'd be good if that could be communicated adequately in publications :-)

danpower101 commented 6 months ago

An update to the text seems appropriate here considering the comment from @mschroen. As he has shown, there are already instances where corny has also been used in Jupyter notebook pipelines and so the text in it's current form could give a false impression on corny.

andres-patrignani commented 6 months ago

@danpower101 I updated the sentence about the Corny library in the JOSS paper using similar words to those of @mschroen. I noticed that the Corny library is a bit harder to find online whereas CRNPy usually appears in the first page of results in Google and Bing search engines. All three libraries (crspy, Corny, and CRNPy) are similar, the two main aspects that we highlighted for CRNPy are the modularity and the online documentation. Please, let us know if you have a different opinion.

elbeejay commented 6 months ago

@joaquinperaza and @andres-patrignani a few comments regarding the statement of need portion of the paper:

andres-patrignani commented 6 months ago

@elbeejay I updated the Statement of Need. I decided to remove the comparison with the other libraries and focus on the contributions of CRNPy. Eventually users can decide what library they want to use. If the editor or reviewers prefer a different approach, please send @joaquinperaza and I a tentative sentence and we will incorporate it into the paper.

I believe we have addressed and implemented all the suggested changes made by the editors and the reviewers.

danpower101 commented 6 months ago

@andres-patrignani there still needs to be some reference to previous packages in the paper, which at the moment is missing.

To keep the focus on the contributions of CRNPy, after describing the need for software solutions, a sentence could be added such as:

"Python packages, such as crspy [@power2021cosmic] and corny [@cornish_pasdy], were previously developed in support of this. Here we present CRNPy, an alternative solution to support CRNP data processing. CRNPy was written with the aim to... [continue describing CRNPy]".

Perhaps @elbeejay could advise on this.

andres-patrignani commented 6 months ago

@danpower101 I cannot agree more with you. I appreciate providing some tentative text to avoid the endless back and forth. I incorporated the suggested changes into the article. This new edit should conform with JOSS documentation and with the suggestions made by the editor and the reviewers. Please, let us know if there is anything else that we should modify. If not, I would appreciate closing this issue.

elbeejay commented 6 months ago

I think @danpower101 is spot on - it is important to acknowledge the other tools that exist in this space. JOSS does not require point-by-point or specific feature comparisons to be made, only that the need for the tool is clearly stated with respect to the other available software that already exists.

Thank you both for iterating on this.

danpower101 commented 6 months ago

OK great, I'm happy with the adjustment and will close this issue