openjournals / joss-reviews

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

[REVIEW]: GroundwaterDupuitPercolator: A Landlab component for groundwater flow #1935

Closed whedon closed 4 years ago

whedon commented 4 years ago

Submitting author: @davidlitwin (David Litwin) Repository: https://github.com/landlab/landlab Version: v2.0.0b5 Editor: @kthyng Reviewers: @dvalters, @rreinecke Archive: 10.5281/zenodo.3660698

Status

status

Status badge code:

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

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

@dvalters & @rreinecke, 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 @kthyng know.

Please try and complete your review in the next two weeks

Review checklist for @dvalters

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Review checklist for @rreinecke

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

whedon commented 4 years ago

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

:star: Important :star:

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 commented 4 years ago
Attempting to check references...
whedon commented 4 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 4 years ago

OK DOIs

- 10.1029/WR006i005p01296 is OK
- 10.1016/S0167-5648(09)70009-7 is OK
- 10.1029/2002WR001728 is OK
- 10.1016/j.advwatres.2017.09.008 is OK
- 10.1002/esp.1369 is OK
- 10.1016/j.jhydrol.2003.12.043 is OK
- 10.1002/2014WR015809 is OK
- 10.1002/2013WR013918 is OK
- 10.1029/WR007i005p01256 is OK
- 10.1126/science.aaf7891 is OK
- 10.1016/j.jhydrol.2008.11.002 is OK
- 10.1029/92WR00802 is OK
- 10.5194/esurf-5-21-2017 is OK

MISSING DOIs

- None

INVALID DOIs

- None
whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

kthyng commented 4 years ago

Just a quick note to reviewers @dvalters, @nicgaspar that this is where the review is to take place. Thanks!

kthyng commented 4 years ago

Happy New Year @dvalters and @nicgaspar! Here is a friendly reminder for your review, maybe in a few days after you have celebrated the new year coming in. Thanks!

nicgaspar commented 4 years ago

Hi @kthyng! I'm behind as always. I just realized that I have a COI. I am still willing to go ahead with the review if you think it is OK. But I actively collaborate with Katy Barnhart and Greg Tucker, both of whom are co-authors. As in we are working on papers together now, and have published together in the last year.

I feel I can be unbiased, but I should let you know. Sorry this took so long.

kthyng commented 4 years ago

@nicgaspar Hm I think that is too close. I will search for a new reviewer. Thank you for pointing this out.

kthyng commented 4 years ago

Hi @rreinecke! You were interested in this JOSS submission before — any chance you still are and are available to review it? It turns out we had a conflict of interest with another reviewer.

kthyng commented 4 years ago

@dvalters What is your timeline for working on this review? Thanks.

rreinecke commented 4 years ago

@kthyng Sure.

kthyng commented 4 years ago

@rreinecke Awesome! Thanks. I will add you on.

kthyng commented 4 years ago

@whedon add @rreinecke as reviewer

whedon commented 4 years ago

OK, @rreinecke is now a reviewer

kthyng commented 4 years ago

@whedon remove @nicgaspar as reviewer

whedon commented 4 years ago

OK, @nicgaspar is no longer a reviewer

kthyng commented 4 years ago

I think that @nicgaspar should now be removed as a reviewer and replaced by @rreinecke, but please let me know if anything is in error. @rreinecke I think you'll just need to accept the invitation to review to have permission to edit the checklist. Thanks.

rreinecke commented 4 years ago

@DavidLitwin before continuing with my review could you please provide me detailed information on where to find the new groundwater module? It appears that you have submitted the landlab main repository to this JOSS review - Is there a reason it is not in a separate repository and used as submodule? Also the contribution of submitting author @DavidLitwin is not clear. From the number of total commits in the landlab project I cannot derive a major contribution.

dvalters commented 4 years ago

@kthyng Hello again, - yes, sorry I am on it this week! Thanks for the reminder :)

DavidLitwin commented 4 years ago

Hi @rreinecke and @dvalters, you can find the groundwater module in the components folder, here. I think this is how this has been handled for all landlab components - they become part of the main repository so that they are readily available for anyone who uses landlab. Details on that are probably more a question for @kbarnhart.

