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]: DORiE: A discontinuous Galerkin solver for soil water flow and passive solute transport based on DUNE #2313

Closed
38 tasks done
whedon opened this issue Jun 9, 2020 · 107 comments
Assignees
Labels
accepted published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review

Comments

@whedon
Copy link

whedon commented Jun 9, 2020

Submitting author: @peanutfun (Lukas Riedel)
Repository: https://gitlab.dune-project.org/dorie/dorie
Branch with paper.md (empty if default branch):
Version: 2.0.1
Editor: @meg-simula
Reviewer: @gassmoeller, @pratikvn
Archive: 10.5281/zenodo.3997152

⚠️ JOSS reduced service mode ⚠️

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

Status

status

Status badge code:

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

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

@gassmoeller & @pratikvn, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @meg-simula know.

Please try and complete your review in the next six weeks

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 repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@peanutfun) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

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: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • 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?

Review checklist for @pratikvn

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 repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@peanutfun) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

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: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • 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?
@whedon
Copy link
Author

whedon commented Jun 9, 2020

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @gassmoeller, @pratikvn it looks like you're currently assigned to review this paper 🎉.

⚠️ JOSS reduced service mode ⚠️

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

⭐ Important ⭐

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

For a list of things I can do to help you, just type:

@whedon commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Jun 9, 2020

PDF failed to compile for issue #2313 with the following error:

Can't find any papers to compile :-(

@meg-simula
Copy link

@gassmoeller @pratikvn Thanks again for agreeing to review. Checklists have been generated for each you above, ready for your review :-)

@meg-simula
Copy link

@whedon generate pdf from branch joss-paper

@whedon
Copy link
Author

whedon commented Jun 9, 2020

Attempting PDF compilation from custom branch joss-paper. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Jun 9, 2020

@pratikvn
Copy link

pratikvn commented Jun 9, 2020

@whedon commands

@whedon
Copy link
Author

whedon commented Jun 9, 2020

Here are some things you can ask me to do:

# List Whedon's capabilities
@whedon commands

# List of editor GitHub usernames
@whedon list editors

# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers

EDITORIAL TASKS

# Compile the paper
@whedon generate pdf

# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name

# Ask Whedon to check the references for missing DOIs
@whedon check references

# Ask Whedon to check repository statistics for the submitted software
@whedon check repository

@pratikvn
Copy link

pratikvn commented Jun 9, 2020

@whedon check references

@pratikvn
Copy link

@peanutfun, A very nice library! I have a few comments:

  1. You list four authors for your paper. Among the contributors on your repository page, I see only three of the contributors. I believe that the last author is a supervisor. Can you confirm that the last author provided specific non-code contributions/active project direction related to your code ? This is a requirement from the JOSS authorship guidelines.
  2. I really like that the software is available through docker.
  3. It could be nice to have it as a spack package as well. I understand that you have a strong dependency on DUNE and DUNE does not yet seem to be available as a spack package.

@meg-simula , Would there be a way to check the references through whedon ? I guess the command does not work now because the paper and the .bib file are in a different branch.

@SoilRos
Copy link

SoilRos commented Jun 15, 2020

  1. It could be nice to have it as a spack package as well. I understand that you have a strong dependency on DUNE and DUNE does not yet seem to be available as a spack package.

Perhaps I could comment on this. There is indeed some recent initial support for DUNE in spack so the idea is not completely out of the range. I will give it a try this week. Thank you for the suggestion.

EDIT: See issue #195

@peanutfun
Copy link

@pratikvn, thank you for your quick feedback!

  1. [...] I believe that the last author is a supervisor. Can you confirm that the last author provided specific non-code contributions/active project direction related to your code ? [...]

The last author Ole Klein made contributions to both project directions and code. He developed the initial version of the essential Richards DG local operator (see dune/dorie/models/richards/local_operator_DG.hh) and he provided continuous support for numerical implementations, and verifying and testing computation results. If desired and possible, we could add a "Author Contributions" section to the paper for clarification.

  1. I really like that the software is available through docker.
  2. It could be nice to have it as a spack package as well. [...]

I have no experience with spack myself but it seems like we could get help on that by the DUNE devs. As maintaining a spack configuration will cause an additional support overhead, I would personally only see it as "nice to have".

This actually relates to your second point. With the current installation instructions and Docker support, we think that we cover most of the experience levels of possible users and developers of DORiE: Inexperienced users can simply use a Docker image to run the application, possibly even on a server cluster. Inexperienced developers will likely have a nearly "clean system" as envisaged in our README.md, so they can simply follow the step-by-step installation instructions. Experienced developers, on the other hand, can use these instructions and the dependency list to install DORiE on their machines with possibly customized setups.

If the installation of DORiE causes problems, I would therefore primarily work on clarifying the instructions in the README.md before tending to additional installation support, e.g. via spack.

@SoilRos: Thanks for pitching in! 😊

@pratikvn
Copy link

@peanutfun ,

The last author Ole Klein made contributions to both project directions and code. He developed the initial version of the essential Richards DG local operator (see dune/dorie/models/richards/local_operator_DG.hh) and he provided continuous support for numerical implementations, and verifying and testing computation results. If desired and possible, we could add a "Author Contributions" section to the paper for clarification.

I believe active project direction and contributions to the code are sufficient. I don't think an "Author Contributions" section is necessary. Thanks for clarifying this.

I have no experience with spack myself but it seems like we could get help on that by the DUNE devs. As maintaining a spack configuration will cause an additional support overhead, I would personally only see it as "nice to have".

Yes, this was just a suggestion. One of the main reasons I suggest adding a spack package is that HPC users can install it on their cluster themselves (which they do not have root access to and hence cannot use docker) very easily and the fact that dune already has a spack package should simplify the process greatly.

The docker installation went smooth for me. But installation by source is definitely more involved. The dune-installer with dune control definitely helps, but I guess the fact that the list of dependencies is quite large makes installation quite lengthy. Nevertheless, the instructions on README.md look complete to me and I did not have any problems installing and running dorie.

To make the installation by source slightly easier, I would suggest adding a bootstrapping script. Assuming that all the basic library dependencies (g++, hdf5, python3 etc.. ) are satisfied, you could provide a script that clones the dune modules into a directory, switches to the required release branch for all of them, clones dorie and calls the ...dunecontrol all install script to install all of dune and dorie. I think simpler installation by source makes open source contributions and hence collaborations easier.

@peanutfun
Copy link

@pratikvn, I'm glad we could resolve the author issue and that you had no trouble building and running DORiE.

Thank you for elaborating on the use cases of spack. I realize that missing root privileges is an issue we have not considered much. Supporting such a setup would be a nice addition. At your discretion, however, we would consider the associated issue dorie#195 as non-essential for this review.

To make the installation by source slightly easier, I would suggest adding a bootstrapping script.

Cloning the modules is indeed the worst described part of the installation process. I like your suggestion of using a script for this part (only). Additionally, I propose to add a DUNE buildsystem options file, which would simplify the call to dunecontrol instead of automating it. This way, users can more easily specify additional CMake variables required for their setup. I would not add instructions on cloning DORiE, as executing the script locally usually implies that somebody cloned it already.

The installation process would then change as follows:

  • After installing the prerequisites, users clone DORiE.
  • Cloning the required DUNE modules (currently step 5) is replaced by calling a bash script like
    bash dorie/clone_dune_modules.bash
  • For building the DUNE stack including DORiE (currently step 7), users execute
    ./dune-common/bin/dunecontrol  --opts=dorie/build.opts --module=dorie all

@pratikvn
Copy link

@peanutfun,

At your discretion, however, we would consider the associated issue dorie#195 as non-essential for this review.

Yes, sure. I don't believe that it is essential for this review.

Cloning the modules is indeed the worst described part of the installation process. I like your suggestion of using a script for this part (only). Additionally, I propose to add a DUNE buildsystem options file, which would simplify the call to dunecontrol instead of automating it. This way, users can more easily specify additional CMake variables required for their setup. I would not add instructions on cloning DORiE, as executing the script locally usually implies that somebody cloned it already.

