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]: scikit-finite-diff, a new tool for PDE solving #1356

Closed
whedon opened this issue Mar 29, 2019 · 84 comments

Comments

Projects
None yet
8 participants
@whedon
Copy link
Collaborator

commented Mar 29, 2019

Submitting author: @celliern (Nicolas Cellier)
Repository: https://gitlab.com/celliern/scikit-fdiff/
Version: v0.6.0
Editor: @Kevin-Mattheus-Moerman
Reviewer: @mrava87, @poulson
Archive: 10.5281/zenodo.3236970

Status

status

Status badge code:

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

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 instructions & questions

@mrava87 & @poulson, 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.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @Kevin-Mattheus-Moerman know.

Please try and complete your review in the next two weeks

Review checklist for @mrava87

Conflict of interest

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?
  • Version: v0.6.0
  • Authorship: Has the submitting author (@celliern) 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 function 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

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?

Review checklist for @poulson

Conflict of interest

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?
  • Version: v0.6.0
  • Authorship: Has the submitting author (@celliern) 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 function 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

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Mar 29, 2019

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @mrava87, it looks like you're currently assigned as the reviewer for this paper 🎉.

⭐️ 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
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Mar 29, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Mar 29, 2019

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

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 13 0 13 0 0 254 0 --:--:-- --:--:-- --:--:-- 260
Can't compile the PDF, the bibtex file has 3 extraneous references: @Rang:2015, @Cellier:2018, @Leveque:2002

@mrava87

This comment has been minimized.

Copy link

commented Mar 30, 2019

Hi @celliern,
nice library. Here are some comments. As they are all quite general I have not created issues on the repo yet. Please have a look and let me know if everything is clear and if you agree with the suggested points and I will create some specific issues for those tasks you agree you will be able to tackle.

  • General comments:
  • I find this tool very nice and valuable. When reading your documentation I see a lot of similarities with https://www.devitoproject.org which you may have never come across as it is more focused on geophysical problems (any sort of wave equation). I suggest to take a look and cite it in your paper and perhaps get in touch with the authors to discuss similarities of your packages - this is definitely up to you and beyond the review process of this paper :)
  • What about second order time derivatives: how would you solve a wave equation (https://en.wikipedia.org/wiki/Acoustic_wave_equation), I don't seem to find anything in the documentation?
  • Adding external forces: again, taking the acoustic wave equation, it is not always natural to have an initial condition, rather you would like to have an external at some location (your source) so the equation becomes dttU - 1/c**2 dxxU = f. I would assume you can implement f using the Hook but I am not sure why I would call this a non-linear effect then as this is linear. Can you comment?
  • Paper: fix the following typos

    • developpment —> development
    • Paper: The later —> The latter
    • Paper: sparsed by nature —> it is sparse by nature?
    • Paper: writting—> writing
  • Installation: I don’t see packages in scikit-fdiff conda channel that you mention in the documentation.

  • Examples:

    • in the example you show in the landing page of read the docs, I suggest to point to the exact equation you implement in wikipage (Non-conservative form?)
    • examples in the README file and documentation are hard to try out as you need to manually copy paste and remove >>>>. I suggest to at least remove those >>>>. A better solution could be to add links to python scripts (or better jupyter-notebooks) and even better to convert them into sphinx-gallery examples which are run as part of readthedoc build project. I see two main advantages by implementing this last option: i) you are entirely sure your examples will always run, typos or changes in code that you forget to fix in the example will be easy to spot as your documentation build would crash otherwise, ii) everyone can download python files or notebooks with the example and run it.
  • Contribution: I can’t find any info related to how to contribute, https://scikit-fdiff.readthedocs.io/en/latest/contribute.html# is empty.

  • Documentation API: I see that your documentation, especially is very accurate in the going further section. However it looks to me a bit more like a long story (paper style) other than a software documentation. I would strive to include also a skdiff API section where users have easy to all main classes and functions in your library that you want to expose to them. If for example I want to use fft routines in numpy but I do not need to understand the theory behind as I am familiar I will go here https://docs.scipy.org/doc/numpy/reference/routines.fft.html, I feel something along this lines is lacking in your documentation. As you use sphinx it is very easy to add something like that, if you don’t know how to do it I can point you to some examples :)

  • Versioning: I am not sure this project follows semantic versioning. You say that v0.6.0 is a huge step for the software, does this make it incompatible with previous versions (any backward incompatible change being made?). I would think that if the software name changed all the imports in previous scripts will not work anymore? In that case is very important to boost the first number (here would be v1.0.0). I am not sure how to go about here but I think you should aware and at least strive for that from here onwards.

  • News / TODO / Roadmad: suggest to move this to independent md file and/or in documentation

That's all for me,
really nice to discover this library!

MR

@celliern

This comment has been minimized.

Copy link