As for contributions. The groundwater model was started by Greg Tucker. I did most of the core work from there. I adapted it for sloping aquifer base, incorporated the functions necessary to allow for seepage to the surface, wrote the adaptive timestep solver, wrote setters and getters and methods to calculate fluxes, wrote all current documentation and the tutorial. @kbarnhart has since made several commits so that the component is compatible with landlab 2.0. Does that help?

kbarnhart commented 4 years ago

@rreinecke I'll add a few other comments regarding this submission and contributions. Hopefully this clarifies things, but if not, please let me know and I'll try and address additional questions.

This contribution specifically focuses on the GroundwaterDupuitPercolator component within the Landlab package, rather than the Landlab package itself. Because JOSS is set up for the submission to provide a repository (e.g., https://github.com/landlab/landlab), this means that the repository of record is github/landlab/landlab, but the scope of the contribution is the the component (https://github.com/landlab/landlab/tree/master/landlab/components/groundwater), the associated documentation, and examples. At present there is no way in the JOSS workflow to formally indicate that this submission focuses on only the GroundwaterDupuitPercolator component.

The first time someone considered submitting a component from Landlab to JOSS (it was me, link to issue discussing this) there was a discussion about whether it would make the most sense to put it in a separate repository and then have Landlab consider it as a submodule. We decided that this was not the best approach because it would make maintenance of the component and the package more difficult. Additionally, keeping the component within the Landlab package means that a separate submodule doesn't need to re-implement all of the documentation-building, code testing, and CI specification package documents, but can take advantage of the setup that the landlab package already has.

While @DavidLitwin has made relatively few commits to the Landlab package, he is almost entirely responsible for this component, its documentation, and examples. My description of coauthor contributions would be as follows:

DavidLitwin commented 4 years ago

Thank you for clarifying @kbarnhart. I agree with the coauthor contributions as you have described them.

rreinecke commented 4 years ago

Thank you @kbarnhart and @DavidLitwin for clarifying the authorship.

Concerning the submodule I strongly disagree but that is something you need to decide and will not be part of this review. Nevertheless, I already have a problem in verifying the functionality of the software as I cannot find according unit tests (and how to run them). If they are somewhere else in the project please add a detailed description to your repository e.g. a list of submodules etc.. Please also explain there where to find which software component. I'm aware that there is another official Landlab page but as my time, and the time of the other reviewer and of course potential future users, is limited please consider to extend your readme. Also install instructions are missing together with a list of dependencies. Furthermore, did you implement a simple example model which demonstrates the capabilities of the new package? If so where? And where do I find the according documentation?

Please revise your repository in a way that I'm able to answer all of these questions on my own and let me know when it is implemented. Please do not describe these things in this thread. They should be self explanatory for every new user.

dvalters commented 4 years ago

Furthermore, did you implement a simple example model which demonstrates the capabilities of the new package?

There is a binder demo of the new component here (linked to in the component readme) which I'm using to explore the model.

https://mybinder.org/v2/gh/landlab/landlab/release?filepath=notebooks/tutorials/groundwater/groundwater_flow.ipynb

rreinecke commented 4 years ago

Furthermore, did you implement a simple example model which demonstrates the capabilities of the new package?

There is a binder demo of the new component here (linked to in the component readme) which I'm using to explore the model.

https://mybinder.org/v2/gh/landlab/landlab/release?filepath=notebooks/tutorials/groundwater/groundwater_flow.ipynb

Thank you! This is great! @dvalters Still my comments about the project README remain. @DavidLitwin

Please also adress landlab/landlab#1106 and landlab/landlab#1105 @DavidLitwin

rreinecke commented 4 years ago

@DavidLitwin I've added a question concerning the used equations here: landlab/landlab#1107

Just to have it on record and be transparent (this is not a review request only a general suggestion and note, I don't think it is a conflict of interest): @DavidLitwin I have developed a Modflow clone that allows to efficiently calculate 3d Darcy flow. Maybe that is of interest as an alternative to your use of Depuit. Just for consideration after the review for future work.

Nonetheless I think you should openly discuss the limitations of your approach so that users are applying it correctly.

kbarnhart commented 4 years ago

@rreinecke I will open an issue in the landlab repository associated with your prior comment and address it with a PR. Once that PR is live I will ask you to comment on whether I have addressed the issues you raised.

rreinecke commented 4 years ago

@DavidLitwin @kthyng I'm done.

Cheers

@DavidLitwin Just to let you know landlab did not pass all tests for me: "199 failed, 2665 passed, 61 skipped, 24 warnings, 19 error in 106.32 seconds" but the groundwater component tests worked as expected so I don't see a reason why dragging this review further along.

kbarnhart commented 4 years ago

@rreinecke could you make an issue in Landlab and paste int the output of the failing tests? I'm surprised that they are failing, and want to make sure that this is addressed. Thanks for your review!

rreinecke commented 4 years ago

@kbarnhart Sorry I'm super swamped right now. It might also only be a problem connected to my manual setup without anaconda. If I find the time I will open an issue in landlab. But I don't think this is blocking the completion of this review from my side.

DavidLitwin commented 4 years ago

Hi @kthyng, it appears that all the boxes have been checked by the reviewers. Is there anything more that we need to do at this point? Thanks!

dvalters commented 4 years ago

Yep, sorry forgot to say after checking the boxes - all good from my side as far as a I can see!

kthyng commented 4 years ago

@whedon generate pdf

whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

kthyng commented 4 years ago

@DavidLitwin Just read through your paper and have one small typo in the paper #1144 and a few in the bib file #1145. See what you think.

After that, let me know: what is the appropriate version number to use?

Also, can you set up an archive of your code at, for example, Zenodo, and report back here with the doi?

DavidLitwin commented 4 years ago

@kthyng thank you for the typo corrections.

@kbarnhart I want to make sure the version and doi are handled correctly.. If we do it similarly to the JOSS paper for lithology, the landlab release where the component was introduced is referenced, along with the current landlab release and associated DOI. The component first appears in v.1.10 I believe, and current release is v2.0.0b5. @kbarnhart can you confirm this?

DavidLitwin commented 4 years ago

Just fixed one other typo in landlab/landlab#1146.

kbarnhart commented 4 years ago

@DavidLitwin you are correct. the typo you just fixed isn't in v2.0.0b5, but I'm not sure if that is important. if it is, we can make a new release.

DavidLitwin commented 4 years ago

@kbarnhart I think that should be fine, right? @kthyng zenodo seems to be having some trouble right now, but the DOI is 10.5281/zenodo.154179.

kbarnhart commented 4 years ago

@DavidLitwin I don't think that is the correct DOI.

That looks like the DOI for v1.0.1.

DavidLitwin commented 4 years ago

@kbarnhart do you have the correct one? That's the one that appears in the readme for landlab on github, and I can't find anything past 1.5.4 with a DOI on zenodo.

kbarnhart commented 4 years ago

@DavidLitwin I would manually make a Zenodo archive rather than use the auto-created Zenodo archive that sometimes get made when a new tag is created.

I also say this because I know in the JOSS docs there is a statement that the title and authors of the zenodo archive should match. The docs say:

Check the archive deposit has the correct metadata (title and author list), and request the author edit it if it doesn’t match the paper.

So I think you'll need to download a .zip of the current version of Landlab and archive it with the name and authors of this contribution. I'll let @kthyng chime in if she thinks this is not correct.

kthyng commented 4 years ago

@kbarnhart Yes this sounds correct to me. I haven't gone through the process myself but we do want the relevant version of the code archived at something like Zenodo, and we want the authors/title to match the paper exactly. Having the whole Landlab in the archive does make sense, given this is a submodule.

DavidLitwin commented 4 years ago

@kthyng and @kbarnhart I have created an archive of the latest landlab release (2.0.0b5) here:

http://doi.org/10.5281/zenodo.3660698

Please let me know if there are any issues with this and I will try to resolve them.

kthyng commented 4 years ago

@whedon set v2.0.0b5 as version

whedon commented 4 years ago

OK. v2.0.0b5 is the version.

kthyng commented 4 years ago

@whedon set 10.5281/zenodo.3660698 as archive

whedon commented 4 years ago

OK. 10.5281/zenodo.3660698 is the archive.

kthyng commented 4 years ago

@whedon accept