openjournals / joss-reviews

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

[REVIEW]: Thermosteam: BioSTEAM's Premier Thermodynamic Engine #2814

Closed whedon closed 3 years ago

whedon commented 4 years ago

Submitting author: @yoelcortes (Yoel Cortes-Pena) Repository: https://github.com/BioSTEAMDevelopmentGroup/thermosteam Version: 0.20.26 Editor: @kyleniemeyer Reviewer: @decaluwe, @fwitte Archive: 10.5281/zenodo.4294315

:warning: JOSS reduced service mode :warning:

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/e04f122cd968362dec0456d2a9161952"><img src="https://joss.theoj.org/papers/e04f122cd968362dec0456d2a9161952/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/e04f122cd968362dec0456d2a9161952/status.svg)](https://joss.theoj.org/papers/e04f122cd968362dec0456d2a9161952)

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

@decaluwe & @fwitte, 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 @kyleniemeyer know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Review checklist for @decaluwe

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Review checklist for @fwitte

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. @decaluwe, @fwitte it looks like you're currently assigned to review this paper :tada:.

:warning: JOSS reduced service mode :warning:

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.

: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
kyleniemeyer commented 4 years ago

👋 @yoelcortes @decaluwe @fwitte This is where the review actually takes place. Thanks!

whedon commented 4 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

whedon commented 4 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1145/2833157.2833162 is OK
- 10.1021/acssuschemeng.9b07040 is OK
- 10.3390/pr8080904 is OK

MISSING DOIs

- None

INVALID DOIs

- None
decaluwe commented 4 years ago

Hi @kyleniemeyer - I made it all the way to step 2 🤓

The link https://github.com/openjournals/joss-reviews/invitations takes me to the following message:

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.

kyleniemeyer commented 4 years ago

@whedon re-invite @decaluwe as reviewer

whedon commented 4 years ago

OK, the reviewer has been re-invited.

@decaluwe please accept the invite by clicking this link: https://github.com/openjournals/joss-reviews/invitations

kyleniemeyer commented 4 years ago

@decaluwe does the link work now?

decaluwe commented 4 years ago

Yep—already started on the review. Thanks!

On Nov 2, 2020, at 1:53 PM, Kyle Niemeyer notifications@github.com wrote:

@decaluwe https://github.com/decaluwe does the link work now?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/2814#issuecomment-720718209, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEC7PF3W6TBJGH5BAFEBFTSN4L4FANCNFSM4THX5JMQ.

whedon commented 4 years ago

:wave: @decaluwe, please update us on how your review is going.

whedon commented 4 years ago

:wave: @fwitte, please update us on how your review is going.

decaluwe commented 4 years ago

I am currently having trouble installing the software. Have tried multiple pathways using pip, to no avail. Plan to try the GitHub source code, today...

fwitte commented 4 years ago

I started into it. Will most likely complete the review this weekend or the following week. I am posting all software related issues at https://github.com/BioSTEAMDevelopmentGroup/thermosteam/ and will write a complete feedback here linking the respective issues.

yoelcortes commented 4 years ago

I am currently having trouble installing the software. Have tried multiple pathways using pip, to no avail. Plan to try the GitHub source code, today...

@decaluwe Sorry to hear that! It might be a bug with the Python's new pip installer. But in the case it is not, I uploaded the latest version to PyPI (pip install thermosteam==0.21.7). Hope this fixes the issue.

Thanks!

decaluwe commented 4 years ago

Thanks - will give it a try!

decaluwe commented 4 years ago

Works now. 👏

decaluwe commented 4 years ago

2 quick questions:

Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.

Thanks.

yoelcortes commented 4 years ago

Hi @decaluwe, thanks for asking! If you have the github repository downloaded, go to your local thermosteam repository and run "pytest" in your cmd or terminal. Here are some instructions: https://biosteam.readthedocs.io/en/latest/CONTRIBUTING.html. Unfortunately I haven't added a note of this in Thermosteam's documentation yet.

