openjournals / joss-reviews

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

[REVIEW]: PyThia: A Python package for Uncertainty Quantification based on non-intrusive polynomial chaos expansions #5489

Closed editorialbot closed 10 months ago

editorialbot commented 1 year ago

Submitting author: !--author-handle-->@Nando-Farchmin<!--end-author-handle-- (Nando Farchmin) Repository: https://gitlab.com/pythia-uq/pythia Branch with paper.md (empty if default branch): paper/joss Version: v4.0.3 Editor: !--editor-->@vissarion<!--end-editor-- Reviewers: @ziyiyin97, @timokoch Archive: 10.5281/zenodo.8329459

Status

status

Status badge code:

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

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

@ziyiyin97 & @timokoch, 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 @vissarion 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 @ziyiyin97

πŸ“ Checklist for @timokoch

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

OK DOIs

- 10.1117/12.2552037 is OK
- 10.1117/12.2525978 is OK
- 10.1117/1.jmm.19.2.024001 is OK
- 10.5802/smai-jcm.24 is OK
- 10.1016/j.ress.2007.04.002 is OK
- 10.3390/metrology3010001 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 1 year ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.14 s (293.4 files/s, 50377.8 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          15            836           1781           2155
Markdown                         9            234              0            654
reStructuredText                 9            252            517            185
YAML                             3             12             14             88
TeX                              1              0              0             77
DOS Batch                        1              8              1             26
make                             1              4              7              9
TOML                             1              0              0              7
-------------------------------------------------------------------------------
SUM:                            40           1346           2320           3201
-------------------------------------------------------------------------------

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

Wordcount for paper.md is 697

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:

ziyiyin97 commented 1 year ago

Review checklist for @ziyiyin97

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

ziyiyin97 commented 1 year ago

My review is at https://gitlab.com/pythia-uq/pythia/-/issues/1

Nando-Hegemann commented 1 year ago

Perfect thanks, I'll look into it.

vissarion commented 1 year ago

@timokoch could you please update us on your review progress?

There is a checklist that you have to generate and check out. Please let me know if you are running into any problems.

timokoch commented 1 year ago

Review checklist for @timokoch

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

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

timokoch commented 1 year ago

I added some issues and suggestions at https://gitlab.com/pythia-uq/pythia/-/issues and https://gitlab.com/pythia-uq/pythia/-/merge_requests. In general the shape of the package looks good and follows many best practices. The unit test suite is passing locally for me, is integrated in the CI and looks comprehensive enough. I opened issue for specifics where the documentation is not complete. The application tutorial seems to be currently not reproducible because the data is missing and the code is incomplete. The tutorials are also not tested in the CI and don't seem to be included as scripts. The number of tutorials is relatively small. It demonstrates only the basic set of operations I would expect from a PCE package (create basis, train, predict), (apart from the tutorial on how to optimize the sparsity of the PCE which is very well appreciated!). It would be helpful to document any original techniques. Moreover, the work is currently not sufficiently placed in the context of related works (both software packages and methodology/feature-wise), so I currently can't asses whether the submission satisfies the substantial scholarly effort point (it would help to explicitly point us to what is the main contribution in the author's opinion in the paper/code documentation. For example, with chaospy there is a well-documented, mature, popular competitor Python package and it is not described in sufficient detail what the advantages of this submissions are in comparison (cf. https://gitlab.com/pythia-uq/pythia/-/issues/1).

danielskatz commented 12 months ago

πŸ‘‹ @vissarion - I'm having trouble seeing the status of this submission/review, and what the next step is. Can you tell me where you think things are?

vissarion commented 12 months ago

Hi @danielskatz,

We are waiting for the author @Nando-Hegemann to reply to reviewer's comments. In particular, https://github.com/openjournals/joss-reviews/issues/5489#issuecomment-1604717335 by @timokoch and https://gitlab.com/pythia-uq/pythia/-/issues/1 by @ziyiyin97

@Nando-Hegemann how is this progressing?

Nando-Hegemann commented 11 months ago

I started resolving the issues and adding the suggested changes. It is very busy right now, so I assume it'll take two more weeks to finish everything, if that is ok.

vissarion commented 11 months ago

Thanks for the reply @Nando-Hegemann! It is OK.

Nando-Hegemann commented 11 months ago

FYI: I'm almost done with the review. On Monday I'll look into similar/related projects to include some general context for the package in the paper and then I'm through with all the comments.

Nando-Hegemann commented 11 months ago

I'm done addressing all the issues and pushed the results.

vissarion commented 10 months ago

Thanks @Nando-Hegemann!

@timokoch @ziyiyin97 are you OK with those changes? Do you have any more comments or new issues?

timokoch commented 10 months ago

@vissarion @Nando-Hegemann I think you have done a great job in addressing the comments and issues raised. I especially like that all examples are also tested in the CI pipeline now. I think the work is now also sufficiently put into the context of other works and the added value is made clear.

I checked all the boxes on the checklist. From my side, this would be ready to be published.

vissarion commented 10 months ago

Thanks @timokoch!

@ziyiyin97 could you please share your feedback too?

ziyiyin97 commented 10 months ago

I've also checked all the boxes on the checklist! Well-done @Nando-Hegemann to address all the comments!

One (might-be-nitpicky) comment is that I would appreciate a reference after "Typically, the multiindex set is either assembled directly or iteratively based on an $\ell_q$-bound of the multiindices." to introduce multiindex set and how people usually handle it.

I recommend acceptance overall on my side.

vissarion commented 10 months ago

@Nando-Farchmin when a submission is ready to be accepted, we ask that the authors issue a new tagged release of the software (if changed), and archive it (see this guide). Please do this and post the version number and archive DOI here.

Nando-Hegemann commented 10 months ago

Thanks a lot for all the helpful tips for both the code and the paper!

I just uploaded the latest release version to Zenodo:

vissarion commented 10 months ago

This is the link https://zenodo.org/record/8329011 please use the same title as in the paper.

Nando-Hegemann commented 10 months ago

Sorry, here is the corrected one:

vissarion commented 10 months ago

@editorialbot set 10.5281/zenodo.8329459 as archive

editorialbot commented 10 months ago

Done! archive is now 10.5281/zenodo.8329459

vissarion commented 10 months ago

@editorialbot set v4.0.3 as version

editorialbot commented 10 months ago

Done! version is now v4.0.3

vissarion commented 10 months ago

@editorialbot check references

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

OK DOIs

- 10.1117/12.2526082 is OK
- 10.1117/12.2552037 is OK
- 10.1016/j.cma.2013.11.015 is OK
- 10.1137/21m1461988 is OK
- 10.1615/int.j.uncertaintyquantification.2022039164 is OK
- 10.1117/12.2525978 is OK
- 10.1117/1.jmm.19.2.024001 is OK
- 10.5802/smai-jcm.24 is OK
- 10.5442/ND000005 is OK
- 10.1016/j.ress.2007.04.002 is OK
- 10.3390/metrology3010001 is OK
- 10.1137/s1064827501387826 is OK
- 10.1016/j.softx.2020.100450 is OK
- 10.1016/j.jocs.2015.08.008 is OK
- 10.1007/978-3-319-12385-1_64 is OK
- 10.48550/ARXIV.2106.13639 is OK
- 10.1214/009053604000000067 is OK
- 10.1137/20m1315774 is OK

MISSING DOIs

- 10.1088/0266-5611/28/4/045003 may be a valid DOI for title: Sparse deterministic approximation of Bayesian inverse problems

INVALID DOIs

- None
vissarion commented 10 months ago

@editorialbot generate pdf

editorialbot commented 10 months ago

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

vissarion commented 10 months ago

Thanks! I created an issue in the repository https://gitlab.com/pythia-uq/pythia/-/issues/15 with some suggestions regarding references.

Nando-Hegemann commented 10 months ago

Done!

vissarion commented 10 months ago

@editorialbot check references

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

OK DOIs

- 10.1117/12.2526082 is OK
- 10.1117/12.2552037 is OK
- 10.1016/j.cma.2013.11.015 is OK
- 10.1137/21m1461988 is OK
- 10.1615/int.j.uncertaintyquantification.2022039164 is OK
- 10.1117/12.2525978 is OK
- 10.1117/1.jmm.19.2.024001 is OK
- 10.5802/smai-jcm.24 is OK
- 10.5442/ND000005 is OK
- 10.1088/0266-5611/28/4/045003 is OK
- 10.1016/j.ress.2007.04.002 is OK
- 10.3390/metrology3010001 is OK
- 10.1137/s1064827501387826 is OK
- 10.1016/j.softx.2020.100450 is OK
- 10.1016/j.jocs.2015.08.008 is OK
- 10.1007/978-3-319-12385-1_64 is OK
- 10.48550/ARXIV.2106.13639 is OK
- 10.1214/009053604000000067 is OK
- 10.1111/j.2517-6161.1996.tb02080.x is OK
- 10.1137/20m1315774 is OK

MISSING DOIs

- None

INVALID DOIs

- None
vissarion commented 10 months ago

@editorialbot recommend-accept

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

OK DOIs

- 10.1117/12.2526082 is OK
- 10.1117/12.2552037 is OK
- 10.1016/j.cma.2013.11.015 is OK
- 10.1137/21m1461988 is OK
- 10.1615/int.j.uncertaintyquantification.2022039164 is OK
- 10.1117/12.2525978 is OK
- 10.1117/1.jmm.19.2.024001 is OK
- 10.5802/smai-jcm.24 is OK
- 10.5442/ND000005 is OK
- 10.1088/0266-5611/28/4/045003 is OK
- 10.1016/j.ress.2007.04.002 is OK
- 10.3390/metrology3010001 is OK
- 10.1137/s1064827501387826 is OK
- 10.1016/j.softx.2020.100450 is OK
- 10.1016/j.jocs.2015.08.008 is OK
- 10.1007/978-3-319-12385-1_64 is OK
- 10.48550/ARXIV.2106.13639 is OK
- 10.1214/009053604000000067 is OK
- 10.1111/j.2517-6161.1996.tb02080.x is OK
- 10.1137/20m1315774 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 10 months ago

:wave: @openjournals/csism-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/4570, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

danielskatz commented 10 months ago

@Nando-Farchmin - I'm the track editor, and I'll handle the remaining steps, which will start with me proofreading the submission, then I'll get back to you with what else is needed.

danielskatz commented 10 months ago

@Nando-Hegemann - can you change line 48 of paper.md to

In contrast to similar model classes such as neural networks, it is possible to exploit the mathematical structure of the polynomial chaos expansion to compute moments (e.g., mean and variance), marginals, global parameter sensitivities [@sudret:2008], and arbitrary derivatives of the surrogate analytically without any computational overhead.

This is just adding two commas. Otherwise, this looks good to me, and once you make this change, we can proceed.

Nando-Hegemann commented 10 months ago

Thanks @danielskatz , I add your suggestion and pushed the change.

danielskatz commented 10 months ago

@editorialbot recommend-accept

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

OK DOIs

- 10.1117/12.2526082 is OK
- 10.1117/12.2552037 is OK
- 10.1016/j.cma.2013.11.015 is OK
- 10.1137/21m1461988 is OK
- 10.1615/int.j.uncertaintyquantification.2022039164 is OK
- 10.1117/12.2525978 is OK
- 10.1117/1.jmm.19.2.024001 is OK
- 10.5802/smai-jcm.24 is OK
- 10.5442/ND000005 is OK
- 10.1088/0266-5611/28/4/045003 is OK
- 10.1016/j.ress.2007.04.002 is OK
- 10.3390/metrology3010001 is OK
- 10.1137/s1064827501387826 is OK
- 10.1016/j.softx.2020.100450 is OK
- 10.1016/j.jocs.2015.08.008 is OK
- 10.1007/978-3-319-12385-1_64 is OK
- 10.48550/ARXIV.2106.13639 is OK
- 10.1214/009053604000000067 is OK
- 10.1111/j.2517-6161.1996.tb02080.x is OK
- 10.1137/20m1315774 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 10 months ago

:wave: @openjournals/csism-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/4575, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept