Closed whedon closed 7 years ago
Hello human, I'm @whedon. I'm here to help you with some common editorial tasks for JOSS. @jessdtate it looks like you're currently assigned as the reviewer for 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 as reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all JOSS reviews 😿
To fix this do the following two things:
For a list of things I can do to help you, just type:
@whedon commands
Hey, @jessdtate --- We were in touch by email ~20 days ago. Have you had a chance to look at the submission? Cheers!
@meg-simula, I an error when trying to test the installation as describe in the install doc. The error is: No module named 'dolfinimport' I installed the fenics in my anaconda build, and I can import the dolfin module fine. Do I have to install dolfin separately, or is there something else wrong? . I'm running on OS X 10.12.
@jessdtate: Are you using Python 2 or 3? We don't really support Python 3 yet, cf this issue:
https://bitbucket.org/meg/cbcbeat/issues/16/import-failure-in-python-3
OK, I'll try python 2
I got it working with python 2. This detail should be noted in the installation documentation.
It might help to have some other hints about the installation process. For instance, using conda the py.test will not work (at least not for me) as it doesn't copy the py.test executable to the fenics environment. However, using the docker method, there are problems getting the plots to visualize. I know that these are fenics issues, but it affects your software.
Thanks @jessdtate, I have updated the installation instructions to require Python 2 for now.
What about the other suggestions in the second paragraph?
If you give me a concrete suggestion for what to add and where, I would be happy to do so.
Plotting in Docker is clearly FEniCS work-in-progress, but I would rather avoid duplication of issues in FEniCS in the cbcbeat documentation. I'm not familiar with using conda, so I wouldn't quite know what to write regarding py.test.
these are suggestion to make the installation easier for those that may not know FEniCS or your software. Since the cbcbeat API is based of FEniCS's, the users need to be familiar with the API of FEniCS, which should but noted in the documentation. You could emphasis this in the documentation with statements like: 'Users should familiarize themselves with the FEniCS package..' or '...requires a working understanding of FEniCS...'. I suggest including language like this in both the website and the install doc (in the dependencies section). If the user follows this advise, they will probably learn of which limitations are from FEniCS as rather than assigning them to cbcbeat.
The extent that you do this for other dependences like dolfin-adjoint is up to you. I had no problems installing or running that package after getting FEniCS working.
If you do not test the conda version as much or at all, it may help to steer users in the docker direction with a statement like: 'Any type of build of FEniCS should work, but cbcbeat is better tested using builds on docker.'
I had a problem getting the niederer-benchmark demo to work. It seems to need a case file that I cannot find.
I'm also having trouble running the biventricular example. I get the error:
File "demo_biventricular.py", line 195, in main vs_timeseries = TimeSeries(mpi_comm, "%s/vs" % directory) NameError: global name 'TimeSeries' is not defined
This appears to be a problem only with the conda build. It hasn't finished yet with docker.
I'm a bit confused as to the description of the software for applications of forward and inverse cardiac electrophysiology. My concern is that the description takes away the focus of what I think is a useful software.
The examples provided are all tissue or cell models, which are forward problems in the technical sense, but traditional use of the term of cardiac forward problem most often refers to the calculation of the body surface from cardiac sources. I can see how these simulations could be used with the traditional forward problems, but that does not seem to be the primary focus of the software.
As for the inverse problem capability, it is not clear that there is any in either the technical or tradition sense, as there are no examples, nor any description in the API documentation.
One solution would be either clarify what is meant by forward and inverse problems and how it is used in such. I would suggest removing it and instead focus on the softwares uses for cell and tissue modeling, as that is a useful application by itself.
Thanks for taking the time to look carefully at this Jess! I'll respond in sequence below. (Sidenote: threaded issues would be practical on Github, does that exist?)
@whedon commands
Here are some things you can ask me to do:
# List all of Whedon's capabilities
@whedon commands
# Assign a GitHub user as the reviewer of this submission
@whedon assign @username as reviewer
# List the GitHub usernames of the JOSS editors
@whedon list editors
# List of JOSS reviewers together with programming language preferences and domain expertise
@whedon list reviewers
# Change editorial assignment
@whedon assign @username as editor
# Set the software archive DOI at the top of the issue e.g.
@whedon set 10.0000/zenodo.00000 as archive
# Open the review issue
@whedon start review
:construction: Important :construction:
This is all quite new. Please make sure you check the top of the issue after running a @whedon command (you might also need to refresh the page to see the issue update).
This is a different setup than most github repos. Normally, we would split these into separate issues and each would be a thread. I cannot create issues in bitbucket, but I could add these to your github repo.
dolfin-version: 2016.2.0
"cbcbeat [@cbcbeat] is a Python-based software collection targeting forward and inverse solution of computational cardiac electrophysiology problems"
with
"cbcbeat [@cbcbeat] is a Python-based software collection targeting computational cardiac electrophysiology problems."
The next sentences then describe what cbcbeat provides, namely solvers for bidomain + monodomain that are adjoint-enabled i.e. allows for computing gradients, which in turn allows for gradient-based PDE-constrained optimization (i.e. what I would call inverse problems).
I can add a sentence clarifying the latter point and add a demo with an inverse (in the sense of PDE-constrained optimization) example. There are a bunch of tests for the adjoint computation under test/.
3.2 The TimeSeries error would be a pure FEniCS + conda issue, I can follow that up with the maintainers of the FEniCS conda packages. (See the top of the demo_biventricular.py demo for a recommendation of running the demo with --T 1.0 to make it complete faster.)
2.2 The niederer-demo issue would belong with the cbcbeat Bitbucket repo. If you can provide the error message, that would be useful.
re 4. That description is much more clear.
2.2 hmm. Looks like the niederer-demo is working with docker build now.
do you still want the bitbucket issue? the error code in conda is: File "demo_benchmark.py", line 210, in run_splitting_solver vfile = HDF5File(mesh.mpi_comm(), "%s/v.h5" % casedir, "w") NameError: global name 'HDF5File' is not defined
3.2 the biventricular demo in docker worked with the --T 1.0 option. without it it crashes: It reports 'killed' without an error message.
3.2: I'm assuming this is not with --T 1.0... Thanks for patiently testing, I've just pushed a fix. Could you please test with Docker again?
4.2: Text updated, and I've added an issue re adding an inverse demo.
3.2: I've also removed the use of the old style TimeSeries, so perhaps it also works with Conda now.
Both the biventricular and becnchmark examples are working in docker.
I no longer get the TimeSeries error, but now I'm getting this error with both demos in the conda version: NameError: global name 'HDF5File' is not defined
Good! Missing TimeSeries/HDF5 in the conda packages seem to be a known FEniCS issue/feature see e.g: https://github.com/conda-forge/fenics-feedstock/issues/37 https://github.com/conda-forge/fenics-feedstock/issues/5
@labarba what's the procedure now. I'm satisfied with the changes. There are plans to add another example, otherwise everything else is done. Do we wait for the example to finish the review, or finish it up now. Do I just close the issue when it is done, or are there other procedures?
I see all the checkboxes are ticked. If you are happy with all fixes, @jessdtate, then we just ping @arfon to initiate acceptance, and ask @meg-simula to make an archive of the fixed software to get a DOI update.
@labarba @jessdtate Sounds good. Will you let me know when things are ready for me to make a fixed archive? And, what is the best way of doing so?
@jessdtate : We will need a statement from you indicating that you are satisfied and recommend acceptance.
I am satisfied with the response to the feedback I provided and recommend acceptance. @arfon
@meg-simula - At this point could you make an archive of the reviewed software in Zenodo/figshare/other service and update this thread with the DOI of the archive? I can then move forward with accepting the submission.
Done. DOI: 10.5281/zenodo.801552 cf: https://zenodo.org/record/801552#.WS8Nxx8xDb1
@whedon set 10.5281/zenodo.801552 as archive
OK. 10.5281/zenodo.801552 is the archive.
@jessdtate many thanks for your review here and to @labarba for editing this submission ✨
@meg-simula - your paper is now accepted into JOSS and your DOI is http://dx.doi.org/10.21105/joss.00224 :zap: :rocket: :boom:
Submitting author: @meg-simula (Marie Rognes) Repository: https://bitbucket.org/meg/cbcbeat Version: v1.0 Editor: @labarba Reviewer: @jessdtate Archive: 10.5281/zenodo.801552
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) 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 questions
Conflict of interest
General checks
Functionality
Documentation
Software paper
paper.md
file include a list of authors with their affiliations?