Open editorialbot opened 2 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
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1002/nag.2557 is OK
- 10.5281/zenodo.11396894 is OK
- 10.1109/P3HPC49587.2019.00012 is OK
- 10.1147/JRD.2019.2954403 is OK
- 10.1007/3-540-47789-6_66 is OK
- 10.1145/1089014.1089021 is OK
- 10.1137/19M1256117 is OK
- 10.1016/j.cma.2021.114111 is OK
- 10.1017/9781009157926 is OK
MISSING DOIs
- No DOI given, and none found for title: CHAI
- No DOI given, and none found for title: PETSc Web page
- No DOI given, and none found for title: GEOS Documentation
INVALID DOIs
- None
Software report:
github.com/AlDanial/cloc v 1.90 T=1.74 s (1421.6 files/s, 372497.9 lines/s)
--------------------------------------------------------------------------------
Language files blank comment code
--------------------------------------------------------------------------------
C++ 485 24070 16278 115405
SVG 14 33 70 105329
C/C++ Header 678 28274 58573 99010
XML 535 8653 4000 61400
CSV 47 0 0 60400
reStructuredText 432 9918 7284 14614
Python 114 3808 2529 13407
CMake 106 1166 793 4579
XSD 1 0 1830 3662
YAML 18 185 271 1684
Bourne Shell 10 121 112 549
Markdown 10 80 15 404
Bourne Again Shell 13 99 63 383
Perl 1 34 76 191
TeX 2 16 0 120
JSON 5 0 0 116
diff 3 9 40 35
INI 1 9 0 33
make 1 15 3 21
Dockerfile 1 1 4 12
CSS 1 3 3 11
C Shell 2 3 18 8
--------------------------------------------------------------------------------
SUM: 2480 76497 91962 481373
--------------------------------------------------------------------------------
Commit count by author:
1366 Randolph R. Settgast
315 Christopher Sherman
276 Benjamin Curtice Corbett
214 Sergey Klevtsov
197 Randolph Settgast
185 Francois Hamon
131 Nicola Castelletto
129 Antoine Mazuyer
99 Arturo Vargas
89 Matteo Cusini
77 Thomas Gazzola
73 TotoGaz
61 Matthias
57 Pavel Tomin
51 Brian Han
47 Herve Gross
46 Joshua White
42 Jian Huang
38 Sy-Tuan Nguyen
36 Hui Wu
33 Andrea Franceschini
29 Ben Corbett
27 Thomas GAZZOLA
25 hannah_mairs
24 Dickson Kachuma
24 Xavier Lacoste
20 tbeltzun
19 MelReyCG
19 William R Tobin
19 Yue Hao
19 acitrain
18 Victor A. P. Magri
17 Jixiang Huang
17 Stefano Frambati
16 Lionel Untereiner
16 francoishamon
11 Jacques Franc
10 robinspb
10 wrtobin
8 Andrea Borio
8 shabnamjs
7 Madonna Yoder
7 frankfeifan
7 labesse40
5 Peter B. Robinson
5 Randy Settgast
5 Uncrustify Robot
5 mndiaye24
4 Mark Khait
4 Mohammad Karimi-Fard
4 Tao Jin
4 Terry Ligocki
3 AntoineMazuyer
3 Ben
3 Brian Manh Hien Han
3 Chris White
3 Ryan Aronson
3 WuHuiLLNL
3 andrembcosta
3 paloma-martinez
3 sohailwaziri
2 Arnaud DUDES
2 Mamadou N'diaye
2 Matteo
2 Milad Bader
2 Tom Byer
2 Victor A. Paludetto Magri
2 castelletto1
2 cmcrook5
2 jacques
2 jiemeng-total
2 mazuyer
2 settgast1
1 AlexandreLapene
1 Andre Costa
1 Benjamin Corbett
1 Bertrand Thierry
1 Castelletto
1 Guotong
1 Hewei Tang
1 Isaac Ju
1 Kevin J. Dugan
1 Pengcheng Fu
1 Quan Bui
1 aure-lily
1 dependabot[bot]
1 geosadmn
1 joshwhite
1 kimtaeho07
1 matteofrigo5
1 mkhait
1 rasimHZ
1 tony
1 Łukasz Łaniewski-Wołłk
Paper file info:
📄 Wordcount for paper.md
is 1516
✅ The paper includes a Statement of need
section
License info:
🟡 License found: Other
(Check here for OSI approval)
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
Availability through Docker images only would not necessarily be an acceptance-blocker but this would need to be made clear in the paper/docs.
@rrsettgast - this was recently discussed in an editorial meeting, where we decided that docker containers shouldn’t be the only installation pathway for a package for review. One reason for this is that researchers should be able to develop and contribute to open software without having to use Docker, which is more complicated for development.
@MakisH @timokoch @berenger-eu - please follow the installation instructions provided in the GEOS-2024 documentation. @rrsettgast - if you foresee problems with a particular installation route (in addition to the note on GPUs already given in the pre-review) please guide the reviewers appropriately. Two reviewers are away through part of July, so it may be that this review does not start in earnest for another two weeks.
@rrsettgast @MakisH @timokoch @berenger-eu
A note here that from this Monday 29th I will be on leave (⛺) for just over two weeks, returning on the 14th of August when I'll check in on progress ASAP. If you have any queries, it may be best to ask before I go.
I would like to use GEOS on a platform with MPI+CUDA, I opened an issue because I have difficulties to do so https://github.com/GEOS-DEV/GEOS/issues/3256
@rrsettgast The statement of need section is currently on the "shallow" side. The state of the field is currently not mentioned. CO2 injection scenarios (cited as the main goal but also "geothermal energy, hydrogen storage, and related subsurface applications") is of course a topic for many, with a large number of open source tools out there. You probably know of the 11th SPE CSP which has a large number of open source codes (and closed source codes) participating. The same goes for HPC multi-physics tools or coupling libraries. So I think it would be good to (a) mention other tools (at least the ones with a clear (partial) overlap of topics and capabilities, definitely tools like OPM, OpenGeoSys, just to name two FOSS with a very clear overlap) and (b) highlight the specific strengths of GEOS in comparison to those tools (I guess you have both great HPC capabilities and some complex THCM models, I also like the extensive benchmark/verification suite, ...).
CONTRIBUTING.md
file referring to that. The GitHub Community Standards checklist offers some room for improvement.@rrsettgast as it has been stated by another reviewer, it would be great to add some references to competitors (i.e., other software doing related things). If this is updated, please could you regenerate the pdf? And I will check the last tick for my review. Thanks.
@berenger-eu @timokoch I am working on a revision today. Thanks!
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@rrsettgast thanks. Everything is fine for me now.
@rrsettgast Some comments on the text (I still need to build and run the code):
Some typos and minor comments:
I have also added some notes on my checklist (cc @lucydot).
I have opened one PR to the documentation (https://github.com/GEOS-DEV/GEOS/pull/3289), I might open more at the end.
Thanks for your thorough review so far @MakisH. I've noted your notes!
@rrsettgast, in case you missed it - there are three open issues to address listed under points in @MakisH's checklist.
@MakisH Thank you for your thorough review and feedback. I will address the issues within the next couple of days.
I was able to build and run the code on my Ubuntu 22.04 laptop (after upgrading CMake), with this host config:
# detect host and name the configuration file
site_name(HOST_NAME)
set(CONFIG_NAME "your-platform" CACHE PATH "")
message("CONFIG_NAME = ${CONFIG_NAME}")
# set paths to C, C++, and Fortran compilers. Note that while GEOS does not contain any Fortran code,
# some of the third-party libraries do contain Fortran code. Thus a Fortran compiler must be specified.
set(CMAKE_C_COMPILER "/usr/bin/gcc" CACHE PATH "")
set(CMAKE_CXX_COMPILER "/usr/bin/g++" CACHE PATH "")
set(CMAKE_Fortran_COMPILER "/usr/bin/gfortran" CACHE PATH "")
set(ENABLE_FORTRAN OFF CACHE BOOL "" FORCE)
# enable MPI and set paths to compilers and executable.
# Note that the MPI compilers are wrappers around standard serial compilers.
# Therefore, the MPI compilers must wrap the appropriate serial compilers specified
# in CMAKE_C_COMPILER, CMAKE_CXX_COMPILER, and CMAKE_Fortran_COMPILER.
set(ENABLE_MPI ON CACHE BOOL "")
set(MPI_C_COMPILER "/usr/bin/mpicc" CACHE PATH "")
set(MPI_CXX_COMPILER "/usr/bin/mpicxx" CACHE PATH "")
set(MPI_Fortran_COMPILER "/usr/bin/mpifort" CACHE PATH "")
set(MPIEXEC "/usr/bin/mpirun" CACHE PATH "")
# disable CUDA and OpenMP
set(ENABLE_CUDA OFF CACHE BOOL "" FORCE)
set(ENABLE_OPENMP OFF CACHE BOOL "" FORCE)
# enable PVTPackage
set(ENABLE_PVTPackage ON CACHE BOOL "" FORCE)
# enable tests
set(ENABLE_GTEST_DEATH_TESTS ON CACHE BOOL "" FORCE )
# define the path to your compiled installation directory
set(GEOS_TPL_DIR "/home/gc/Desktop/codes/thirdPartyLibs/install-laptop-release" CACHE PATH "")
# let GEOS define some third party libraries information for you
include(${CMAKE_CURRENT_LIST_DIR}/tpls.cmake)
All tests pass.
I could run the first tutorial and I am getting the same results:
I have not tried running anything else, but I am happy to try anything specific.
I opened an issue with some suggestions for improvements to the Quick Start Guide: https://github.com/GEOS-DEV/GEOS/issues/3291
I am happy to try anything specific.
@MakisH thanks for your clear updates. I encourage you to confirm the main functional claims of the software. This might correspond to the four core tutorials, I'd probably play around with a few of the basic/advanced examples also depending on your capacity. There is so much on the website (in a good way!) that its certainly not possible to run through it all.
A quick note that I am on leave for the following week and will be back at desk on 2nd Sept.
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@rrsettgast The statement of need section is currently on the "shallow" side. The state of the field is currently not mentioned. CO2 injection scenarios (cited as the main goal but also "geothermal energy, hydrogen storage, and related subsurface applications") is of course a topic for many, with a large number of open source tools out there. You probably know of the 11th SPE CSP which has a large number of open source codes (and closed source codes) participating. The same goes for HPC multi-physics tools or coupling libraries. So I think it would be good to (a) mention other tools (at least the ones with a clear (partial) overlap of topics and capabilities, definitely tools like OPM, OpenGeoSys, just to name two FOSS with a very clear overlap) and (b) highlight the specific strengths of GEOS in comparison to those tools (I guess you have both great HPC capabilities and some complex THCM models, I also like the extensive benchmark/verification suite, ...).
Hello @timokoch I think we have addressed this to some degree in the latest revisions. I have included references to OPM, OpenGeoSys, DuMux, and Darts. I kept the list somewhat short, but I think these are the open source codes that may be participating in SPE11.
There are some other unchecked items in your review. I can't seem to find specific comments from you on those topics. I will circle back with you once I address some of the specific comments made by @MakisH.
@MakisH The Frontier results are indeed previously unpublished. We will be publishing results with more detail at a later date. However, that publication would focus more on the hypre solution strategy, and reference this paper ideally.
I have added more details about Frontier, and modified the discussion... but the runs themselves would be difficult to verify as Frontier is not accessible to the general public.
@lucydot Do you have guidance on whether some results can stay in this publication without an in-depth discussion? Perhaps a statement indicating that the results are presented simply to show execution on a large GPU system?
@MakisH
Regarding your comments about the lack of a C++ api. Does this mean that you don't consider the Doxygen documentation as a valid API documentation? Or was it just to hard to get to? For instance, the main data structure object Group
is documented here:
https://geosx-geosx.readthedocs-hosted.com/en/latest/doxygen_output/html/classgeos_1_1data_repository_1_1_group.html
Which I would think of as API documentation for that class. But there is no top level description with targeted entry points to the doxygen documentation in the develop guide. Perhaps This is what is missing for you?
There are some other unchecked items in your review.
@rrsettgast - I think we can assume @timokoch is part way through the review, its quite usual for reviewers to do the review in parts rather than in a single-shot.
@rrsettgast
Do you have guidance on whether some results can stay in this publication without an in-depth discussion? Perhaps a statement indicating that the results are presented simply to show execution on a large GPU system?
The important point here is Performance: If there are any performance claims of the software, have they been confirmed?
.
As you state, these cannot be confirmed as our reviewers do not have access to a suitable system. However it should be possible to include details on how to reproduce these results if someone did have access to the system. Ideally there would be a reference to the pre-print or similar which dives into the performance claims, but it sounds like that is not possible at this point. As you mention, we want to avoid in-depth discussion in the paper itself. Is it possible to include details within a benchmarking/performance section of the online documentation?
@rrsettgast
Do you have guidance on whether some results can stay in this publication without an in-depth discussion? Perhaps a statement indicating that the results are presented simply to show execution on a large GPU system?
The important point here is
Performance: If there are any performance claims of the software, have they been confirmed?
. As you state, these cannot be confirmed as our reviewers do not have access to a suitable system. However it should be possible to include details on how to reproduce these results if someone did have access to the system. Ideally there would be a reference to the pre-print or similar which dives into the performance claims, but it sounds like that is not possible at this point. As you mention, we want to avoid in-depth discussion in the paper itself. Is it possible to include details within a benchmarking/performance section of the online documentation?
Ah. Yes. I certainly can include some guidance to reproduce in the documentation. Thanks!
@MakisH Regarding your comments about the lack of a C++ api. Does this mean that you don't consider the Doxygen documentation as a valid API documentation? Or was it just to hard to get to? For instance, the main data structure object
Group
is documented here: https://geosx-geosx.readthedocs-hosted.com/en/latest/doxygen_output/html/classgeos_1_1data_repository_1_1_group.htmlWhich I would think of as API documentation for that class. But there is no top level description with targeted entry points to the doxygen documentation in the develop guide. Perhaps This is what is missing for you?
@rrsettgast the Doxygen pages are of course great as API documentation, but the webpage does not guide to the specific user-facing classes. As an external, first-time observer, I would need to guess that geos::dataRepository::Group
is the main entry point. As a user, I primarily need that, and not any classes not exposed to the user.
Just adding such a summary on the webpage of where one should look at in the Doxygen pages would solve the issue.
P.S.: I will run a few more tutorials/examples asap.
I ran the following cases:
With an external view (I am not an expert in this type of simulations), I can see that the software indeed simulates problems relevant to CO2 storage and generally injection of fluids into wells.
Tutorial 2 (with two meshes):
Tutorial 3:
CO2 injection:
Related PR: https://github.com/GEOS-DEV/GEOS/pull/3315
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@MakisH @timokoch I think that we have addressed the points each of you have brought up. Please have a look and let us know if there is anything that we missed, or if there is anything else you notice that needs to be addressed.
@editorialbot generate pdf
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@lucydot Let me know if I should do anything else...like provide a summary of the changes made to address each of the missing checkmarks.
From my side, all points in the checklist are covered. Thank you for all the improvements!
I can confirm that at least the software seems to address the applications claimed (based on the documentation and examples, I am not working in this application field), which are indeed multi-physics applications. I can confirm that one can build and run the software with the provided documentation, and that there are sufficient pointers to getting support and to contributing.
The performance claims seem to be sufficiently documented: if someone had access to Frontier or a similar system, it is now clear which example to run and how. I did not run this example. However, I also don't think that JOSS is the right place to discuss such results, but including the results is appropriate, since the software emphasizes its suitability for HPC.
Looking at the paper again, I would like to draw the attention to the title:
GEOS-2024: A portable multi-physics simulation framework
I think that the "multi-physics simulation framework" is clear (it is a code framework in which one can set up multi-physics simulations). However, looking at lines 47-49:
However, GEOS stands out in two key areas: the explicit fault modeling coupled with flow and mechanical deformation, and the focus on performance portability on platforms ranging from workstations to exascale supercomputers.
@MakisH Thank you again for spending your time on this. I understand your remaining points.
I will make a modification to the paper regarding the 'portable'. I think we actually strive for both "portable" and "performance portable"...except for windows...we haven't spent much time on windows portability 😁
It is true that the emphasis is currently on porous media, but we are currently the application space to things like batteries...but perhaps that should be addressed with a follow on publication. It seems appropriate to emphasize the current application space in the title, but I was trying to avoid a very long title. I think it would be something like:
GEOS-2024: A performance portable multi-physics simulation framework for subsurface applications
@lucydot Are we allowed to modify the title?
@rrsettgast Thanks for all the great updates. I fully support @MakisH comments/suggestions and I like your title suggestion since it more clearly states the current focus. I now completed the tutorials (it was fun, sorry that it took some time) and also successfully ran some examples. The tool is clearly useful, seems performant, is easy to configure, and covers a broad range of applications and models within the subsurface scope.
Some comments below
MPI_Finalize
(would be good to always call this)fieldName
and coefficientName
attributes that don't appear in the xml file.GEOS/inputFiles
directory.)@rrsettgast
Are we allowed to modify the title?
Yes, that should be no problem. Once you update the title on your paper let me know and I will update the issue title.
It seems you have a few very minor points to address above from @timokoch. I can see that all points in checkboxes are ✅ apart from one regarding references (@timokoch ?).
Once this is done, we can proceed to final stages of the review process.
I want to give a big thank you to @MakisH, @timokoch, @berenger-eu for your time and expertise. JOSS could not exist without your generosity!
@timokoch I think I addressed your remaining points in https://github.com/GEOS-DEV/GEOS/pull/3332
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@rrsettgast title looks great now, and not too long. Thank you!
@lucydot just let me know if you need anything else, happy to be doing this.
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
I can see some action in https://github.com/GEOS-DEV/GEOS/pull/3332 - can you confirm you are happy with changes made, and recommend acceptance @timokoch ?
Submitting author: !--author-handle-->@rrsettgast<!--end-author-handle-- (Randolph Settgast) Repository: https://github.com/GEOS-DEV/GEOS Branch with paper.md (empty if default branch): docs/JOSS Version: v1.0.1 Editor: !--editor-->@lucydot<!--end-editor-- Reviewers: @MakisH, @timokoch, @berenger-eu Archive: Pending
Status
Status badge code:
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
@MakisH & @timokoch & @berenger-eu, 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:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @lucydot 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 @MakisH
📝 Checklist for @timokoch
📝 Checklist for @berenger-eu