I'd also like to note that continuous integration is built in on github, so that the package is installed in a virtual environment (on python 3.6, 3.7 and 3.8) and all the documentation examples and the test files are run with every push to the repository (the coverage is checked and updated as well). If you click on the red "X" mark, you can go to several links for details regarding tests of the last push:

image

As for listing dependencies, would the "requirements.txt" or "setup.py" file count? Note that if you downloaded the repository, you can use "pip install ." to let pip install thermosteam and its dependencies for you as well.

fwitte commented 4 years ago

Hi @decaluwe and @kyleniemeyer, according to https://joss.readthedocs.io/en/latest/review_criteria.html#installation-instructions I understood a list is not necessary with automatic installation of dependencies. Therefore I checked the box. Let me know if I did wrong.

@yoelcortes, maybe consider adding the 'extras_require' keyword to your setup.py, so developers will automatically have develop dependencies installed and do not need to install pytest, sphinx, ..., manually for testing/debugging on their respective virtual environment. I do not expect this to be implemented within the review, so feel free to do as you like :). With

    extras_require={'dev': ['pytest', 'sphinx', 'sphinx_rtd_theme', ]}

in setup.py

pip install -e .[dev]

will install the extras.

Best regards Francesco

yoelcortes commented 4 years ago

Hi @fwitte, that is really helpful. I'll add it in. Thanks for sharing!

kyleniemeyer commented 4 years ago

From my perspective, the dependency requirement is satisfied for Python packages through including appropriately in setup.pu and/or requirements.txt (for example), as @fwitte mentioned

decaluwe commented 4 years ago

Okay, thanks @kyleniemeyer . Since it was listed under the documentation section, I wasn't sure whether it needed to be explicitly listed, or if having it in requirements.txt was sufficient (since it is a PyPI-managed installation, it certainly seems sufficient to me).

decaluwe commented 3 years ago

FYI:

  1. @yoelcortes I get two test failures: ==================================== FAILURES================================ _ test_wheatstraw __

    @pytest.mark.slow def test_wheatstraw():

      from biorefineries import wheatstraw as ws

    E ImportError: cannot import name 'wheatstraw' from 'biorefineries' (/Users/decaluwe/.local/lib/python3.7/site-packages/biorefineries/init.py)

../../../.local/lib/python3.7/site-packages/biorefineries/tests/testbiorefineries.py:74: ImportError ____ test_annimal_bedding ____

@pytest.mark.slow
def test_annimal_bedding():
  from biorefineries import animal_bedding as ab

E ImportError: cannot import name 'animal_bedding' from 'biorefineries' (/Users/decaluwe/.local/lib/python3.7/site-packages/biorefineries/init.py)

../../../.local/lib/python3.7/site-packages/biorefineries/tests/test_biorefineries.py:90: ImportError ============================ 2 failed, 153 passed in 12.11s =========================

  1. @kyleniemeyer, is the automated testing check box require that the tests pass, or simply that the test suite exists?
kyleniemeyer commented 3 years ago

@decaluwe if you find that the tests are not passing on your system, then that would be something @yoelcortes should address, so you can leave it unchecked for now until the issue is addressed satisfactorily

decaluwe commented 3 years ago

@yoelcortes Notes on the software paper:

  1. Depending on one's definition of "a diverse, non-specialist audience," the intro could probably be written a little bit broader. For example, phrases like "unit operations" and even "chemical process" might be opaque for somebody in materials science or astronomy. I'd suggest something like: (i) end the first sentence right before the parenthetical, (ii) describe some common features of a "unit operation in a chemical process" (e.g. something along the lines of "fluid flows enter a reactor wherein chemical reactions occur, consuming or producing chemical species and thermal energy...") and then (iii) give some examples/categories of the specific types of properties needed for evaluating the design of a chemical process. It might add a sentence or two, but should be clearer for a non-expert. The distillation column example provides a good specific example, but something helping bridge the very general first sentence and this more specific example would be helpful.

  2. State of the field: There is no documenting of or comparison to current capabilities in the field. Would software like EES, CoolProp, RefProp, Cantera, or Chemkin be valid points of comparison? These packages might have similar functionality, but I do not know if they are "commonly used" in the field (which is what the review guidelines specifically ask), so I'd rely on your expertise, obviously. What approaches are commonly used in your field?

