Transits
Flexible photometric transit curves with limb darkening
Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
2 of 8 committers (25.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Flexible photometric transit curves with limb darkening
Basic Info
- Host: GitHub
- Owner: JuliaAstro
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://juliaastro.org/Transits
- Size: 4.61 MB
Statistics
- Stars: 21
- Watchers: 5
- Forks: 6
- Open Issues: 2
- Releases: 15
Topics
Metadata Files
README.md
Transits.jl
Flexible photometric transit curves with limb darkening. The goals of this package are, in this order
- have a simple interface with high composability
- be flexible with respect to numeric types and application
- be fully compatible with ChainRules.jl automatic differentiation (AD) system to leverage the derived analytical gradients
- provide a codebase that is well-organized, instructive, and easy to extend
- maintain high performance: at least as fast as similar tools
WIP: Currently under progress by @mileslucas
Current TODO list
in some order of importance
- [x] ~Finish writing
KeplerOrbit(help wanted)~ - [x] ~Gradients using ChainRulesCore~
- [x] ~Gradient tests using ChainRulesTestUtils~
- [x] ~Kipping prior distributions (with gradients) (help wanted)~
- [x] ~documenation section "Introduction" describing transits and talking about science, very expository (help wanted)~
- [ ] Plotting functions (recreate ALFM 20 plots)
- recipe for lightcurve which automatically makes a simple orbit and shows features
- similar as above but special one for SecondaryLimbDark to side-by-side plot secondary
- figure 3 and 6 can be written with recipe
- [ ] examples (show rich composability of julia)
- We can use Pluto notebooks for examples that are learning-oriented
- For tutorials and problem-oriented examples prefer a Julia script that can be weaved into the docs (with Literate.jl e.g.) (or just as easily weaved into a jupyter notebook!)
- [ ] benchmarks (recreate ALFM 20 plots)
- I have some code in
bench/speed.jl. This needs modularized- thebenchmarkfunction can be rewritten likebenchmark(f, Nu, Npts)and abstracted forfas types. - once the code is reorganized (maybe even put the new
benchmarkin a module for future thinking) decide whether to save data or save images, then build the link with the documentation - need to add benchmarks for the python code. PyCall has worked fine for benchmarking for me in the past, so lets write the driver in Julia. here is a link to the plotting code from ALFM
- in general, the more this can be automated the better (including CI!)
- I have some code in
- [ ] look at simpson integrated light curve (ALFM 20)
If you would like to contribute, feel free to open a pull request. If you want to discuss something before contributing, head over to discussions and join or open a new topic.
Installation
To install use Pkg. From the REPL, press ] to enter Pkg-mode
julia
pkg> add Transits
If you want to use the most up-to-date version of the code, check it out from main
julia
pkg> add Transits#main
Usage
```julia using Transits
orbit = SimpleOrbit(period=3, duration=1) u = [0.4, 0.26] # quad limb dark ld = PolynomialLimbDark(u)
t = range(-1, 1, length=1000) # days from t0 rs = range(0, 0.2, length=10) # radius ratio
fluxes = @. ld(orbit, t, rs') ```

Integrated and Secondary Curves
IntegratedLimbDark can be used to numerically integrate each light curve exposure in time
```julia ld = IntegratedLimbDark([0.4, 0.26]) orbit = SimpleOrbit(period=3, duration=1) t = range(-1, 1, length=1000) texp = [0.1 0.2 0.3]
no extra calculations made
flux = @. ld(orbit, t, 0.2)
use quadrature to find time-averaged flux for each t
flux_int = @. ld(orbit, t, 0.2, texp) ```

SecondaryLimbDark can be used to generate secondary eclipses given a surface brightness ratio
```julia ld = SecondaryLimbDark([0.4, 0.26], brightnessratio=0.1) ldint = IntegratedLimbDark(ld) # composition works flawlessly
orbit = SimpleOrbit(period=4, duration=1) t = range(-1.25, 2.75, length=1000) rs = range(0.01, 0.1, length=6)
f = @. ld(orbit, t, rs') fint = @. ldint(orbit, t, rs', texp=0.3) ```