commented Mar 30, 2019

Hi @mrava87 ! Thanks for the review !

I will answer to the different points :

  • I wasn't aware of Devito, I will look at the paper and sure discuss with the team ! Some part of scikit-fdiff could may use Devito internal, reducing development / maintenance cost of the software.
  • Second order time derivative can be solved with using an intermediate variable and solving two first order equation instead of one second order equation.
  • You can implement external force by writing them explicitly as
    model = Model("dxxU - 1/c**2 dxxU - f", "U(x)", parameters=["f"])
    then providing f when initializing the fields. You can also explicitly write "f" if you have it as a function of x.
    model = Model("dxxU - 1/c**2 dxxU - f", "U(x)", subs={"f": "cos(x)"}) for example.
  • The conda package was in project, but some of the dependencies are not in conda-forge. I will remove that from the doc, and I "may" add all the deps and the software to conda-forge. As scikit-fdiff is pip installable both under linux and windows, It's not top priority anymore.
  • A sphinx gallery is plan (maybe next week?). For now, all the example are in doctest form (explaining the >>>). This means that they tested during the gitlab pipeline, ensuring they run correctly. Short term will have the two : doctest in the readme and a cookbook with example as jupyter notebooks.
  • Contribution : my bad! Forgot that part. Will appear (very) soon !
  • I will add the API page thank to autodoc. I'll try to do that this week.
  • Versioning : the rule for semantic versioning are slightly different when < 1.0. In that case, breaking rules are allowed between "minor" revision, as the software is still in early stages. This version (0.6) was the one it goes from 1D only / specific case to (I hope) a really useful tool with arbitrary dimension. It is close to its final form, but I could not go to the 1.0 before more external review (and JOSS is an important part of its external review), and being more used in different cases.
  • I will certainly make a separate file for the news / TODO / roadmap as you suggest.

I will also do the typo fixes for the paper.

Thank a lot for all these remarks !

Nicolas Cellier

@mrava87

This comment has been minimized.

Copy link

commented Mar 30, 2019

No problem :) Let me know when you have added things and I will take another look

Just a quick follow up:

  • Second order time derivative can be solved with using an intermediate variable and solving two first order equation instead of one second order equation.

I assumed that would have been the case but wasn't sure if you could do it with second order time derivative as well, good to know :)

  • You can implement external force by writing them explicitly as
    model = Model("dxxU - 1/c**2 dxxU - f", "U(x)", parameters=["f"])
    then providing f when initializing the fields. You can also explicitly write "f" if you have it as a function of x.
    model = Model("dxxU - 1/c**2 dxxU - f", "U(x)", subs={"f": "cos(x)"}) for example.

Maybe I wasn't precise enough, I meant a time-space dependent external forcing f, for example say I want to implement this set of equations:

dtVx = -dxP/rho,
dtVy = -dyP/rho,
dtP = -dxVx/k - dyVy/k +q, 

where q(t, x, y), can you do that?

@celliern

This comment has been minimized.

Copy link

commented Apr 1, 2019

You can do that in two way :
If you have the explicit q function, you can define put it in the model :

model = Model(["-dxP / rho", "-dyP / rho", "-dxVx / k - dyVy / k + cos(t) * sin(y) + x**2"],
                         ["Vx", "Vy", "P"],
                         parameters=["rho", "k"])

or use the subs argument to lighten a bit the writting

model = Model(["-dxP / rho", "-dyP / rho", "-dxVx / k - dyVy / k + q"],
                         ["Vx", "Vy", "P"],
                         parameters=["rho", "k"],
                         subs={"q": "cos(t) * sin(y) + x**2"})

Or, if you cannot write q as a sympy expr, you can provide it as a parameters, then update it using a hook.

model = Model(["-dxP / rho", "-dyP / rho", "-dxVx / k - dyVy / k + q"],
                         ["Vx", "Vy", "P"],
                         parameters=["rho", "k", "g"])

def compute_q(t, fields):
    fields["q"] = some_stuff_to_process_g(t, fields)
    return fields

simulation = Simulation(..., hook=compute_q)
@mrava87

This comment has been minimized.

Copy link

commented Apr 1, 2019

Nice :) I followed this and got an example working but I think there are still some issues with dispersion due to source injection. Let's take this off this issue and do it here https://gitlab.com/celliern/scikit-fdiff/issues/2

@celliern

This comment has been minimized.

Copy link

commented Apr 1, 2019

Hello again !
A word to say that most of the point addressed have been fixed. There is just the creation of the cookbook that is missing, but you can already look at the new version of the documentation if you want.

It will be in the dev branch :

@mrava87

This comment has been minimized.

Copy link

commented Apr 4, 2019

Great :)

Looks very good to me. Just one minor thing:

  • make sure to remove News / TODO / Roadmad etc. from the list of index in the README as now their link is broken.