Not related to the paper, but a general compliment: the API documentation is very well done, and is well populated with examples, which I appreciated. Nice work!

yoelcortes commented 3 years ago

@decaluwe, I made some minor changes in the repository that prevents the pytest failures (thanks for reporting). Also, your comments on the software paper are good points. I'll wait until Francesco can submit his comments too before I submit my edits.

Glad you liked the documentation. I was quite inspired by (and grateful of) other open source projects with excellent documentation. Thanks!

fwitte commented 3 years ago

Hi @yoelcortes, here are my general comments to the paper and your software (documentation).

Paper

Software (Documentation)

There is not much to say here, very well documented with an extensive tutorial on how to use the package. I like it very much!

Issues

Checked, if resolved.

kyleniemeyer commented 3 years ago

Thanks @fwitte and @decaluwe!

@yoelcortes I think you are already working to address these issues, so please just report back here when you are done. Thanks!

yoelcortes commented 3 years ago

Hi @decaluwe and @fwitte,

I have taken care of the issues on Github and made edits to the manuscript. I'd like to address each of your comments in detail here and note the changes I made:

Professor DeCaluwe:

  1. Depending on one's definition of "a diverse, non-specialist audience," the intro could probably be written a little bit broader. For example, phrases like "unit operations" and even "chemical process" might be opaque for somebody in materials science or astronomy. I'd suggest something like: (i) end the first sentence right before the parenthetical, (ii) describe some common features of a "unit operation in a chemical process" (e.g. something along the lines of "fluid flows enter a reactor wherein chemical reactions occur, consuming or producing chemical species and thermal energy...") and then (iii) give some examples/categories of the specific types of properties needed for evaluating the design of a chemical process. It might add a sentence or two, but should be clearer for a non-expert. The distillation column example provides a good specific example, but something helping bridge the very general first sentence and this more specific example would be helpful:

    • This was a very helpful point. I changed the first paragraph to focus on introducing thermosteam's central features, while the 2nd paragraph focuses on defining the overarching goal and giving examples of its usage to a broader audience. The first sentences of the second paragraph now reads:
      • "The overarching goal of Thermosteam is to enable the rigorous design and simulation of chemical production processes, whereby low value feedstocks are converted to high value products via chemical reactions and thermodynamic-driven separations. For example, modeling the separation of volatile chemicals from heavier ones in a distillation column (e.g. distilling ethanol from water), requires vapor-liquid phase equilibrium calculations to predict how well volatile chemicals selectively partition into the vapor phase. Additionally, fluid viscosities, densities, and surface tensions are required to appropriately design a distillation column that can achieve a specified recovery of chemicals (Green, 2018). The Biorefinery Simulation and Techno-Economic Analysis Modules (BioSTEAM) — capable of modeling distillation columns, reactors, heat exchangers, and other unit operations — has adopted Thermosteam as its premier thermodynamic engine (Cortés-Peña et al., 2020)."
  2. State of the field: There is no documenting of or comparison to current capabilities in the field. Would software like EES, CoolProp, RefProp, Cantera, or Chemkin be valid points of comparison? These packages might have similar functionality, but I do not know if they are "commonly used" in the field (which is what the review guidelines specifically ask), so I'd rely on your expertise, obviously. What approaches are commonly used in your field?

    • I added a paragraph that compares CoolProp and Cantera to Thermosteam. I limited the scope to only open-source software. Usually Aspen and other process simulators are used to solve mass and energy balances and phase equilibrium in Chemical engineering while REFPROP may be used when very accurate estimations are needed for chemical properties. However, it's not Thermosteam's goal to be a process simulator or to provide state-of-the-art estimations of thermophysical properties. Thus, comparing thermosteam to just CoolProp and Cantera may be more beneficial. The new paragraph reads as follows:
    • "Various other open-source libraries in Python have comparable capabilities to Thermosteam: most notably Cantera and CoolProp. Cantera is a collection of software tools capable of modeling kinetic reactions, thermodynamic equilibrium, and chemical mixture properties [@Cantera]. Cantera's built-in chemicals are limited to 8, but new chemicals can be defined by users with flexibility on the amount of detail. Thermosteam has yet to implement any features on kinetic reaction networks, but exposes a larger set of roughly 20,000 built-in chemicals from the chemicals library. CoolProp offers fast and accurate thermodynamic and transport properties for 122 chemical components, and can estimate thermodynamic phase equilibrium and mixture properties [@CoolProp]. CoolProp also offers an interface to the NIST REFPROP software, which is considered the gold standard in thermophysical properties [@REFPROP]. It is within Thermosteam's roadmap to use CoolProp as part of it's default, built-in models. While CoolProp focuses on thermophysical chemical properties, Thermosteam also includes mass and energy balances and stoichiometric reactions as one of its central features."

Professor Witte:

  1. The paper highlights the most important features of the software, but (as already written in the docs issue) I do miss the capability, that generic chemical reactions can be computed with your software. I think this is a very important feature of your software.
    • Thanks! I highlighted this feature in the following sentences:
    • [first sentence of the 1st paragraph] "Thermosteam is a standalone thermodynamic engine capable of solving mass and energy balances, estimating mixture properties, solving thermodynamic phase equilibria, and modeling stoichiometric reactions."
    • [last sentence of the 5th paragraph] "While CoolProp focuses on thermophysical chemical properties, Thermosteam also includes mass and energy balances and stoichiometric reactions as one of its central features."
  2. A statement regarding the main advantages compared to software in the field (like @decaluwe pointed out) would be very good to emphasize the value of thermosteam, too.
    • Thanks for noting this. Please see my reply to Professor DeCaluwe 2nd comment.
  3. I am not a legal expert, is it necessary to include the disclaimer twice. Can it not be handled in a single sentence? Maybe something like "Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the author and necessarily reflect the views of the funders and sponsors."?
    • I have contacted my institution about this and they prefer to keep this exact wording, unfortunately.
  4. Are these [@BioSTEAM][@Sanchis] meant to be two individual citations? You can connect them with [@BioSTEAM; @Sanchis]
    • Fixed!

Please let me know if you have any further questions or comments. This review has been very helpful and I appreciate the thorough feedback.

Thank you, Have a nice day!

Not sure if this it how it works, but here is my attempt to generate the pdf for you: @whedon generate pdf

fwitte commented 3 years ago

@whedon generate pdf

I think, it must be the first line of the comment @yoelcortes. Anyway, thank you very much for promoting me to Professor 🎉 :P.

I will have a look on the new/improved generic reaction implementation and the paper tomorrow.

whedon commented 3 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

fwitte commented 3 years ago

Hi Yoel, thank you very much for taking your time and carefully addressing all of my comments and issues. Regarding the paper, I really think the second last paragraph does a very good job of highlighting thermosteam's advantages and differentiation. For me, there is only one more comment to be addressed (regarding the heat of formation of gasoues water in BioSTEAMDevelopmentGroup/thermosteam#29). Best regards, have a nice week! Francesco

fwitte commented 3 years ago

All my comments/issues have been addressed, thank you @yoelcortes. @kyleniemeyer, if there is anything you'll need me to do, just let me know :). Best regards Francesco

decaluwe commented 3 years ago

Many thanks, @yoelcortes for your thorough attention, here.

  1. Paper: this is really well one. One very minor edit: in the 2nd-to-last paragraph, "it's default, built-in models" should be "its default..." (no apostrophe).

  2. Unfortunately I now get 5 tests failing:

__ test_sugarcane __

def test_sugarcane():
    from biorefineries import sugarcane as sc
    sc.load()
    units = UnitGroup('Biorefinery', sc.sugarcane_tea.units)
  assert np.allclose(sc.sugarcane_tea.IRR, 0.10276414072162979, rtol=1e-2)

E AssertionError: assert False E + where False = <function allclose at 0x7f7ffd234290>(0.106440582162112, 0.10276414072162979, rtol=0.01) E + where <function allclose at 0x7f7ffd234290> = np.allclose E + and 0.106440582162112 = .IRR E + where = <module 'biorefineries.sugarcane' from '/Users/decaluwe/.local/lib/python3.7/site-packages/biorefineries/sugarcane/init.py'>.sugarcane_tea

../../../.local/lib/python3.7/site-packages/biorefineries/tests/test_biorefineries.py:18: AssertionError __ test_lipidcane __

def test_lipidcane():
    from biorefineries import lipidcane as lc
    lc.load()
    units = UnitGroup('Biorefinery', lc.lipidcane_tea.units)
    assert np.allclose(lc.lipidcane_tea.IRR, 0.17804673529883677, rtol=1e-2)
    assert np.allclose(lc.lipidcane_tea.sales, 102369101.03579773, rtol=1e-2)
    assert np.allclose(lc.lipidcane_tea.material_cost, 61761912.9045123, rtol=1e-2)
  assert np.allclose(lc.lipidcane_tea.installed_equipment_cost, 222127644.25250342, rtol=1e-2)

E AssertionError: assert False E + where False = <function allclose at 0x7f7ffd234290>(224875041.54906386, 222127644.25250342, rtol=0.01) E + where <function allclose at 0x7f7ffd234290> = np.allclose E + and 224875041.54906386 = .installed_equipment_cost E + where = <module 'biorefineries.lipidcane' from '/Users/decaluwe/.local/lib/python3.7/site-packages/biorefineries/lipidcane/init.py'>.lipidcane_tea

../../../.local/lib/python3.7/site-packages/biorefineries/tests/testbiorefineries.py:35: AssertionError ____ test_cornstover __

def test_cornstover():
    from biorefineries import cornstover as cs
    cs.load()
    MESP = cs.cornstover_tea.solve_price(cs.ethanol)
    units = UnitGroup('Biorefinery', cs.cornstover_tea.units)
  assert np.allclose(MESP, 0.7383610895500932, rtol=1e-2)

E assert False E + where False = <function allclose at 0x7f7ffd234290>(0.7308776819336283, 0.7383610895500932, rtol=0.01) E + where <function allclose at 0x7f7ffd234290> = np.allclose

../../../.local/lib/python3.7/site-packages/biorefineries/tests/test_biorefineries.py:47: AssertionError ____ testLAOs ____

def g():
  try: f()

tests/test_biorefineries.py:15:


def test_LAOs():
    from biorefineries import LAOs as laos
    laos.load()
    MPSP = laos.get_LAOs_MPSP()
    units = UnitGroup('Biorefinery', laos.LAOs_tea.units)
  assert np.allclose(MPSP, 1226.0016718824597, rtol=1e-2)

E assert False E + where False = <function allclose at 0x7f7ffd234290>(1206.1272124746877, 1226.0016718824597, rtol=0.01) E + where <function allclose at 0x7f7ffd234290> = np.allclose

../../../.local/lib/python3.7/site-packages/biorefineries/tests/test_biorefineries.py:62: AssertionError

_____ [doctest] thermosteam.separations.MultiStageLLE __ 859 >>> solvent = tmo.Stream('solvent', Octanol=500) 860 >>> stages = tmo.separations.MultiStageLLE(N_stages, feed, solvent) 861 >>> stages.simulate_multi_stage_lle_without_side_draws() 862 >>> stages.raffinate.show() 863 Stream: 864 phase: 'l', T: 298.15 K, P: 101325 Pa 865 flow (kmol/hr): Water 413 866 Methanol 8.4 867 Octanol 0.103 868 >>> stages.extract.show() Differences (unified diff with -expected +actual): @@ -1,5 +1,5 @@ Stream: phase: 'L', T: 298.15 K, P: 101325 Pa

/Users/decaluwe/OneDrive - Colorado School of Mines/github/thermosteam/thermosteam/separations.py:868: DocTestFailure

If it would be helpful for you, happy to add this as an issue at the repo.

yoelcortes commented 3 years ago

@whedon generate pdf

Professor DeCaluwe,

Thanks for testing! The tests concerning biorefineries did not pass because thermosteam requires a new version of the biorefineries library. Regarding the multi-stage liquid-liquid extraction test, I fixed it by reducing the number of significant digits for the test. This is necessary because Python itself is compiled by a compiler. Some math calculations (exp, sin, log, power, etc...) are not bit-for-bit exact between different compilers (and this is not a requirement for them unfortunately), so the end results will always differ.

To get passing tests, please pull my changes on github and reinstall thermosteam (this will update the biorefineries package which is used to run some tests).

Regarding the paper, good catch. I removed "default," from the sentence. Now it reads "It is within Thermosteam's roadmap to use CoolProp as part of it's built-in models".

Thanks, Have a nice day!

whedon commented 3 years ago

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

Can't find any papers to compile :-(

decaluwe commented 3 years ago

Many thanks, @yoelcortes -- all tests now pass.

All of my issues have been resolved - looks great!

@kyleniemeyer LMK if anything else is needed.

Thanks all, for involving me. it was enjoyable!

Best, Steven

kyleniemeyer commented 3 years ago

@yoelcortes one quick suggestion: for tests involving floating-point numbers, you might consider using something like NumPy's assert_allclose, which allows you to test that floating-point values are nearly equal based on a relative and absolute tolerance.

fwitte commented 3 years ago

"It is within Thermosteam's roadmap to use CoolProp as part of it's built-in models"

Shouldn't it be its and not it's (as it is)?

yoelcortes commented 3 years ago

@kyleniemeyer, thanks for the suggestion! assert_allclose is already used in many tests. For the documentation examples (using doctests), I simply display a lower amount of significant digits until tests can pass across different CI platforms.

@fwitte, good catch. Just after replying, I realized the silly mistake and fixed it up.

Thank you everyone for the great effort in the review process! It has really helped make the software more robust and the paper a better read.

kyleniemeyer commented 3 years ago

@whedon generate pdf

whedon commented 3 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

kyleniemeyer commented 3 years ago

Hi @yoelcortes, I just have few edits needed for the paper:

@article{coolprop,
    author = {Bell, Ian H. and Wronski, Jorrit and Quoilin, Sylvain and Lemort, Vincent},
    title = {Pure and Pseudo-pure Fluid Thermophysical Property Evaluation and
             the Open-Source Thermophysical Property Library CoolProp},
    journal = {Industrial \& Engineering Chemistry Research},
    volume = {53},
    number = {6},
    pages = {2498--2508},
    year = {2014},
    doi = {10.1021/ie4033999},
    }
yoelcortes commented 3 years ago

Hi @kyleniemeyer,

Thanks for the coolprop reference. I made the requested corrections and added the statement of need along with another section called "roadmap". I mainly shuffled sentences around, but I also added/removed a few here and there.

Please let me know if you have any more comments, Thanks!

kyleniemeyer commented 3 years ago

@whedon generate pdf

whedon commented 3 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

kyleniemeyer commented 3 years ago

@yoelcortes looks great! The last step is for you to archive your repository on Zenodo, and provide the DOI here. (Make sure that the title and author metadata on the archive matches the paper.)

yoelcortes commented 3 years ago

Hi @kyleniemeyer,

Perfect! Here is the DOI: https://doi.org/10.5281/zenodo.4294315

Thanks,

kyleniemeyer commented 3 years ago

@yoelcortes thanks- though could you edit the metadata so that your full name is listed as the author? There's no need for a new archive, you can edit the metadata of that one.

kyleniemeyer commented 3 years ago

@whedon set 10.5281/zenodo.4294315 as archive