Closed whedon closed 3 years ago
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @afeinstein20, @mrtommyb 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:
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
PDF failed to compile for issue #2845 with the following error:
Can't find any papers to compile :-(
@whedon generate pdf from branch josspaper
Attempting PDF compilation from custom branch josspaper. Reticulating splines etc...
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
Hi @ekaterinailin I'm starting my review and working my way down the checklist. I'm at the item on Contribution and authorship. I have a question here. I notice that the software Appaloosa is described as this software’s predecessor and it looks like some of the code in this package is lifted from Appaloosa. I was wondering if you could explain a little about your authorship choices for this paper given the heritage of some of the code included.
Hi @mrtommyb ! First of all, thank you for volunteering as a reviewer.
My reasoning on authorship was: I made what I thought was a default choice based on the Github history of the project. From Appaloosa, I ended up using and adapting three functions (the aflare model, and the flare search functions in the residual light curve). AltaiPony was written from scratch, and did not grow out of Appaloosa directly, so maybe predecessor is not the right term to use in a technical sense, uncertain here. In the end, I decided to cite Jim's code in the paper, as I did with K2SC and lightkurve, from which I integrated functions and classes in a similar manner.
Is there a consideration that I am missing here?
:wave: @afeinstein20, please update us on how your review is going.
:wave: @mrtommyb, please update us on how your review is going.
Hi @ekaterinailin ! Thanks for writing AltaiPony and what a fantastic logo! The software was easy to install and run, with few to minor errors. I've recorded some of those below as well as some changes I think would make the functionality and the documentation better/easier for users!
Installation: I had no trouble installing and using the software following both installation methods. However, I did receive the following errors that I wanted to note. And there are some dependencies I found were missing later one.
FileNotFoundError: [Errno 2] No such file or directory: '//anaconda3/lib/python3.7/site-packages/K2SC-1.0-py3.7.egg'
error: scipy 1.4.1 is installed but scipy!=1.4.0,!=1.4.1,>=0.19.0 is required by {'lightkurve'}
TypeError: __init__() got an unexpected keyword argument 'max_value'
emcee
and corner
dependencies. Functionality
find_flares_in_cont_obs_period
but there's no documentation for this function.simple_ffd.ed_and_freq()
from the documentation, it returned only 5 data points? I copied most of the lines from the demo notebooks in your documentation, so this is kind of weird! Documentation
Software Paper The paper is overall clear and well written. It provides a good outline as to why the software is necessary and what it accomplishes compared to other flare detection methods. I believe the paper would benefit from a bit more description about details of flare detection and fitting: What is detected as a flare and not a flare? What are the default settings for flare detection? How the software handle the ramp ups at the end of TESS orbits? What is defined as a the start and stop time of a flare? Adding little details like this would be useful!
Hi @afeinstein20 ! Thanks a ton for the detailed review, these are all very helpful comments, and I am looking forward to addressing them to improve the software. I have a few busy weeks ahead of me, but I hope to get my hands on the code before the end of this year.
Hello again,
I finally got my hands on the code again, so here are my (proto-)solutions to @afeinstein20 's review:
FlareLightCurve.plot_ed_ratio_heatmap()
and FlareLightCurve.plot_recovery_probability_heatmap()
now both return a matplotlib figure. Updated the Visualize_Injection_Recovery.ipynb
accordingly.Beginner_Flare_Frequency_Distributions_and_Power_Laws.ipynb
this should not happen, because the toy example generates 200 events. I re-ran the notebook, and it looked fine. It would be cool, if you could open an issue with the script you used that failed to reproduce the example.Let me know if I understood your remarks correctly! Happy new year :smiley_cat:
I'm pinging @mrtommyb to keep this on his radar as we roll into the new year.
:wave: @afeinstein20 and @mrtommyb: I wanted to check in with you both to see how your reviews are going. Let me know if you have any questions or issues. Thanks for your work on this so far!!
Thanks for the poke @dfm.
Hi @ekaterinailin ! Thanks for addressing all of the points! I'm very happy with the updates 😄 The additional docs and FAQ section are super useful. I just have 2 additional comments/issues:
FlareLightCurve.plot_ed_ratio_heatmap()
and FlareLightCurve.plot_recovery_probability_heatmap()
now both return a matplotlib figure. Updated the Visualize_Injection_Recovery.ipynb
accordingly.
* You mean here? ... example.
iterations=50
for the flc.sample_flare_recovery()
just for time's sake. Does that sound right to you?I've gone ahead and checked all of the boxes on my review list, since you've covered everything on my end! Hopefully these 2 minor things listed above are easily fixed!
Sorry that it took me a while to get back to this. I reinstalled the package, and I installed from the github repo. A few things to note
it would be useful if altaipony.version returned a version number.
I followed the getting started notebook and the from_mast function doesn't work for me.
TypeError: __init__() got an unexpected keyword argument '_required_columns'
I think the issue is that altaipony is incompatible with lightkurve version 2.x. I think that this should probably be fixed before this is accepted.
I was trying to work out if I could download the data and then import that data into a FlareLightCurve object but I could not work out how to do that. This meant that I could not test the additional functionality.
I didn't see any information on how to contribute to the project.
You're right, @mrtommyb , the new version of lightkurve is incompatible with AltaiPony, and it slipped me. I did two things to fix this:
from_mast
, so I think this will not be fixed before major refactoring happens in AltaiPony 2.0.)As for the other requests:
altaipony.__version__
now returns the version@afeinstein20 Thanks for the comments!
Unfortunately, now I'm running into some issues the way the values are being binned. I've been running everything in this Google Colab notebook. I think if you open it, the error messages should appear as well?
Yes, I can see the error message, and I could indeed reproduce your heatmap error! The pansdas version 1.1.5 is the culprit and I actually fixed that in the requirements back in December (see the log), but it was not included in the 1.0.0. version. It should now work with a fresh installation of version 1.0.1 :)
@mrtommyb This should also fix the pip installation problems with lightkurve for the moment.
Yup this was totally the issue! I thought in your docs you were computing the FFD for TIC 29780677. But I know realize it was for GJ 1243, although I'm still getting fewer points still. This is probably because I've set iterations=50 for the flc.sample_flare_recovery() just for time's sake. Does that sound right to you?
Looking into your Google Colab notebook your results look correct. 16 +/- 2 or so flares is what you'd find in that GJ 1243 light curve. Nothing to do with sample_flare_recovery and the 50 iterations, though. The synthetic flares are stored in flc.fake_flares
.
Thanks for your response @ekaterinailin. I think that the tight integration with Lightkurve means that not having the software compatible with Lightkurve 2 means that the software is not entirely functional. I think that it's important to be able to use the current release of Lightkurve, without pinning the installation to an old and unmaintained version of Lightkurve.
Thanks @mrtommyb!
@ekaterinailin: I agree with Tom that lightkurve compatibility is pretty crucial since it's a major dependency, but also a common element in the workflow of many of your users. I think that it would be worth taking the time to look carefully into what it would take to support lightkurve 2+. Even better, how painful would it be to support both? If it's really infeasible, one option would be to add a prominent version disclaimer to the README and docs, and open an issue describing the steps that would be needed so that folks could contribute.
@mrtommyb @dfm Agreed! I have a few deadlines coming up, but I hope that - if feasible - I can make lightkurve2+ compatibility happen in early April. If that works out I also shall see if I can make the software work for both old and new lightkurve :+1:
@ekaterinailin: This sounds great and no rush! I think it'll be great to have this compatibility if possible. I'm going to add the paused
label to this review for now and then you should just ping me when you are able to get back to it.
Hi @dfm, I finally got back to it. Not quite early April - but now AltaiPony 2.0. is available, test and notebooks seem to run with lightkurve2.0 :)
@ekaterinailin: Great to hear!
@mrtommyb: Are you be available to revisit your checklist now that we have compatibility with lightkurve 2?
Hi @ekaterinailin, I've still working on a the examples, but one very quick thing is that in the Readme you have GitHub and email listed in several places that look like links but they don't link to anywhere.
Hi @ekaterinailin, I've still working on a the examples, but one very quick thing is that in the Readme you have GitHub and email listed in several places that look like links but they don't link to anywhere.
You're right, thanks! Fixed both links :)
Sorry this took me forever to get finished. I'm very happy with the changes made. One thing you might want to look at (though I don't think it should slow down this paper), is that a number of warnings are produced related to calling deprecated functions in numpy (such as np.int, np.bool, etc.).
Thank you @mrtommyb ! I'll look into the warnings - can you recall what numpy version you were working with when you got the warnings?
Thanks @mrtommyb!
@ekaterinailin: Give me a day or two to do a final pass through the paper, etc. and then I'll have a few last administrative tasks for you before publication. Thanks for your patience!!
@ekaterinailin: I've opened a tiny pull request with an update for the references. Can you take a look at that and once you've merged, please take the following steps:
@whedon generate pdf from branch josspaper
on this thread and read through the manuscript to make sure that you're happy with it (it's hard to make changes later!), especially check that your name and affiliation are correct.Let me know if you have questions or run into any issues!
@whedon generate pdf from branch josspaper
Attempting PDF compilation from custom branch josspaper. Reticulating splines etc...
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
Thank you for updating and checking the references, @dfm ! I read through the paper - looks complete and correct to me.
The newest version of AltaiPony is now 2.0.1., and the corresponding DOI is 10.5281/zenodo.4095339
@whedon check references from branch josspaper
Attempting to check references... from custom branch josspaper
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1051/0004-6361/202039198 is OK
- 10.1051/0004-6361/201834400 is OK
- 10.1093/mnras/stw706 is OK
- 10.1086/670067 is OK
- 10.3847/0004-637X/829/1/23 is OK
- 10.1088/0004-637X/797/2/122 is OK
- 10.1093/mnras/staa2021 is OK
- 10.1111/j.1365-2966.2009.14577.x is OK
- 10.1086/421261 is OK
- 10.1088/2041-8205/713/2/L79 is OK
- 10.1086/676406 is OK
- 10.1117/1.JATIS.1.1.014003 is OK
- 10.21105/joss.02347 is OK
MISSING DOIs
- 10.3847/1538-4365/abe70e may be a valid DOI for title: Allesfitter: Flexible Star and Exoplanet Inference From Photometry and Radial Velocity
INVALID DOIs
- None
@whedon set 10.5281/zenodo.4095339 as archive
OK. 10.5281/zenodo.4095339 is the archive.
@whedon set v2.0.1 as version
OK. v2.0.1 is the version.
@ekaterinailin: Thanks!! I opened one last PR with a reference update - sorry about that! Once you merge that, we're good to go.
@whedon generate pdf from branch josspaper
Attempting PDF compilation from custom branch josspaper. Reticulating splines etc...
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@whedon recommend-accept from branch josspaper
Attempting dry run of processing paper acceptance...
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1051/0004-6361/202039198 is OK
- 10.1051/0004-6361/201834400 is OK
- 10.1093/mnras/stw706 is OK
- 10.1086/670067 is OK
- 10.3847/0004-637X/829/1/23 is OK
- 10.1088/0004-637X/797/2/122 is OK
- 10.1093/mnras/staa2021 is OK
- 10.1111/j.1365-2966.2009.14577.x is OK
- 10.1086/421261 is OK
- 10.1088/2041-8205/713/2/L79 is OK
- 10.3847/1538-4365/abe70e is OK
- 10.1086/676406 is OK
- 10.1117/1.JATIS.1.1.014003 is OK
- 10.21105/joss.02347 is OK
MISSING DOIs
- None
INVALID DOIs
- None
Submitting author: @ekaterinailin (Ekaterina Ilin) Repository: https://github.com/ekaterinailin/AltaiPony Version: v2.0.1 Editor: @dfm Reviewer: @afeinstein20, @mrtommyb Archive: 10.5281/zenodo.4095339
: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 badge code:
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
@afeinstein20 & @mrtommyb, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @dfm 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 @afeinstein20
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @mrtommyb
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper