openjournals / joss-reviews

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

[REVIEW]: SICOPOLIS-AD v2: tangent linear and adjoint modeling framework for ice sheet modeling enabled by automatic differentiation tool Tapenade #4679

Closed editorialbot closed 1 year ago

editorialbot commented 2 years ago

Submitting author: !--author-handle-->@Shreyas911<!--end-author-handle-- (Shreyas Sunil Gaikwad) Repository: https://gitlab.awi.de/sicopolis/sicopolis Branch with paper.md (empty if default branch): ad Version: ad-v2 Editor: !--editor-->@crvernon<!--end-editor-- Reviewers: @svchb, @ifthompson Archive: 10.5281/zenodo.7648249

Status

status

Status badge code:

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

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

@svchb & @kris-rowe, 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 @crvernon 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 @svchb

📝 Checklist for @ifthompson

editorialbot commented 2 years 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 2 years ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.45 s (468.7 files/s, 315669.7 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
Fortran 90                       85          19201          14442          52559
C/C++ Header                     36           5350            203          23348
C                                23           1615           1088          13208
TeX                               6            342            104           2477
Fortran 77                        6            147            210           1992
Bourne Shell                     19            335            347           1028
Python                            6            311            434            868
XML                               1              1              0            779
reStructuredText                  9            520            785            455
Markdown                          5             88              0            207
Bourne Again Shell                5             36              8            152
Jupyter Notebook                  1              0            491            101
HTML                              2              3              0             50
DOS Batch                         2             11              1             35
YAML                              2              6              6             34
JSON                              1              0              0             26
make                              2              7              7             24
CSS                               2              2              6             20
--------------------------------------------------------------------------------
SUM:                            213          27975          18132          97363
--------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 2 years ago

Wordcount for paper.md is 2574

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

OK DOIs

- 10.5194/gmd-13-1845-2020 is OK
- 10.1088/2515-7620/ab6368 is OK
- 10.1007/978-3-642-03415-2 is OK
- 10.1175/1520-0442(1997)010<0901:AOAPTD>2.0.CO;2 is OK
- 10.3189/172756411797252068 is OK
- 10.3189/172756409789624256 is OK
- 10.1175/1520-0477(1997)078<2577:WIAAM>2.0.CO;2 is OK
- 10.1145/2450153.2450158 is OK
- 10.3189/2014JoG13J214 is OK
- 10.1080/10556789208805505 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 2 years ago

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

crvernon commented 2 years ago

👋 @Shreyas911 @svchb @kris-rowe - the review takes place in this issue.

❗ Also, please don't forget to add a link to this review issue in any issues or pull requests you may generate in the https://gitlab.awi.de/sicopolis/sicopolis repository. This will help everyone have a single point of reference.

svchb commented 2 years ago

Review checklist for @svchb

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

svchb commented 2 years ago

@Shreyas911 What is the timeline to merge this branch into the main branch? Because having the paper refer to a version of the code in a development branch might be a bit premature?

Shreyas911 commented 2 years ago

@svchb, It will be merged in a few months, per my discussions with Dr. Ralf Greve, who maintains the base SICOPOLIS code. The code on the ad branch is fully merged with develop already. Before the next release, we will merge the ad branch with the master.

svchb commented 2 years ago

@crvernon Is this fine?

Shreyas911 commented 2 years ago

@crvernon @svchb, If absolutely necessary, we can speed it up but I think this is just a logistical issue, that will get sorted in a few months.

crvernon commented 2 years ago

@Shreyas911 by in a few months, do you mean holding publication until then as well?

Shreyas911 commented 2 years ago

@crvernon, let me elaborate, apologies for the confusion.

We intend to merge the ad branch into the master once the review of the paper is complete and all necessary changes have been made to the ad branch. We thought it was fine to keep everything on the ad branch and there was no rush to merge it, so we had set a timeline of a few months to do the merge, which will be fairly painless.

If the rules of JOSS require it, we can make the merge immediately, but I would have to check with Dr. Ralf Greve (the maintainer of the base SICOPOLIS code) if that is fine.

Best, Shreyas

svchb commented 2 years ago

@Shreyas911 @crvernon I would suggest holding the publication till it is merged with the main branch, but starting the review process now since the documentation needs a bit of work.

Shreyas911 commented 2 years ago

@svchb, yes, I will speak to Ralf and get started on the merging. We can continue the review since we are likely to be done merging before the review process concludes.

svchb commented 2 years ago

@Shreyas911 The paper is too long. The guideline is about 1000 words. You mention a lot of stuff that is also is just repeated from your documentation. Just reference your documentation. Following best development practices, i.e. having a documentation, CI etc. is not a major feature.

I will follow up on documentation improvement suggestions in an issue in your gitlab.

crvernon commented 2 years ago

Working via a development branch is OK while conducting the review. This is often done to not disturb the stable main branch representing a current version used by the public. However, changes made during the review that are done to meet the requirements and feedback from the review should be made available on your main branch before publication is finalized.

svchb commented 2 years ago

@Shreyas911 I am not able to login to the awi gitlab even though I should be able to. (I work for an AWI associated research center) So I am not able to create an issue in your gitlab. You might need to change the settings to allow public issue creation.

Shreyas911 commented 2 years ago

@svchb, I will email Ralf, he has the control.

Shreyas911 commented 2 years ago

Hi @svchb, I need to add you as a Guest member to the project. Can you share your AWI-affiliated email address or username?

svchb commented 2 years ago

@Shreyas911 Thanks got the invite. Currently waiting on tech support fixing the Identity Provider config between Hereon-HIFIS-AWI.

svchb commented 2 years ago

@Shreyas911 Todo:

crvernon commented 2 years ago

:wave: - @Shreyas911 @svchb @ @kris-rowe Will you please provide an update to the status of this review in this thread?

svchb commented 2 years ago

@crvernon Shreyas911 started working on my comments a week ago and is finished with like 80-90% of my first round of comments.

Shreyas911 commented 2 years ago

@crvernon We hope to be done addressing almost all issues over this weekend. I think some Gitlab issues are not exactly under our purview, so I will address them in the comments in Gitlab itself.

svchb commented 2 years ago

@Shreyas911 This is not true. Papers published in JOSS don't address a single feature of a program but the whole program! So the forward version of your program is also under review. Actually, everything in your repository is attached as a file to the JOSS publication and is part of the publication.

Shreyas911 commented 2 years ago

Hello @svchb @crvernon,

It is not common to have features like documentation, and CI in softwares that are used in our field. We therefore would prefer to mention them in the paper explicitly. We have reduced the size of the paper from 2500 words to about 1500 words. We have also addressed the issues raised on Gitlab.

Shreyas911 commented 1 year ago

Hello @svchb @crvernon,

Just checking in to see what we are supposed to do next, we have done our best to address the issues raised before.

Thanks, Shreyas

svchb commented 1 year ago

@Shreyas911 I was on vacation. I will continue my review later today.

svchb commented 1 year ago

@editorialbot generate pdf

editorialbot commented 1 year ago

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

svchb commented 1 year ago

@Shreyas911 Installation Documentation:

svchb commented 1 year ago

@Shreyas911 Software paper: -"Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?". Your summary of SICOPOLIS makes it look like an AD software package. You need to focus more on the features of SICOPOLIS and what can be solved with SICOPOLIS -"State of the field: Do the authors describe how this software compares to other commonly-used packages?" This section is missing.

crvernon commented 1 year ago

@Shreyas911 do you have any outstanding questions for me concerning the above? Happy to help.

crvernon commented 1 year ago

@kris-rowe please reply on your status as a reviewer in this thread and let me know if you are still able to complete it within the next week. Thanks!

Shreyas911 commented 1 year ago

Thanks, @crvernon, I think I am good for now. I hope we can publish after this round of reviews. I apologize for the longer time in addressing issues since I have to consult with my co-authors who are all in different time zones and schedules.

svchb commented 1 year ago

@Shreyas911 There will be at least another round of comments when all of the sections of your paper are done and I try your examples.

kris-rowe commented 1 year ago

@crvernon I will aim to finish my review this week

Shreyas911 commented 1 year ago

Hi @crvernon @svchb ,

@Shreyas911 Software paper: -"Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?". Your summary of SICOPOLIS makes it look like an AD software package. You need to focus more on the features of SICOPOLIS and what can be solved with SICOPOLIS -"State of the field: Do the authors describe how this software compares to other commonly-used packages?" This section is missing.

These have been modified/added.

@Shreyas911 Installation Documentation:

  • You should probably rename the directory something like "tapenade_supported" having a version in the name just leads to unnecessary work when changing the version. NOTE: Alternatively, a Tapenade version that works correctly with SICOPOLIS-AD v2 is always available in the test_ad/tapenade_3.16 directory.
  • move the note paragraph up to below the Linux installation section
  • your documentation mentions your code being tested for gfortran-5.4 which is 7 years old please test with a currently available version like any gfortran 9 series release
  • the script get_input_files.sh doesn't work with spaces in the working directory path
  • the section "2.3.2.2. Building SICOPOLIS (latest v5.3)" should probably be renamed to setting up SICOPOLIS since nothing is build here
  • so after doing the stuff in step2.3.2.3. Initial configuration it is not clear for what purpose you are supposed to move the template configuration files to runs/headers and what you are downloading with the "get_input_files.sh" script. Also what is next?
  • explain here how applications are configured in SICOPOLIS e.g. that applications are build using a configuration header file, that the template headers copied over are examples...

This is completed.

  • your documentation mentions your code being tested for gfortran-5.4 which is 7 years old please test with a currently available version like any gfortran 9 series release.

gfortran-9 is not available easily, with any standard packages, I have struggled to get it installed on our machines even with IT support. Even though it is installed, I cannot get a compatible version of NetCDF-Fortran installed.

Instead, I have tested inside a docker with gfortran-8.5.0. So that is the latest tested version for now.

  • so after doing the stuff in step2.3.2.3. Initial configuration it is not clear for what purpose you are supposed to move the template configuration files to runs/headers and what you are downloading with the "get_input_files.sh" script. Also what is next?

I have now mentioned in more places that the script should be run from the root directory, it was mentioned before but perhaps not visible. That should avoid this issue.

Thanks, Shreyas

svchb commented 1 year ago

@Shreyas911

gfortran-9 is not available easily, with any standard packages, I have struggled to get it installed on our machines even with IT > support. Even though it is installed, I cannot get a compatible version of NetCDF-Fortran installed.

Yes, NetCDF packages are a huge bummer on HPC clusters. You usually have to compile them from source. Anyway gfortran-8 is at least still available on the previous ubuntu LTS release. (I pin the library/software versions for software that I work on to Ubuntu LTS releases).

Will check your changes now.

svchb commented 1 year ago

@editorialbot generate pdf

editorialbot commented 1 year ago

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

svchb commented 1 year ago

@Shreyas911

Shreyas911 commented 1 year ago

Hi @svchb,

  • the ./get_input_files.sh script still fails when run from a path with a space in one of the folder names

Apologies, I misunderstood what you meant during our last iteration. This has been rectified, can you try this script and let me know if it works for you? Sorry, it is in .txt format since GitHub wouldn't let me attach it in .sh format, please rename it before using it. get_input_files.txt

  • add the code to run the examples and tutorials to an example directory and setup so that these can be easily run (adjust documentation accordingly)

We really prefer not doing this since the first two tutorials are about teaching new users about AD, and not directly SICOPOLIS related (although they are still definitely loosely related). The last tutorial, while it can be put into an Examples directory, there's only the inputs.json file to really copy to the right place to make things work, making an Examples directory a bit redundant.

Thanks, Shreyas

crvernon commented 1 year ago

@kris-rowe - I don't see your review checklist present in the thread. Can you plan on doing the review in the coming week? Please let me know. Thanks!

crvernon commented 1 year ago

@svchb it looks like we are getting close to wrapping up the review on your side. Are there any other outstanding issues?

svchb commented 1 year ago

@crvernon @Shreyas911 I am done with my review. I am fine with the publication.

crvernon commented 1 year ago

:wave: @kris-rowe - please let me know if you are able to complete this review soon. I will need to select an additional reviewer to keep things moving if I don't hear back from you in the next few days.

crvernon commented 1 year ago

@Shreyas911 I am in the process of finding you an additional reviewer. I will get someone on this ASAP. Thanks!

Shreyas911 commented 1 year ago

@crvernon, Happy New Year! I was wondering if there was any progress since we last corresponded.

Best, Shreyas