openjournals / joss-reviews

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

[REVIEW]: MWRpy: A Python package for processing microwave radiometer data #6733

Closed editorialbot closed 3 months ago

editorialbot commented 4 months ago

Submitting author: !--author-handle-->@tobiasmarke<!--end-author-handle-- (Tobias Marke) Repository: https://github.com/actris-cloudnet/mwrpy Branch with paper.md (empty if default branch): paper Version: v1.0.0 Editor: !--editor-->@mengqi-z<!--end-editor-- Reviewers: @Subho07, @kvenkman Archive: 10.5281/zenodo.11614185

Status

status

Status badge code:

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

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

@Subho07 & @kvenkman, 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 @mengqi-z 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 @kvenkman

πŸ“ Checklist for @Subho07

editorialbot commented 4 months 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 4 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.5281/zenodo.7973552 is OK
- 10.1175/BAMS-88-6-883 is OK
- 10.1175/BAMS-D-23-0064.1 is OK
- 10.21105/joss.02123 is OK
- 10.23919/URSIRSB.2004.7909438 is OK
- 10.1007/s42865-021-00033-w is OK
- 10.1109/TGRS.2006.888434 is OK
- 10.1029/2002RS002634 is OK
- 10.5194/amt-5-1121-2012 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 4 months ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.07 s (823.2 files/s, 141212.6 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          31            854            566           6645
YAML                             9            159            174            351
Markdown                         4            108              0            261
reStructuredText                 5             73             70            106
TeX                              1              8              0            103
TOML                             1             10              0             55
DOS Batch                        1              8              1             26
make                             1              4              7              9
HTML                             2              0              0              5
CSS                              1              0              0              3
-------------------------------------------------------------------------------
SUM:                            56           1224            818           7564
-------------------------------------------------------------------------------

Commit count by author:

   126  Simo Tukiainen
    70  tobiasmarke
    31  Tuomas Siipola
editorialbot commented 4 months ago

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

editorialbot commented 4 months ago

Paper file info:

πŸ“„ Wordcount for paper.md is 951

βœ… The paper includes a Statement of need section

editorialbot commented 4 months ago

License info:

βœ… License found: MIT License (Valid open source OSI approved license)

mengqi-z commented 4 months ago

πŸ‘‹ @tobiasmarke, @Subho07, and @kvenkman, Welcome to the review thread for the paper. All communication regarding this submission will take place here.

Please start by reading the "Reviewer instructions & questions" in the first comment above.

Reviewers, please create your checklists outlining JOSS requirements. As you assess the submission, mark any items you believe have been satisfied. Additionally, refer to the JOSS reviewer guidelines linked at the top of this thread.

Our aim is to collaborate with authors to help them meet our criteria. Reviewers are encouraged to submit issues and pull requests directly on the software repository. When doing so, please tag https://github.com/openjournals/joss-reviews/issues/6733 in the issue to create a link to this thread, enabling easy tracking. Please feel free to post comments, questions, and suggestions as they arise, rather than waiting until the entire package is reviewed.

We target completing reviews within 4-6 weeks, but please initiate your review well in advance. JOSS reviews are iterative, and your early feedback will help us stay on schedule.

tobiasmarke commented 4 months ago

@editorialbot set v0.9.0 as version

editorialbot commented 4 months ago

I'm sorry @tobiasmarke, I'm afraid I can't do that. That's something only editors are allowed to do.

kvenkman commented 4 months ago

Review checklist for @kvenkman

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

mengqi-z commented 4 months ago

πŸ‘‹ @Subho07 and @kvenkman, Thank you for reviewing this paper. I see @kvenkman has started the review. @Subho07, could you please update me on your review progress?

Subho07 commented 4 months ago

Review checklist for @Subho07

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Subho07 commented 4 months ago

@editorialbot generate pdf

editorialbot commented 4 months ago

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

Subho07 commented 4 months ago

@mengqi-z @editorialbot I think a exisitng program is not mentioned, i.e. PyRTlib. This particular module works with radiative transfer functions which may also include the radiometer data. What is the difference between PyRTlib and MWRpy? Can the processes not be solved by PyRTlib? A flow chart may be required in the manuscript to understand the connectivity among the modules used in the software. Can the algorithms be applied for all type of microwave frequencies or any other pre-processing is required for some particular microwave frequencies? "is able to handle raw data from HATPRO manufactured by Radiometer Physics GmbH ": it sounds like the program is very specific to the product only, but can not be used for other products. Otherwise the manuscript is well-written and easy to follow. The program also provides nice information on the installation procedure and has a test dataset that can be used to generate the test result for validation.

mengqi-z commented 4 months ago

Thank you, @Subho07!

@tobiasmarke Could you please address @Subho07 's comments above? The paper should also include a section describing how this software compares to others.

tobiasmarke commented 4 months ago

@editorialbot generate pdf

editorialbot commented 4 months ago

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

tobiasmarke commented 4 months ago

@Subho07 thanks for reviewing and your comments.

We are aware of PyRTlib, but it serves a different purpose. As you mentioned, the software is developed to simulate microwave brightness temperatures. On the other hand, MWRpy handles measured data by MWR, applies quality control and creates a common file format. Therefore, there is no overlap between the two software packages.

Another MWR processing software from a different European network (E-PROFILE) is now mentioned in the text. While E-PROFILE is focusing on near-real-time data provision and being hosted by the National Weather Services, ACTRIS is a research infrastructure with different scientific goals. There is an overlap in the data format, but there are for example differences in product generation and some stations might be part of both networks. Therefore the two approaches are needed.

A flowchart was added to the manuscript (and can also be found in the documentation).

Unlike PyRTlib, where a full spectrum can be simulated, MWRpy is restricted to the instrument configuration and supplied frequencies. But in general different frequency combinations are supported. "measured T_B at various frequencies" was added to the manuscript.

Regarding supported instruments: other instrument types can be added in the future, but the focus is on handling data in the ACTRIS network, where currently only one type (RPG HATPRO) exists.

I hope this clarifies your questions/comments.

kvenkman commented 4 months ago

Hi @tobiasmarke, could you clarify where the input MWR data path needs to be specified when running the command line tool mwrpy/cli.py? Could you add this to the documentation page, if it isn't already explicitly mentioned somewhere?

Also, following up on your previous comment, perhaps the paper would benefit from a brief mention of PyRTlib and how it's a simulation tool, compared to the data processing step that MWRpy serves.

The paper and software package look great otherwise πŸ‘

tobiasmarke commented 4 months ago

Hi @kvenkman , thanks for reviewing.

The input data path can be specified in the configuration file mwrpy/site_config/hatpro.yaml. This is mentioned in the README under "Configuration" (including a link to an example file). In addition, the documentation includes examples on how to run single modules and manually setting the data path (https://actris-cloudnet.github.io/mwrpy/mwrpy_processing.html). The information about the configuration file was added to the command line usage section (currently in the "docs" branch, but will be merged soon).

PyRTlib is now mentioned and referenced as an example for microwave radiative transfer calculations. Those will be needed for the retrieval development in the ACTRIS network.

kvenkman commented 4 months ago

@editorialbot generate pdf

editorialbot commented 4 months ago

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

Subho07 commented 4 months ago

@editorialbot generate pdf

editorialbot commented 4 months ago

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

Subho07 commented 4 months ago

@mengqi-z @tobiasmarke Thanks for addressing the points. However, please add the difference between pyRTlib and the proposed package in the manuscript. Same for E-PROFILE. The technical comparison is still missing. The manuscript can be accepted afterwards.

tobiasmarke commented 3 months ago

@editorialbot generate pdf

editorialbot commented 3 months ago

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

tobiasmarke commented 3 months ago

@Subho07 I've added more details on the E-PROFILE package and how it differs from MWRpy. In addition, an extended description about the potential use of PyRTlib as a forward simulator for retrieval development in the network is now included.

tobiasmarke commented 3 months ago

@mengqi-z Please note that I'm currently on vacation (until June 9) and might not be able to respond quickly. Apologies for any delays this might cause.

mengqi-z commented 3 months ago

@mengqi-z Please note that I'm currently on vacation (until June 9) and might not be able to respond quickly. Apologies for any delays this might cause.

Thanks for the heads-up!

Subho07 commented 3 months ago

@mengqi-z The authors have addressed all the comments. The manuscript can be accepted. Congratulations to the authors!

mengqi-z commented 3 months ago

Thank you, @Subho07! I see there are three unchecked items in the 'General Checks' section of your review checklist. Could you please check off the remaining items if all the criteria are satisfied?

Subho07 commented 3 months ago

Thank you @mengqi-z. I have checked all the check boxes now.

mengqi-z commented 3 months ago

Hi @kvenkman, Thank you for reviewing the paper. I noticed that you have checked all the items on your checklist. Are there any additional comments or issues you would like the author to address? If not, please confirm your review decision. Thanks!

kvenkman commented 3 months ago

Hi @mengqi-z, I'm happy with the manuscript and the software package, and they can be accepted for publication. Great job @tobiasmarke !

mengqi-z commented 3 months ago

Hi @mengqi-z, I'm happy with the manuscript and the software package, and they can be accepted for publication. Great job @tobiasmarke !

Thank you @kvenkman !

tobiasmarke commented 3 months ago

Thanks @kvenkman & @Subho07 for the review! @mengqi-z would it make sense for the software archive to merge the paper branch with the main branch, make a new tagged release, and update the version here?

mengqi-z commented 3 months ago

@editorialbot generate pdf

mengqi-z commented 3 months ago

@editorialbot check references

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

OK DOIs

- 10.5281/zenodo.7973552 is OK
- 10.1175/BAMS-88-6-883 is OK
- 10.1175/BAMS-D-23-0064.1 is OK
- 10.21105/joss.02123 is OK
- 10.23919/URSIRSB.2004.7909438 is OK
- 10.1007/s42865-021-00033-w is OK
- 10.1109/TGRS.2006.888434 is OK
- 10.1029/2002RS002634 is OK
- 10.5194/amt-5-1121-2012 is OK
- 10.5194/gmd-17-2053-2024 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 3 months ago

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

mengqi-z commented 3 months ago

@tobiasmarke I have proofread the paper and made a pull request with some small fixes: https://github.com/actris-cloudnet/mwrpy/pull/16. Please feel free to incorporate any changes that make sense to you.

You can merge the paper branch into your default branch, but it is not a requirement from JOSS.

After this point could you:

I can then move forward with accepting the submission.

tobiasmarke commented 3 months ago

@editorialbot generate pdf

editorialbot commented 3 months ago

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

tobiasmarke commented 3 months ago

@mengqi-z thanks for the proofread. All suggested changes were incorporated in the manuscript. The tag of the archived version is v1.0.0 and the DOI is https://zenodo.org/doi/10.5281/zenodo.11614185

mengqi-z commented 3 months ago

@editorialbot set 10.5281/zenodo.11614185 as archive

editorialbot commented 3 months ago

Done! archive is now 10.5281/zenodo.11614185

mengqi-z commented 3 months ago

@editorialbot set v1.0.0 as version

editorialbot commented 3 months ago

Done! version is now v1.0.0