openjournals / joss-reviews

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

[REVIEW]: Osier: A Python package for multi-objective energy system optimization #6919

Open editorialbot opened 6 days ago

editorialbot commented 6 days ago

Submitting author: !--author-handle-->@samgdotson<!--end-author-handle-- (Samuel Dotson) Repository: https://github.com/arfc/osier Branch with paper.md (empty if default branch): joss Version: v0.3.0 Editor: !--editor-->@prashjha<!--end-editor-- Reviewers: @fredshone, @victoraalves Archive: Pending

Status

status

Status badge code:

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

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

@fredshone & @victoraalves, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @prashjha 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

Checklists

📝 Checklist for @fredshone

editorialbot commented 6 days ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 6 days ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.04 s (953.6 files/s, 197346.6 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          15            575            872           2155
Markdown                         9            113              0            420
Jupyter Notebook                 3              0           2332            316
TeX                              1             12              0            200
YAML                             3             12              8             84
DOS Batch                        1              8              1             26
make                             1              4              7              9
reStructuredText                 2             16             64              9
-------------------------------------------------------------------------------
SUM:                            35            740           3284           3219
-------------------------------------------------------------------------------

Commit count by author:

   286  Sam Dotson
     7  samgdotson
     2  Samuel Dotson
     1  yardasol
editorialbot commented 6 days ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1007/s10479-015-1791-y is OK
- 10.1109/ACCESS.2020.2990567 is OK
- 10.1088/1748-9326/ab875d is OK
- 10.1007/s12532-011-0026-8 is OK
- 10.1016/j.erss.2021.101908 is OK
- 10.1287/inte.6.4.102 is OK
- 10.1016/j.ejor.2018.01.036 is OK
- 10.1016/j.rser.2014.02.003 is OK
- 10.1016/j.apenergy.2020.114728 is OK
- 10.1016/j.erss.2022.102913 is OK
- 10.3390/en12163046 is OK

MISSING DOIs

- No DOI given, and none found for title: 2023 Annual Technology Baseline (ATB)
- No DOI given, and none found for title: Openmod - Open Energy Modelling Initiative

INVALID DOIs

- None
editorialbot commented 6 days ago

Paper file info:

📄 Wordcount for paper.md is 1154

✅ The paper includes a Statement of need section

editorialbot commented 6 days ago

License info:

✅ License found: BSD 3-Clause "New" or "Revised" License (Valid open source OSI approved license)

editorialbot commented 6 days ago

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

fredshone commented 4 days ago

Review checklist for @fredshone

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

fredshone commented 3 days ago

Really nice work well presented.

I require some changes detailed below with optional actions mixed in. A lot of these are based on compatability with Windows. Although not required I suggest both adding Windows to your CI and including env control in the docs. Mamba is very good. There are example projects here and here.


Installation and Installation Instructions:

On a Windows machine I hit two blockers; (i) python version (issue here), and (ii) solver installation documentation (issue here).

I strongly recommend adding a windows machine to the CI. Otherwise this is likely to reoccur.

I have also suggested that the default Windows solver be glpk. This is easy to install and will smooth CI. It is also more in keeping with JOSS (in my opinion). if you stick with a less open solver I think this needs to be explicitly mentioned in ther paper.

OPTIONAL, I also encourage use of mamba in the install instructions as per this issue.


Example usage: OPTIONAL - there is only a single example of multi-criteria and it is a little hidden at the end of a notebook. Please consider making this more obvious. At the moment multi-criteria appears as an after-thought rather than a core feature. OPTIONAL - please consider making the example notebooks more accessible in the project rather than just docs. See this issue.


Automated tests: Please add a code coverage report (eg pytest-cov).


State of the field and References: Please provide some more specific description and reference to similar tools. I think your focus on multi-criteria is very important, as you state - there are many other open energy system modelling tools. You would make the case better by more explicit comparison to similar projects that don't do multi-criteria. For example calliope is very similar in many ways but does not to multi-criteria without hacking the solver.