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]: pyopmspe11: A Python framework using OPM Flow for the SPE11 benchmark project #7357

Open
editorialbot opened this issue Oct 15, 2024 · 36 comments
Assignees
Labels

Comments

@editorialbot
Copy link
Collaborator

editorialbot commented Oct 15, 2024

Submitting author: @daavid00 (David Landa-Marbán)
Repository: https://github.com/OPM/pyopmspe11
Branch with paper.md (empty if default branch):
Version: 2024.04
Editor: @rwegener2
Reviewers: @MatthewFlamm, @gassmoeller
Archive: Pending

Status

status

Status badge code:

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

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

@MatthewFlamm & @gassmoeller, 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 @rwegener2 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 @MatthewFlamm

📝 Checklist for @gassmoeller

@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.1016/j.camwa.2020.05.014 is OK
- 10.2118/218015-PA is OK
- 10.1007/s11242-023-01977-7 is OK

🟡 SKIP DOIs

- No DOI given, and none found for title: Convective dissolution in field scale CO2 storage ...

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

Software report:

github.com/AlDanial/cloc v 1.90  T=0.08 s (1103.8 files/s, 215075.8 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
HTML                            22            542             66           3826
Python                          15            401            623           3238
SVG                              1              0              0           2671
GLSL                             2             63             22           1909
Mako                             8            117              0           1099
JavaScript                      12            131            221            880
CSS                              4            190             35            780
reStructuredText                19            230            328            308
Markdown                         4             36              0            137
TeX                              1              3              0             56
YAML                             1             11              0             52
TOML                             1              4              0             46
DOS Batch                        1              8              1             26
Dockerfile                       1              9              4             23
make                             1              5              7             13
-------------------------------------------------------------------------------
SUM:                            93           1750           1307          15064
-------------------------------------------------------------------------------

Commit count by author:

    69	David Landa Marban
     5	Tor Harald Sandve
     2	jakobtorben
     1	David Landa-Marbán
     1	Jacques Franc
     1	Olav Møyner
     1	jfranc

@editorialbot
Copy link
Collaborator Author

Paper file info:

📄 Wordcount for paper.md is 638

✅ The paper includes a Statement of need section

@editorialbot
Copy link
Collaborator Author

License info:

✅ License found: MIT License (Valid open source OSI approved license)

@editorialbot
Copy link
Collaborator Author

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

@rwegener2
Copy link

👋🏼 @daavid00 @MatthewFlamm, @gassmoeller this is the review thread for the paper. All of our communications will happen here from now on.

As a reviewer, the first step is to create a checklist for your review by entering

@editorialbot generate my checklist

as the top of a new comment in this thread.

These checklists contain the JOSS requirements. As you go over the submission, please check any items that you feel have been satisfied. The first comment in this thread also contains links to the JOSS reviewer guidelines.

The JOSS review is different from most other journals. Our goal is to work with the authors to help them meet our criteria instead of merely passing judgment on the submission. As such, the reviewers are encouraged to submit issues and pull requests on the software repository. When doing so, please mention openjournals/joss-reviews#REVIEW_NUMBER so that a link is created to this thread (and I can keep an eye on what is happening). Please also feel free to comment and ask questions on this thread. In my experience, it is better to post comments/questions/suggestions as you come across them instead of waiting until you've reviewed the entire package.

We aim for reviews to be completed within about 2-4 weeks. Please let me know if any of you require some more time. We can also use EditorialBot (our bot) to set automatic reminders if you know you'll be away for a known period of time.

Please feel free to ping me (@rwegener2) if you have any questions/concerns.

@MatthewFlamm
Copy link

MatthewFlamm commented Oct 15, 2024

Review checklist for @MatthewFlamm

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/OPM/pyopmspe11?
  • 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 (@daavid00) 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?

@daavid00
Copy link

👋🏼 @daavid00 @MatthewFlamm, @gassmoeller this is the review thread for the paper. All of our communications will happen here from now on.

Many thanks @rwegener2 for following this and many thanks @MatthewFlamm and @gassmoeller for accepting reviewing it; @totto82 and me we look forward to the reviewing process.

@rwegener2
Copy link

Hi @MatthewFlamm and @gassmoeller, how is the review going? Feel free to ping me here if you have any questions.

@gassmoeller
Copy link

@rwegener2 Apologies for the delay, I am working on the review and expect to open all issues and comments within the next week.

@gassmoeller
Copy link

gassmoeller commented Nov 14, 2024

Review checklist for @gassmoeller

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/OPM/pyopmspe11?
  • 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 (@daavid00) 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?

@gassmoeller
Copy link

I finished my review, but I would like to wait with a recommendation (major/minor revisions) until the authors have commented on my raised issues. In particular I would like to see how the discussion in OPM/pyopmspe11#85 about my largest concern (the chosen input file format) develops. Generally I think the software is a useful addition and fulfills most of the JOSS publication criteria already. I will report back when the authors have commented on my issues.

@daavid00
Copy link

Many thanks @gassmoeller for your valuable review, @totto82 and I will work on it. Hi again @rwegener2, one quick question, should we wait for the second review to start working on the review from @gassmoeller?

@MatthewFlamm
Copy link

I had unexpectedly busy schedule in the past few weeks, but will be picking up shortly here.

@daavid00
Copy link

I had unexpectedly busy schedule in the past few weeks, but will be picking up shortly here.

Many thanks again @MatthewFlamm for accepting reviewing this repository, we really appreciate it. We will wait until you have finished your review to start working in both of the reviews.

@MatthewFlamm
Copy link

I have also finished my review and will summarize here. Overall, I think the main idea of this package is useful and is well conveyed in the paper. With some effort, I believe the software will be able to meet the JOSS criteria.

I will link the remaining checkboxes to specific issues (mainly so I have this organized for myself in the review process), although other issues might arise as they are worked through.

Substantial scholarly effort, in particular the criteria "packaged appropriately according to common community standards for the programming language being used (e.g., Python, R)": OPM/pyopmspe11#86 and OPM/pyopmspe11#87

Functionality/Automated tests: There are various problems with running code in the examples and tests that make it hard to check this box: OPM/pyopmspe11#82 and OPM/pyopmspe11#88

Automated tests: Lacking documentation on how to run. OPM/pyopmspe11#90

Community guidelines: OPM/pyopmspe11#83

State of the field/References: OPM/pyopmspe11#89

@MatthewFlamm
Copy link

In particular I would like to see how the discussion in OPM/pyopmspe11#85 about my largest concern (the chosen input file format) develops.

While I think that the points in my comment above are all important to address to approve, they will only be low/moderate amounts of work IMO. OPM/pyopmspe11#85 raised by the other reviewer will require the most significant work to address, but the suggestion is a very good one. Since this package is mainly designed to provide a standardized methodology via configuration file to run code against a benchmark, it is more important that this part of the package conforms to best practice. I think that discussion will be an important one for the requirements for "Substantial scholarly effort" (in the same sense as the above comment) and for "Functionality".

@daavid00
Copy link

Thank you @MatthewFlamm and @gassmoeller for your time and valuable reviews for this repository, we will start to work on your comments this week.

@daavid00
Copy link

daavid00 commented Dec 4, 2024

Thanks a lot @MatthewFlamm and @gassmoeller for your review of this repository, and @rwegener2 for following this. @totto82 and I we really value your comments, which have substantially improved the repository. We have answered to all your issues, as well as having a PR with changes in the paper following your comments OPM/pyopmspe11#101. Please let us know if further corrections are needed.

@rwegener2
Copy link

Thanks for those updates @daavid00 and team! It's great to see an iterative review process.

@MatthewFlamm and @gassmoeller let me know if these changes are sufficient improvements to satisfy the review requirements.

@gassmoeller
Copy link

My comments concerning the software have all been sufficiently addressed, thank you @David00! As soon as the pull request regarding the paper itself (OPM/pyopmspe11#101) has been merged, this is ready for publication from my point of view. Thanks for pushing this along @rwegener2! And sorry it took a while to get the initial review going.

@rwegener2
Copy link

Thanks, @gassmoeller, for the continued support and the thoughtful feedback!

@MatthewFlamm, are the improvements sufficient in your view?

@MatthewFlamm
Copy link

The end of the year put a crunch on my time. I can take a look at this this week, sorry for the delay.

@rwegener2
Copy link

rwegener2 commented Jan 6, 2025

The end of the year put a crunch on my time. I can take a look at this this week, sorry for the delay.

Sounds great. Thanks, @MatthewFlamm!

@MatthewFlamm
Copy link

I have finished looking over the submission and repo again. All issues/comments have been substantially addressed, and this is nearing completion from my perspective. The last comments that need to be addressed are in OPM/pyopmspe11#101, and then the paper will have to be quickly reviewed after it is revised. For example, citation linkage and DOI are correct.

I think the addition of the toml format is a great outcome of this review process making this submission more closely aligned with commonly accepted data configuration practices for the community. So kudos to @gassmoeller for suggesting it and @daavid00 for implementing it.

@daavid00
Copy link

Many thanks @MatthewFlamm for your review. We have addressed your last comments (OPM/pyopmspe11#101). In addition, we have corrected a few grammar errors (sorry for that).

Please let us know if further corrections are needed.

@daavid00
Copy link

Hi @rwegener2,

We have just merged the last comments that @MatthewFlamm had with respect to the paper. It seems all comments from both reviewers @gassmoeller and @MatthewFlamm have been addressed and approved by them.

@totto82 and I we are very grateful for the reviewers time and their great reviews, which have substantially improve the quality of pyopmspe11.

Please let us know what are the following steps.

@rwegener2
Copy link

Wonderful! Many thanks again to @gassmoeller and @MatthewFlamm for your thoughtful feedback.

@daavid00 Next we will transition to the post-review phase where I will perform some checks from the editor side. Once that is complete the paper will transition to the track editor, who has the ability to fully publish the paper. I'm about to make a checklist of my own steps. I'll ping you when I have pre-publication requests on your end about dois, author checks, and similar.

@rwegener2
Copy link

rwegener2 commented Jan 15, 2025

Post-Review Checklist for Editor and Authors

1 - Editor Tasks Prior to Acceptance

Editor checks paper proof:

  • Download the proof and check rendering @editorialbot generate pdf
  • Check all references have DOIs, follow the links and check the references with @editorialbot check references and ask author(s) to update as needed
  • Read the text of the paper and offer comments/corrections (as either a list or a pull request)

2 - Additional Author Tasks After Review is Complete

  • Double check authors and affiliations (including ORCIDs)
  • Make a release of the software with the latest changes from the review and post the version number here. This is the version that will be used in the JOSS paper.
  • Archive the release on Zenodo/figshare/etc and post the DOI here.
  • Make sure that the title and author list (including ORCIDs) in the archive match those in the JOSS paper.
  • Make sure that the license listed for the archive is the same as the software license.

3 - Editor Archiving and Submission Recommendation

Editor checks archive generated by author:

  • Check that the archive title, author list, and version tag are the same between the archive and the paper
  • Check the license is the same between the archive, the paper, and the Github repository
  • Set archive DOI with @editorialbot set <DOI here> as archive
  • Set version with @editorialbot set <version here> as version

Editor double checks paper and recommends submission:

  • Double check rendering of paper with @editorialbot generate pdf
  • Recommend acceptance with @editorialbot recommend-accept

@rwegener2
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

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

@rwegener2
Copy link

@editorialbot check references

@editorialbot
Copy link
Collaborator Author

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

✅ OK DOIs

- 10.1016/j.camwa.2020.05.014 is OK
- 10.2118/218015-PA is OK
- 10.1007/s11242-023-01977-7 is OK
- 10.1038/s41592-019-0686-2 is OK
- 10.5281/zenodo.13345370 is OK
- 10.5281/zenodo.10266790 is OK
- 10.5281/zenodo.14224355 is OK
- 10.1007/s10596-009-9146-x is OK
- 10.21105/joss.06671 is OK
- 10.21105/joss.01136 is OK
- 10.21105/joss.06763 is OK
- 10.21105/joss.01450 is OK

🟡 SKIP DOIs

- No DOI given, and none found for title: Convective dissolution in field scale CO2 storage ...

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None

@rwegener2
Copy link

Hi @daavid00, this is a nice paper! A few points of feedback:

General Comment

Overall, I think the paper could benefit from a bit more background knowledge on the industry benchmarks and processing workflow. For example, neither the SPE11 benchmark nor a definition for "OPM" are given. I had some confusion reading the statement of need, but I wonder if it could be solved by introducing the SPE11 benchmark in more detail. A sentence addressing the workflow could also be useful, as it would help frame the place of pyopmspe11.

Specific Comments

  • line 13: I really liked the first several sentences of your intro, the oriented me nicely. I got lost, though, when the you got to the SPE11 benchmark. It sounds like pyopmspe11 fits into a very specific part of the simulation process (pre and post processing, I'm understanding), but it's difficult to understand what that means without a bit more background on what the benchmark is. Ex. Is it a minimum uncertainty level for GCS projects? Or something more related to defining mandatory reporting values for simulations?
  • line 15: "simulation technology" -- this is specifically GCS simulation technology, correct? Suggest adding "GCS"
  • line 15: type -> types
  • line 17: "... and schedule for operations), then it is expected that..."
  • Figure 1 caption: Are there are couple high-level configurations that could be mentioned briefly in the comment? This would save a reader from needing to go look at and understand the configuration file in order to know what they are looking at
  • line 22-30: somewhere in here could be a good place to set up the workflow that is typical for testing new simulation technology (ex. first define grids, then run model physics/processing, then ...)
  • line 31: I'm not understanding this sentence the way it is written. Maybe "examples of pre/post processing simulation tools which also have applications in GCS and rely on the OPM flow simulator include: ..."
  • line 31: Please introduce what the OPM flow simulator is and how it connects to the computational landscape of this package
  • line 41: "the previous one" - does this refer a previous SPE benchmark? Or from the Class et al paper?
  • line 42: who are "participants"? Are they users of the software?
  • line 54: widely-used
  • line 55-59: this is quite a long sentence. I suggest breaking it into two sentences
  • line 66: either "methods efficiently interpolate" or "method efficiently interpolates" (grammar)
  • line 71: "simulation grid" and "reporting grid" are additional terms it could be helpful to define earlier on. I have a decent intuitive sense of what the simulation grid is, but I'm not sure why that is different from the reporting grid

@daavid00
Copy link

Hi @rwegener2,

Many thanks for your comments, they really raised issues that needed to be fixed. We have addressed them in OPM/pyopmspe11#106. Please let us know if further changes are needed before merging that PR. By implementing your comments some of the text in the paper has been relocated, please let us know if something is not clear.

Many thanks 🙂.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants