openjournals / joss-reviews

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

[REVIEW]: pyMARS: automatically reducing chemical kinetic models in Python #1543

Closed whedon closed 5 years ago

whedon commented 5 years ago

Submitting author: @kyleniemeyer (Kyle E Niemeyer) Repository: https://github.com/Niemeyer-Research-Group/pyMARS Version: v1.1.0 Editor: @katyhuff Reviewer: @fcontino, @jcsutherland Archive: 10.5281/zenodo.3401549

Status

status

Status badge code:

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

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

@fcontino, @jcsutherland 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 @katyhuff know.

Please try and complete your review in the next two weeks

Review checklist for @fcontino

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Review checklist for @jcsutherland

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

whedon commented 5 years ago

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @fcontino 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
whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

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

kyleniemeyer commented 5 years ago

Hi @katyhuff, I just noticed that @jcsutherland doesn't have a checklist and isn't listed as a reviewer above—I think that's because you had used the @whedon assign ... as reviewer rather than add for @fcontino. I think it's possible to add him manually at this point, not sure about adding via whedon.

katyhuff commented 5 years ago

Good catch. Fixing now.

katyhuff commented 5 years ago

@jcsutherland & @fcontino please see the issue description for guidance regarding the review process and for checklists associated with each of your reviews. Thank you!

jcsutherland commented 5 years ago

@katyhuff I don't seem to have access to check any boxes for the review. When I follow the invitation URL you supplied above, I see the following:

Sorry, we couldn't find that repository invitation. It is possible that the invitation was revoked or that you are not logged into the invited account.

danielskatz commented 5 years ago

👋 @arfon - can you check/resend the invitation?

kyleniemeyer commented 5 years ago

@arfon @danielskatz @katyhuff I just added @jcsutherland as a collaborator in the joss-reviews repo, which (I believe) is what whedon does when adding a reviewer at the pre-review stage.

jcsutherland commented 5 years ago

jcsutherland Review Comments

Critical issues to be resolved prior to acceptance

Other issues to consider

kyleniemeyer commented 5 years ago

Hi @jcsutherland, thanks so much for all your feedback! We will start to address these items, but quickly, pyMARS does actually already have an automated testing suite, based on pytest.

If you have pytest installed, navigating to the repo and running pytest should automatically find and run all the tests, contained in the pymars/tests directory.

However, I do see that this isn't described in the documentation, so we will add that.

jcsutherland commented 5 years ago

I'm good with acceptance at this point.

katyhuff commented 5 years ago

Thanks @jcsutherland ! I appreciate your thorough review.

@fcontino: Thank you again for volunteering to review. I know you initially expressed some scheduling challenges. Will you be able to address this review sometime soon? I hope you'll let us know what deadline will work for you.

kyleniemeyer commented 5 years ago

Thanks @jcsutherland!

FYI @fcontino, we released v1.1.0a0 based on the changes made in response to @jcsutherland's comments, if you grabbed an earlier version.

kyleniemeyer commented 5 years ago

Hi @katyhuff @fcontino just checking in on this.

katyhuff commented 5 years ago

I'll send an email -- he may not be getting notifications.

fcontino commented 5 years ago

Sorry everyone, I didn't receive the notifications. I'll check this quickly.

fcontino commented 5 years ago

I have installed pyMARS successfully on my Mac.

I am proceeding with some tests.

My first concern is that after installing, pymars --help does not give me the same as stated here. It gives me the following:

`pymars -help usage: pymars [-h] -m MODEL [-e ERROR] [--method {DRG,DRGEP,PFA}] [--targets TARGETS [TARGETS ...]] [--conditions CONDITIONS] [--retained_species [RETAINED_SPECIES [RETAINED_SPECIES ...]]] [--sensitivity_analysis] [--sensitivity_type {initial,greedy}] [--upper_threshold UPPER_THRESHOLD] [--path PATH] [--num_threads [NUM_THREADS]] [--convert] [--thermo THERMO] [--transport TRANSPORT]

pyMARS: Reduce chemical kinetic models.

optional arguments: -h, --help show this help message and exit -m MODEL, --model MODEL input model filename (e.g., "mech.cti"). -e ERROR, --error ERROR Maximum error percentage for the reduced model. --method {DRG,DRGEP,PFA} skeletal reduction method to use. --targets TARGETS [TARGETS ...] List of target species (e.g., "CH4 O2"). --conditions CONDITIONS File with list of autoignition initial conditions. --retained_species [RETAINED_SPECIES [RETAINED_SPECIES ...]] List of non-target species to always retain (e.g., "N2 Ar") --sensitivity_analysis Run sensitivity analysis after completing another method. --sensitivity_type {initial,greedy} Sensitivity analysis algorithm to be used --upper_threshold UPPER_THRESHOLD Upper threshold value used to determine species for sensitivity analysis. --path PATH Path to directory for writing files. --num_threads [NUM_THREADS] Number of CPU cores to use for running simulations in parallel. If no number, then use available number of cores minus 1. --convert Convert files between Cantera and Chemkin formats (.cti <=> .inp) --thermo THERMO thermodynamic data filename (only necessary for Chemkin files). --transport TRANSPORT transport data filename (only necessary for Chemkin files). `