Using Units
Units from Unitful.jl are a drop-in substitution for numbers
julia
using Unitful
orbit = SimpleOrbit(period=10u"d", duration=5u"hr")
t = range(-6, 6, length=1000)u"hr"
flux = @. ld(orbit, t, 0.1)
Citations
If you use Transits.jl or a derivative of it in your work please consider citing it at the Zenodo DOI. If you use PolynomialLimbDark or QuadLimbDark please also cite Agol et al. (2020) and Luger et al. (2019). If you use Kipping13 please cite Kipping (2013). BibTeX for all those citations can be found in CITATIONS.bib.
Owner
- Name: Julia Astro
- Login: JuliaAstro
- Kind: organization
- Email: julia-astro@googlegroups.com
- Website: https://JuliaAstro.org
- Repositories: 41
- Profile: https://github.com/JuliaAstro
Citation (CITATIONS.bib)
# starry - please cite both of these if you use PolynomialLimbDark or QuadLimbDark
@ARTICLE{2020AJ....159..123A,
author = {{Agol}, Eric and {Luger}, Rodrigo and {Foreman-Mackey}, Daniel},
title = "{Analytic Planetary Transit Light Curves and Derivatives for Stars with Polynomial Limb Darkening}",
journal = {\aj},
keywords = {486, 489, 1709, 293, 1855, 38, 1711, 918, 442, 922, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},
year = 2020,
month = mar,
volume = {159},
number = {3},
eid = {123},
pages = {123},
doi = {10.3847/1538-3881/ab4fee},
archivePrefix = {arXiv},
eprint = {1908.03222},
primaryClass = {astro-ph.EP},
adsurl = {https://ui.adsabs.harvard.edu/abs/2020AJ....159..123A},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
@ARTICLE{2019AJ....157...64L,
author = {{Luger}, Rodrigo and {Agol}, Eric and {Foreman-Mackey}, Daniel and {Fleming}, David P. and {Lustig-Yaeger}, Jacob and {Deitrick}, Russell},
title = "{starry: Analytic Occultation Light Curves}",
journal = {\aj},
keywords = {eclipses, methods: analytical, occultations, techniques: photometric, Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Solar and Stellar Astrophysics},
year = 2019,
month = feb,
volume = {157},
number = {2},
eid = {64},
pages = {64},
doi = {10.3847/1538-3881/aae8e5},
archivePrefix = {arXiv},
eprint = {1810.06559},
primaryClass = {astro-ph.IM},
adsurl = {https://ui.adsabs.harvard.edu/abs/2019AJ....157...64L},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
# Kipping13 sampler
@ARTICLE{2013MNRAS.435.2152K,
author = {{Kipping}, David M.},
title = "{Efficient, uninformative sampling of limb darkening coefficients for two-parameter laws}",
journal = {\mnras},
keywords = {methods: analytical, stars: atmospheres, Astrophysics - Solar and Stellar Astrophysics, Astrophysics - Earth and Planetary Astrophysics},
year = 2013,
month = nov,
volume = {435},
number = {3},
pages = {2152-2160},
doi = {10.1093/mnras/stt1435},
archivePrefix = {arXiv},
eprint = {1308.0009},
primaryClass = {astro-ph.SR},
adsurl = {https://ui.adsabs.harvard.edu/abs/2013MNRAS.435.2152K},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
GitHub Events
Total
- Create event: 12
- Commit comment event: 2
- Release event: 1
- Issues event: 2
- Watch event: 3
- Delete event: 14
- Issue comment event: 10
- Push event: 32
- Pull request event: 21
Last Year
- Create event: 12
- Commit comment event: 2
- Release event: 1
- Issues event: 2
- Watch event: 3
- Delete event: 14
- Issue comment event: 10
- Push event: 32
- Pull request event: 21
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| icweaver | i****r@c****u | 195 |
| Miles Lucas | m****s@h****u | 184 |
| github-actions[bot] | 4****] | 17 |
| Abhro R | 5****o | 8 |
| CompatHelper Julia | c****y@j****g | 4 |
| William Thompson | w****n@o****m | 1 |
| Mosè Giordano | g****o | 1 |
| Benoit Pasquier | 4****c | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 6
- Total pull requests: 46
- Average time to close issues: 4 months
- Average time to close pull requests: about 2 months
- Total issue authors: 5
- Total pull request authors: 7
- Average comments per issue: 6.33
- Average comments per pull request: 3.43
- Merged pull requests: 36
- Bot issues: 0
- Bot pull requests: 15
Past Year
- Issues: 0
- Pull requests: 10
- Average time to close issues: N/A
- Average time to close pull requests: about 14 hours
- Issue authors: 0
- Pull request authors: 3
- Average comments per issue: 0
- Average comments per pull request: 0.7
- Merged pull requests: 10
- Bot issues: 0
- Bot pull requests: 4
Top Authors
Issue Authors
- mileslucas (2)
- cscherrer (1)
- icweaver (1)
- milen-prg (1)
- JuliaTagBot (1)
Pull Request Authors
- icweaver (15)
- github-actions[bot] (14)
- abhro (11)
- dependabot[bot] (9)
- mileslucas (9)
- giordano (2)
- briochemc (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 2 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 15
juliahub.com: Transits
Flexible photometric transit curves with limb darkening
- Homepage: https://juliaastro.org/Transits
- Documentation: https://docs.juliahub.com/General/Transits/stable/
- License: MIT
-
Latest release: 0.4.1
published 11 months ago
Rankings
Dependencies
- JuliaRegistries/TagBot v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- actions/checkout v2 composite
- julia-actions/RegisterAction latest composite