This sounds reasonable to me. The new installation process does look a lot more simpler. Thanks.

@meg-simula
Copy link

@meg-simula , Would there be a way to check the references through whedon ? I guess the command does not work now because the paper and the .bib file are in a different branch.

Let me check and get back to you.

@meg-simula
Copy link

@whedon check references from branch joss-paper

@whedon
Copy link
Author

whedon commented Jun 19, 2020

Attempting to check references... from custom branch joss-paper

@whedon
Copy link
Author

whedon commented Jun 19, 2020

Reference check summary:

OK DOIs

- doi:10.1093/imanum/drm050 is OK
- 10.1016/j.advwatres.2012.05.008 is OK
- 10.11588/ans.2016.100.26526 is OK
- 10.1007/978-3-642-22980-0 is OK
- 10.1007/s10596-014-9426-y is OK
- 10.1016/j.crma.2007.10.036 is OK
- 10.1002/nme.2579 is OK
- 10.2136/vzj2019.01.0001 is OK
- 10.1016/j.advwatres.2007.02.007 is OK
- 10.2136/sssaj2017.02.0058 is OK
- 10.1016/j.advwatres.2011.03.007 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@gassmoeller
Copy link

@peanutfun,
I have finished my review of DORiE and think it will make a fine publication in JOSS. You follow best practices and the application is well documented. I agree with @pratikvn that a script that simplifies the installation and a spack recipe would be beneficial, although not absolutely necessary.