And I'm getting the following error. Not sure if it relates to my configuration.

pymars --input example_input_file.yaml usage: pymars [-h] -m MODEL [-e ERROR] [--method {DRG,DRGEP,PFA}] [--targets TARGETS [TARGETS ...]] [--conditions CONDITIONS] [--retained_species [RETAINED_SPECIES [RETAINED_SPECIES ...]]] [--sensitivity_analysis] [--sensitivity_type {initial,greedy}] [--upper_threshold UPPER_THRESHOLD] [--path PATH] [--num_threads [NUM_THREADS]] [--convert] [--thermo THERMO] [--transport TRANSPORT] pymars: error: the following arguments are required: -m/--model

I have tried to specify the same

kyleniemeyer commented 5 years ago

Hi @fcontino, it looks like the version you installed is not the latest version (v1.1.0a8). That command-line interface was used before we made some changes in response to @jcsutherland's feedback.

If you installed using conda, could you try installing the latest version with conda install -c niemeyer-research-group pymars=1.1.0a8?

fcontino commented 5 years ago

Sorry for the huge delay. I'm still having issues. Can you help me?

conda install -c niemeyer-research-group pymars=1.1.0a8
Collecting package metadata (repodata.json): done
Solving environment: failed
Initial quick solve with frozen env failed.  Unfreezing env and trying again.
Solving environment: failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Package entrypoints conflicts for:
_ipyw_jlab_nb_ext_conf -> jupyterlab -> jupyterlab_server[version='>=0.2.0,<0.3.0'] -> notebook[version='>=4.2.0'] -> nbconvert -> entrypoints[version='>=0.2.2']
jupyterlab -> jupyterlab_server[version='>=0.2.0,<0.3.0'] -> notebook[version='>=4.2.0'] -> nbconvert -> entrypoints[version='>=0.2.2']
spyder -> nbconvert -> entrypoints[version='>=0.2.2']
entrypoints
nbconvert -> entrypoints[version='>=0.2.2']
jupyter -> notebook -> nbconvert -> entrypoints[version='>=0.2.2']
anaconda==5.2.0=py36_3 -> jupyterlab==0.32.1=py36_0 -> notebook[version='>=4.2.0'] -> nbconvert -> entrypoints[version='>=0.2.2']
nltk -> twython -> requests-oauthlib[version='>=0.4.0'] -> oauthlib[version='>=0.6.2'] -> pyjwt[version='>=1.0.0'] -> pep8-naming -> flake8-polyfill[version='>=1.0.2,>=1.0.2,<2'] -> flake8 -> entrypoints[version='>=0.3.0,<0.4.0']
widgetsnbextension -> notebook[version='>=4.4.1'] -> nbconvert -> entrypoints[version='>=0.2.2']
notebook -> nbconvert -> entrypoints[version='>=0.2.2']
jupyterlab_launcher -> notebook -> nbconvert -> entrypoints[version='>=0.2.2']
Package pyyaml conflicts for:
anaconda-navigator -> anaconda-project[version='>=0.4'] -> anaconda-client -> pyyaml[version='>=3.12']
anaconda-client -> pyyaml[version='>=3.12']
odo -> dask[version='>=0.11.1'] -> bokeh[version='>=0.13.0'] -> pyyaml[version='>=3.10']
conda-verify -> pyyaml
pyyaml
dask -> bokeh[version='>=0.13.0'] -> pyyaml[version='>=3.10']
bokeh -> pyyaml[version='>=3.10']
distributed -> pyyaml
conda-build -> conda-verify -> pyyaml
anaconda==5.2.0=py36_3 -> blaze==0.11.3=py36h02e7a37_0 -> odo[version='>=0.5.0'] -> dask[version='>=0.11.1'] -> bokeh -> pyyaml[version='>=3.10']
anaconda-project -> anaconda-client -> pyyaml[version='>=3.12']
scikit-image -> dask[version='>=0.5'] -> bokeh[version='>=0.13.0'] -> pyyaml[version='>=3.10']
blaze -> odo[version='>=0.5.0'] -> dask[version='>=0.11.1'] -> bokeh[version='>=0.13.0'] -> pyyaml[version='>=3.10']
pymars=1.1.0a8 -> pyyaml[version='>=4.2b1']
Package mkl-service conflicts for:
mkl-service
fcontino commented 5 years ago

OK. So the problems were coming from my machine. I tried on another machine and it works perfectly. Sorry again and excellent job!!

katyhuff commented 5 years ago

@whedon check references

whedon commented 5 years ago
Attempting to check references...
whedon commented 5 years ago

OK DOIs

- 10.1016/j.pecs.2008.10.002 is OK
- 10.1016/j.combustflame.2010.12.010 is OK
- 10.1016/j.combustflame.2009.12.022 is OK
- 10.1016/j.combustflame.2010.03.006 is OK
- 10.1021/ef5022126 is OK
- 10.1016/j.combustflame.2014.05.001 is OK
- 10.1016/j.combustflame.2007.11.013 is OK
- 10.1016/j.combustflame.2005.02.015 is OK
- 10.1016/j.proci.2006.07.182 is OK
- 10.1016/j.proci.2006.08.025 is OK
- 10.1016/j.combustflame.2006.04.017 is OK
- 10.1016/j.proci.2004.08.145 is OK
- 10.1016/j.combustflame.2007.10.020 is OK
- 10.1007/bf01386390 is OK
- 10.1007/bf01166355 is OK
- 10.1146/annurev.pc.34.100183.002223 is OK
- 10.1016/s0097-8485(00)00077-2 is OK
- 10.5281/zenodo.1174508 is OK
- 10.1109/mcse.2011.37 is OK
- 10.2172/481621 is OK

MISSING DOIs

- None

INVALID DOIs

- None
katyhuff commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

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

katyhuff commented 5 years ago

Thank you @jcsutherland and @fcontino for your reviews -- we couldn't do this without you. Also, of course, thank you @kyleniemeyer for a strong submission and for engaging actively in the review process!

I have looked over the paper, double-checked all the DOI links, and have conducted a high-level review of the code itself. The only thing that renders strangely is the pytables citation (but I recognize that this is a feature of their chosen CITATION.bib file). Since there's not much to be done about that, and everything looks ship-shape to me, I think we are ready to move forward with accepting this submission.

@kyleniemeyer : At this point, please double-check the paper yourself, review any lingering details in your code/readme/etc., and then make an archive of the reviewed software in Zenodo/figshare/other service. Please be sure that the DOI metadata (title, authors, etc.) matches this JOSS submission. Once that's complete, please update this thread with the DOI of the archive, and I'll move forward with accepting the submission. Until then, now is your moment for final touchups!

kyleniemeyer commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

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

kyleniemeyer commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

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

kyleniemeyer commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

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

kyleniemeyer commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

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

kyleniemeyer commented 5 years ago

@katyhuff ok, sorry for the spam—I resolved that pytables reference by just changing it to "2002-2019", which is still accurate.

I released v1.1.0, and the DOI is 10.5281/zenodo.3401549.

Thanks everyone!

fcontino commented 5 years ago

Congrats Kyle! Nice work!

On Fri, Sep 6, 2019 at 6:59 PM Kyle Niemeyer notifications@github.com wrote:

@katyhuff https://github.com/katyhuff ok, sorry for the spam—I resolved that pytables reference by just changing it to "2002-2019", which is still accurate.

I released v1.1.0, and the DOI is 10.5281/zenodo.3401549.

Thanks everyone!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/1543?email_source=notifications&email_token=AAG3J7YYHYBYVVZFB3QZNSLQIKD7HA5CNFSM4H456IV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6DN5FQ#issuecomment-528932502, or mute the thread https://github.com/notifications/unsubscribe-auth/AAG3J7ZUG74PHYQYHLLXTNLQIKD7HANCNFSM4H456IVQ .

--

(Call for papers special issue of Frontiers journal on alternative fuels https://www.frontiersin.org/research-topics/10590/fundamental-characterization-and-performance-of-alternative-fuels )

Francesco Contino

Department of Mechanical Engineering

Combustion and Robust optimization (BURN http://burn-research.be/)

Thermo and Fluid dynamics (FLOW https://flow.research.vub.be)

Brussels Faculty of Engineering (BRUFACE http://bruface.eu/)

Vrije Universiteit Brussel (VUB http://www.vub.ac.be/)

katyhuff commented 5 years ago

@whedon set v1.1.0 as version

whedon commented 5 years ago

OK. v1.1.0 is the version.

katyhuff commented 5 years ago

@whedon set 10.5281/zenodo.3401549 as archive

whedon commented 5 years ago

OK. 10.5281/zenodo.3401549 is the archive.

katyhuff commented 5 years ago

Congratulations @kyleniemeyer, and thanks again @jcsutherland and @fcontino for your reviews!

@openjournals/jose-eics I think this is ready for acceptance!

arfon commented 5 years ago

@whedon accept

whedon commented 5 years ago
Attempting dry run of processing paper acceptance...
whedon commented 5 years ago

Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/952

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

@whedon accept deposit=true