Congrats with a nice software and documentation. This is good to go for me when you get the cookbook and adapt the paper (don't see it the pdf here)

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

commented Apr 9, 2019

@poulson can you please also contribute your side of the review? Thanks!

@poulson

This comment has been minimized.

Copy link

commented Apr 16, 2019

@Kevin-Mattheus-Moerman Please excuse the delay, I am getting back to this now!

@poulson

This comment has been minimized.

Copy link

commented Apr 16, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Apr 16, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Apr 16, 2019

@poulson

This comment has been minimized.

Copy link

commented Apr 16, 2019

Thank you for your patience, Nicolas (@celliern).

First, some comments on the paper:

  • The FEniCS Project is quite popular and has similar, if not more aggressive, goals, and deserves to be referenced.
  • You are making use of SymPy for your symbolic manipulations, and so it would be good form to provide a citation of the project rather than simply stating that you are doing symbolic manipulations.
  • The sentence on using "as few computational resources" as possible strikes me as a slightly redundant overstatement of the impact of making use of sparsity, as essentially all PDE and ODE solvers make use of sparsity, and doing so does not imply optimality.
  • There are a few spelling errors. For example: "development" is twice written as "developpement", "providing" as "provinding", "the latter" as "the later", "sparse" as "sparsed", "reasonable" as "reasoneable", "Nicolson" as "Nickolson", "complex" as "complexe", and "Rosenbock" as "Rosebock".

Some comments on the code itself:

  • I looked over and ran the examples, and there does not appear to be any plotting or querying of the solution itself, only the mean values. I would recommend using matplotlib, or an equivalent library, to visualize some of the solutions.
  • Further, your paper mentions that scikit-diff has been validated on a dam break problem, among others. Why not include these as examples? The current examples are a bit too elementary and do not stress the type of functionality that would be needed for the mentioned validations.
  • Feel free to ignore this suggestion, but there are very few docstrings or comments in your code. It might be a good idea to add docstrings to the major functions and classes.
  • Feel free to ignore this suggestion, but PEP 8 suggests limiting your code to at most 79 characters, and yours goes well beyond 80.
@celliern

This comment has been minimized.

Copy link

commented Apr 16, 2019

Hello !

No problem : the review process is still way faster than any "classic" journal.

Note taken for the references : I will add references to the Fenics project, and better, say a word on software targeting the same goals and their difference with my project. I will add citation for sympy as well as other main dependencies as well.

For the computational resources, it's a bit more than just the sparsity : as the system is entirely discretized with sympy, the numerical routines (F and J) are as simple as possible, making them really fast (even with the default numpy backend). In addition, the vectorization chosen for the repartition of the unknown lead to an "optimal" system to solve (as decribed here). Moreover, using by default Rosenbrock Wanner schemes allow to have only one system factorization for one time upgrade, drastically reducing the numerical cost. My bad, I should have add that to the paper. I will be done.

Thanks to the spelling, they will be fixed soon.

For the examples, I am building a gallery as @mrava87 already suggests. The 1D / 2D dam break will be present as well as more complex cases.

I note the suggestion for the docstring. I will add the docstring for all public methods (but as being solo for this project for now, this will take some time...).

For the limiting of 79 characters, I chose to use the black formatting that set the limit to pep8 + 10%, and their reasonning can be found here.

Thank you for the review. I will modify the paper and create the gallery as fast as I can (but being in vacation, I cannot work as fast as I would).

@celliern

This comment has been minimized.

Copy link

commented Apr 16, 2019

As complement on the examples, you can find two complex working examples (that will be in the gallery) here :

https://nbviewer.jupyter.org/gist/celliern/c9f408c905b2cd533dcb7c7ffbe9c851

The first one has been built by @mrava87, the second one is a 2D dam break problem.

@poulson

This comment has been minimized.

Copy link

commented Apr 19, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Apr 19, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Apr 19, 2019

@celliern

This comment has been minimized.

Copy link

commented May 9, 2019

Hello again!

Sorry for the delay !

I have updated the repository as well as the doc with the different suggestions, and I have added some examples and validation cases to a cookbook.

https://gitlab.com/celliern/scikit-fdiff/
https://scikit-fdiff.readthedocs.io/
https://scikit-fdiff.readthedocs.io/en/latest/auto_examples/index.html

@mrava87 @poulson

@mrava87

This comment has been minimized.

Copy link

commented May 10, 2019

Hi,
nice to see all the changes you implemented. I am happy to recommend this for publication.

Just one small comment regarding the example One dimension shallow water, dam break case. I struggle to see the equation that you write in the implementation. For example the first eq has one term (plus the time deriv)... ignore this comment if you think I am wrong :)

@poulson

This comment has been minimized.

Copy link

commented May 10, 2019

I am also very happy to see the added examples: I believe the package is significantly improved as a result.

