inrae / RCaNmodel

repository for RCaN and RCaNconstructor
4 stars 1 forks source link

JOSS Review #2

Closed amoeba closed 1 year ago

amoeba commented 1 year ago

Hello @elfunesto, I've had a chance to review this work for https://github.com/openjournals/joss-reviews/issues/4955 and would like to request some changes.

I was able to check off everything except the following. Please address them:

As I reviewed, I found other places to provide my feedback which aren't captured by the JOSS Review Criteria. You can consider these suggestions:

elfunesto commented 1 year ago

Dear @amoeba , Thank you for your feedback. I am trying to revise the package following your recommendations. Small question regarding the license field in the description file. I have already such a field (line 11) in RCaNmodel/DESCRIPTION, isn'it enought?

elfunesto commented 1 year ago

I have used filter repo to remove unused filed, tidy the commit history, and I have used lfs migrate to move binary files to lfs

elfunesto commented 1 year ago

@amoeba Two additional questions:

amoeba commented 1 year ago

I have already such a field (line 11) in RCaNmodel/DESCRIPTION, isn'it enought?

Yes, I must have missed it. This looks good.

I have used filter repo to remove unused filed, tidy the commit history, and I have used lfs migrate to move binary files to lfs

Thanks. It's a bit better.

the test successfully passes here. It is very weird since it is a very simple test using lpsolve facility. Can you tell please me the output of checkPolytopeStatus(list(A = diag(4)[-4, ], b = rep(1, 3))) ?

I get:

> checkPolytopeStatus(list(A = diag(4)[-4, ], b = rep(1, 3)))
[1] "polytope ok"

regarding the vignette, we have added an additional Rmarkdown alongside the paper which is I think of better quality than the former. Would it be ok if that Rmardown becomes the new vignette? It is located in paper/barents_SM_RMD.Rmd

Maybe this one would be good as a new vignette instead of replacing the current main vignette since it's fairly long.

elfunesto commented 1 year ago

Thank you for your feedback. I will check with the coauthors for the vignette. Regarding the test failure, this is weird. In order to try to reproduce the bug, can I ask on which platform you are working and the version of your package lpsolveAPI? Really sorry to bother you with this...

amoeba commented 1 year ago

I'm on macOS 13.1, arm64 arch. You might consider adding https://github.com/r-lib/actions/blob/v2/examples/check-standard.yaml to your GitHub Actions workflows so check+test run on different platforms and versions.

elfunesto commented 1 year ago

Thanks a lot. I set up the github action

elfunesto commented 1 year ago

Hi @amoeba , Funny discovery: the test was working in most machines, including mac machines from r-hub. One of the co-author as the same machine as you so we were to try... and found what is likely to be a R bug on your architecture! In my code, I have a test with 1e30 which corresponds to infinite value in lpsolve. But looks at the difference between 1.0e30 and 1e30! it is not an epsilon and the problem does not happen with 1e29. Surprising! I implement a workaround in the package.

> any(x0 == 1.0e30)
[1] FALSE

> x0
[1] 1e+00 1e+00 1e+00 1e+30

> any(x0 >= 1.0e30)
[1] TRUE

> 1e30==1.0e30
[1] FALSE

> 1e30-1.0e30
[1] 1.407375e+14

> 1e31-1.0e31
[1] 0

> 1e29*10-1.0e30
[1] 0
amoeba commented 1 year ago

Very interesting. I would have though it was an epsilon issue like you mentioned but the difference is very large. Even code like this (on arm64) is strange to me:

> format(1e22, scientific=FALSE)
[1] "10000000000000000000000"
> format(1e23, scientific=FALSE)
[1] " 99999999999999991611392"

It looks like you've gotten all of my checklist items checked off. I'll make another review pass before this Monday and update my review status.

elfunesto commented 1 year ago

Weird, sounds like an R bug under this architecture? Regarding the review, you may have trouble tu pull some files till wednesday: due to the modifications I made to reduce the size of the repo with the use of lfs file, and the numerous github actions run at each push, I reach the lfs bandwith monthly quota (I did not even know about the existence of such a limit)... This should not happen again in the future but for this month, I either have to pay or to wait next week...

amoeba commented 1 year ago

Thanks for working with me on this @elfunesto, I'm going to close this issue since everything appears to have been done.