I found no major obstacles to publication, but would like to make two suggestions and have one question, and one comment:

  1. Suggestion. You already build a Docker image that only contains the Dune environment necessary to compile DORiE (dorie/dune-env), which I like a lot. I think it is worth advertising this in a sentence in the documentation (e.g. at the end of this section https://hermes.iup.uni-heidelberg.de/dorie_doc/master/html/markdown/README.html#download-docker-image). This also somewhat alleviates the need for a simpler local installation procedure, because for an intermediate user who wants to lightly modify DORiE that might be the simplest way to set up a development version.

  2. Suggestion. You may want to consider how to add instructions for how to cite DORiE. I suppose you want users to cite the JOSS article, but that should be advertised in several places, like the README.md, the main page of the documentation and website, and ideally also in a machine readable file like the citation file format (https://citation-file-format.github.io/), or a CodeMeta file (https://codemeta.github.io/). Since the JOSS doi is already reserved you can already add this information in the joss-paper branch of DORiE.

  3. Question. The installation procedure mentions that DORiE can use ParMetis for parallel models, but I found no information about how to run DORiE in parallel. Did I miss a page, or is this just experimental at the moment?

  4. Comment. I generally found DORiE's code to be nicely readable. I would encourage you to proceed with https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/-/merge_requests/203, a common coding style makes source code so much easier to read and prevents bugs. Also as in any software there are always things to improve. One of the patterns I saw in the files I looked into (of course not a full review of all files) is that you occasionally use abbreviated variable names that are shortened so much that they require additional comments and make subsequent code harder to understand (thus defeating the purpose of shortening the name to make the code more readable). For an example compare the following two lines (original line in https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/-/blob/master/dune/dorie/model/richards/richards.cc#L96):

// --- Grid Function Space ---
this->_log->trace("Setting up GridFunctionSpace");
gfs = std::make_shared<GFS>(GFSHelper::create(gv));
gfs->name("matric_head");
cc = std::make_unique<CC>();
Dune::PDELab::constraints(*gfs,*cc,false);

...

// --- Solution Vector --- //
u = std::make_shared<U>(*gfs,.0);

...

Dune::PDELab::interpolate(*finitial, *gfs, *u);

vs

Dune::PDELab::interpolate(*finitial, *grid_function_space, *solution_vector);

I am aware that there will always be lines that do not follow all best practices so this is not a recommendation to fix this particular instance for this review. Just something to keep in mind for the future development of DORiE in general.

I liked this software, keep up the good work!

@peanutfun
Copy link

@gassmoeller, thanks a lot for your quick review and positive feedback!

  1. Suggestion. You already build a Docker image that only contains the Dune environment necessary to compile DORiE (dorie/dune-env), which I like a lot. I think it is worth advertising this in a sentence in the documentation [...]

Sounds good! We did not do so before because we felt that somebody who can manage development through a mounted Docker container will also manage the manual installation process and end up with a much more capable development environment. Anyway, I'll add this through an MR.

  1. Suggestion. You may want to consider how to add instructions for how to cite DORiE. [...]

I very much like the Citation File Format and already raised an issue in the DORiE repository, see dorie#199.

  1. Question. The installation procedure mentions that DORiE can use ParMetis for parallel models, but I found no information about how to run DORiE in parallel. Did I miss a page, or is this just experimental at the moment?

DUNE generally supports parallelism via MPI, depending on the actual grid and solver setup. We built DORiE to be run in parallel on a best-effort basis. As we did not want to support both sequential and parallel builds simultaneously, we instruct users to always install OpenMPI, which is technically not required to build DUNE. Therefore, any build of DORiE is capable of running the application in parallel. The same is true for the Docker image.

Parallel execution currently is only supported on structured rectangular grids, that is, with the config file parameters grid.gridType = rectangular and adaptivity.policy = None. You can control it via the -p/--parallel option for the run command of the command line interface. There are system tests called parallel-reference<-compare>, where we check if the results of sequential and parallel runs with the same configuration yield the same results. We are still working on bringing parallelism to unstructured and even adaptive grids, see dorie!9.

In terms of the documentation, the feature is indeed somewhat hidden. Should we advertise it in the Feature Overview and/or mention it in the README.md?

  1. Comment. [...] you occasionally use abbreviated variable names that are shortened so much that they require additional comments and make subsequent code harder to understand [...]

This is true, especially for the file you mention. In most of these instances, the naming convention then follows usual code practices of the DUNE-PDELab package, see https://gitlab.dune-project.org/pdelab/dune-pdelab/-/blob/master/dune/pdelab/test/test-transport-ccfv.cc#L231 for an example. The rationale behind some of the names is following the symbols of the numerical problem formulation. For example, the mathematical symbol for the solution (vector) typically is x or u. Similar things happen in the local operators (e.g., https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/-/blob/master/dune/dorie/model/richards/local_operator_DG.hh), where the local test function is denoted by the variable phi instead of test_func, or similar.

We have a certain interest in keeping the naming convention close to the one used in PDELab because that simplifies communicating code with the PDELab devs. However, you are right about the issue that the code might become difficult to read for people who are less involved. As some of the files also have a (historically grown) bad formatting, I opened dorie#200 to suggest a few changes and discuss the issue with the other DORiE devs.

@pratikvn
Copy link

pratikvn commented Jul 1, 2020

I too found no major obstacles for publishing this paper. Some final comments:

  1. The documentation is thorough and easy to understand. You already have one example, the Infiltration in Homogeneous Medium within the cookbook section of your documentation. It might also be nice to have a separate section with a few more examples with code and explanations. If you have some papers that you have published with dorie, then you could even use those as your examples. This enhances the quality of your papers and also showcases your reproducibility.

  2. Regarding the coding conventions, I see that you already have a MR addressing that. To simplify and unify your coding styles I would recommend something similar to a hook that you already discuss in the PR. You can have a look at https://github.com/kbenzie/git-cmake-format which integrates clang-format into git and the developer would have to stage their files, call make format, and all the staged files are format with clang-format and unstaged after formatting. This makes sure that the developer can only commit after they have formatted their files. See an updated version of that repo here https://github.com/ginkgo-project/git-cmake-format.

In terms of the documentation, the feature is indeed somewhat hidden. Should we advertise it in the Feature Overview and/or mention it in the README.md?

  1. If the feature is available and usable for a subset of problems, then I would definitely advertise it in the Feature Overview of your documentation but also mention that some features ( like unstructured grids) are a work in progress.

  2. Lastly, I would suggest that you have a look at the xSDK policies, which are a set of guidelines that help you in interfacing with other libraries if needed and also help in making your software sustainable. As you depend on Dune and already have quite a high code quality, I think you already satisfy many of the requirements. But if it is possible and not too much work, then I would highly recommend trying to satisfy atleast all the Mandatory policies listed.

  3. As you already use gcovr and code coverage to generate the code coverage reports, it might be worth adding a badge showing your coverage status.

Overall, I liked the software and the paper and commend your efforts.

@peanutfun
Copy link

@pratikvn, thanks again for your comments! Let me answer them one by one...

  1. [...] It might also be nice to have a separate section with a few more examples with code and explanations. If you have some papers that you have published with dorie, then you could even use those as your examples.

The idea of the Cook Book section is to have real use-case examples, which will eventually cover all the (more technical) information given in the manual. I'm not entirely sure what you mean by "code and explanations". For the internals of the C++ code, we provide the Doxygen documentation, which is aimed at developers. Here we explain how the internals of DORiE work, which is intended to help modifying the code base or integrating it into another project. The latter is what was done for our latest publication, https://doi.org/10.1002/vzj2.20040, which is also featured in the JOSS paper. For this we extended DORiE with an interface for the data assimilation framework we used. The interface is publicly available in dorie!134. However, we cannot publish the entire code base for the paper because the data assimilation framework has not been published.

  1. [...] To simplify and unify your coding styles I would recommend something similar to a hook that you already discuss in the PR. You can have a look at https://github.com/kbenzie/git-cmake-format [...]

Thank you for this suggestion. I personally prefer automation through a git commit hook. Build systems like CMake are designed to construct and modify a build directory tree from a source tree. Modifying the source tree with the build system seems invasive to me. Git, on the other hand, only manages the source tree, so it seems to me like enforcing a format style through it is the "cleaner" approach.

  1. If the feature is available and usable for a subset of problems, then I would definitely advertise it in the Feature Overview of your documentation but also mention that some features ( like unstructured grids) are a work in progress.

I added more information on the capabilities of DORiE (and their respective caveats) in dorie!209.

  1. Lastly, I would suggest that you have a look at the xSDK policies, which are a set of guidelines that help you in interfacing with other libraries if needed and also help in making your software sustainable. [...]

I was not aware of this project and its community. I will consider registering DORiE as "xSDK compatible" package.

  1. As you already use gcovr and code coverage to generate the code coverage reports, it might be worth adding a badge showing your coverage status.

I added a coverage badge to the DORiE GitLab repository.

@peanutfun
Copy link

peanutfun commented Jul 6, 2020

@pratikvn, @gassmoeller, I'm very happy about your feedback and suggestions! To move forward, I want to make sure we are keeping track of all issues you consider crucial for this review. We created a milestone listing all such issues and associated merge requests: https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/-/milestones/6. Here's a checklist of your proposals that I understood to be required:

  • Add a script for cloning DUNE modules and simplify calling the dunecontrol script: dorie#197, dorie!205
  • Add information on how to cite DORiE: dorie#199, included in dorie!198
  • Propose using the DUNE environment Docker image for code development: dorie!209
  • Feature adaptive grid refinement and parallel execution, as well as their caveats, in the user documentation: dorie!209

Please check if this list is complete and tell me if there's anything else we need to take care of.

Finally, I did some cosmetic updates to the JOSS paper:

  • Fixed formulations in lines 74 and 75 of paper.md:
    • "generated within the DORiE" -> "generated within DORiE"
    • "The simulation output is written in VTK files" -> "The simulation output is provided as VTK files"
  • Removed unused reference from bibliography.
  • Removed redundant doi: from a DOI entry.
  • Updated reference to "Bauser et al. 2020" because the article was published.

I'll compile the latest version now.

@peanutfun
Copy link

@whedon generate pdf from branch joss-paper

@meg-simula
Copy link

@whedon set version as 2.0.1

@whedon
Copy link
Author

whedon commented Aug 24, 2020

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@whedon commands

@meg-simula
Copy link

@whedon set 2.0.1 as version

@whedon
Copy link
Author

whedon commented Aug 24, 2020

OK. 2.0.1 is the version.

@meg-simula
Copy link

@whedon set 10.5281/zenodo.3997152 as archive

@whedon
Copy link
Author

whedon commented Aug 24, 2020

OK. 10.5281/zenodo.3997152 is the archive.

@meg-simula
Copy link

@whedon accept

@whedon
Copy link
Author

whedon commented Aug 24, 2020

Attempting dry run of processing paper acceptance...

@whedon whedon added the recommend-accept Papers recommended for acceptance in JOSS. label Aug 24, 2020
@whedon
Copy link
Author

whedon commented Aug 24, 2020

PDF failed to compile for issue #2313 with the following error:

Can't find any papers to compile :-(

@arfon
Copy link
Member

arfon commented Aug 24, 2020

@whedon accept from branch joss-paper

@whedon
Copy link
Author

whedon commented Aug 24, 2020

Attempting dry run of processing paper acceptance...

@whedon
Copy link
Author

whedon commented Aug 24, 2020

Reference check summary:

OK DOIs

- 10.1093/imanum/drm050 is OK
- 10.1016/j.advwatres.2012.05.008 is OK
- 10.11588/ans.2016.100.26526 is OK
- 10.1007/978-3-642-22980-0 is OK
- 10.1007/s10596-014-9426-y is OK
- 10.1016/j.crma.2007.10.036 is OK
- 10.1002/nme.2579 is OK
- 10.2136/vzj2019.01.0001 is OK
- 10.1002/vzj2.20040 is OK
- 10.1016/j.advwatres.2007.02.007 is OK
- 10.2136/sssaj2017.02.0058 is OK
- 10.1016/j.advwatres.2011.03.007 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@whedon
Copy link
Author

whedon commented Aug 24, 2020

👋 @openjournals/joss-eics, this paper is ready to be accepted and published.

Check final proof 👉 openjournals/joss-papers#1664

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#1664, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true from branch joss-paper 

@labarba
Copy link
Member

labarba commented Aug 24, 2020

@whedon accept deposit=true from branch joss-paper

@whedon whedon added accepted published Papers published in JOSS labels Aug 24, 2020
@whedon
Copy link
Author

whedon commented Aug 24, 2020

Doing it live! Attempting automated processing of paper acceptance...

@whedon
Copy link
Author

whedon commented Aug 24, 2020

🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦

@whedon
Copy link
Author

whedon commented Aug 24, 2020

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 Creating pull request for 10.21105.joss.02313 joss-papers#1665
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.02313
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? Notify your editorial technical team...

@labarba
Copy link
Member

labarba commented Aug 24, 2020

Congratulations, @peanutfun, your JOSS paper is published! 🚀

Big thanks to our editor: @meg-simula, and the reviewers: @gassmoeller, @pratikvn — we couldn't do this without you 🙏

@labarba labarba closed this as completed Aug 24, 2020
@whedon
Copy link
Author

whedon commented Aug 24, 2020

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](https://joss.theoj.org/papers/10.21105/joss.02313/status.svg)](https://doi.org/10.21105/joss.02313)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.02313">
  <img src="https://joss.theoj.org/papers/10.21105/joss.02313/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.02313/status.svg
   :target: https://doi.org/10.21105/joss.02313

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

@peanutfun
Copy link

Many thanks to everybody involved! 😊

@arfon
Copy link
Member

arfon commented Aug 25, 2022

@editorialbot reaccept

@editorialbot
Copy link
Collaborator

Rebuilding paper!

@editorialbot
Copy link
Collaborator

🌈 Paper updated!

New PDF and metadata files 👉 openjournals/joss-papers#3471

@peanutfun
Copy link

@arfon thank you very much! 🙌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review
Projects
None yet
Development

No branches or pull requests

9 participants