I would also add the small comment that the timings for the 2D acoustic wave and dam examples are both listed as 0 seconds; it would be great if timings on a commodity laptop or workstation were added.

EDIT: I should also add that a short 'How to contribute' section in the README, or a 'CONTRIBUTING' file, would be ideal.

Other than that, I am happy to recommend this for publication as well.

@celliern

This comment has been minimized.

Copy link

commented May 11, 2019

@mrava87 You are right, they should be equivalent, but the notation differs and leads to confusion. I will fix it.

@poulson I will "clone" the doc contribute to the readme, as you suggest. The 0 timing is due to the rtd limitation: I cannot generate "huge" case in their servers.
To be coherent, I will benchmark all the simulation cases on laptop / desktop and small cluster (4 / 8 / 32 cpu, with specs) to have a good idea. Update very soon !

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

commented May 31, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 31, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 31, 2019

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

commented May 31, 2019

@whedon check references

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 31, 2019

Attempting to check references...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 31, 2019


OK DOIs

- 10.1016/j.cam.2015.03.010 is OK
- 10.7717/peerj-cs.103 is OK

MISSING DOIs

- None

INVALID DOIs

- None
@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

commented May 31, 2019

@celliern thanks for implementing those changes. I went over them and the paper looks good now. At this point can you please do the following:

  • Archive the reviewed software in Zenodo
  • Check the Zenodo deposit has the correct metadata, this includes the title (should match the paper title) and author list (make sure the list is correct and people like me who only fixed some bits of the paper, are not on it)
  • Please list the Zenodo DOI of the archived version here.
  • Please list the latest version tag of the archived version here, e.g. this issue says v0.6.0rc1 but please inform us if you have since changed the release tag.
@celliern

This comment has been minimized.

Copy link

commented Jun 2, 2019

It should be done.

The DOI is 10.5281/zenodo.3236970.

The release tag is now v0.6.0.

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

commented Jun 2, 2019

@whedon set v0.6.0 as version

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 2, 2019

OK. v0.6.0 is the version.

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

commented Jun 2, 2019

@celliern the zenodo archive says the date of publication was March 19, 2019. Is this archive recent enough, can you confirm it contains the most recent updates?

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

commented Jun 2, 2019

@whedon set 10.5281/zenodo.3236970 as archive

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 2, 2019

OK. 10.5281/zenodo.3236970 is the archive.

@celliern

This comment has been minimized.

Copy link

commented Jun 2, 2019

The metadata for the date was the one for the 0.6.0rc1. The archive is fine and contain the last updated. I updated the metadata row for the date just now.

@leveque

This comment has been minimized.

Copy link

commented Jun 3, 2019

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

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 13 0 13 0 0 254 0 --:--:-- --:--:-- --:--:-- 260
Can't compile the PDF, the bibtex file has 3 extraneous references: @Rang:2015, @Cellier:2018, @Leveque:2002

Please be careful with references, I'm referenced in github, but not the one referenced in the bibtex

@celliern

This comment has been minimized.

Copy link

commented Jun 3, 2019

@leveque oh, this @ is a cross reference to the bib file. It use the @author:year convention, it's nowhere related to the github ID. Sorry for the annoyance.

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

commented Jun 3, 2019

@openjournals/joss-eics this submission is ready to be accepted

@arfon

This comment has been minimized.

Copy link
Member

commented Jun 3, 2019

@whedon accept

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 3, 2019

Attempting dry run of processing paper acceptance...

@labarba labarba added the accepted label Jun 3, 2019

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 3, 2019


OK DOIs

- 10.1016/j.cam.2015.03.010 is OK
- 10.7717/peerj-cs.103 is OK

MISSING DOIs

- None

INVALID DOIs

- None
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 3, 2019

Check final proof 👉 openjournals/joss-papers#730

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

@whedon accept deposit=true
@labarba

This comment has been minimized.

Copy link
Member

commented Jun 3, 2019

@arfon : if you're doing the final checks, I'll leave you to it!

@arfon

This comment has been minimized.

Copy link
Member

commented Jun 3, 2019

@whedon accept deposit=true

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 3, 2019

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

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 3, 2019

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

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 3, 2019

🚨🚨🚨 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 👉 openjournals/joss-papers#731
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01356
  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...

@arfon

This comment has been minimized.

Copy link
Member

commented Jun 3, 2019

@mrava87, @poulson - many thanks for your reviews here and to @Kevin-Mattheus-Moerman for editing this submission

@celliern - your paper is now accepted into JOSS ⚡️🚀💥

@arfon arfon closed this Jun 3, 2019

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 3, 2019

🎉🎉🎉 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](http://joss.theoj.org/papers/10.21105/joss.01356/status.svg)](https://doi.org/10.21105/joss.01356)

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

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

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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.