All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Now dynesty inputs can be given to
juliet
for both, the general properties (e.g.,bound
) and the sampler properties (e.g., nlive).
- New dynesty version not using all cores with how multiprocessing is incorporated in
juliet
. Now it works, but one has to add the peskyif __name__ == '__main__':
to the start of scripts using this. - Fixed
Gamma
parameter on the Exp-sine-squared kernel, for whichjuliet
was actually fitting log(Gamma
) and notGamma
, as pointed out in #118. - Fixed bug on binning with given errorbars pointed out in #117.
- Fixed bug that didn't let
dynesty
args to be passed with newestdynesty
version (as noted in #109).
- Exception if user tries to fit
a_p1
andrho
(covering issue #116).
- Bug of multi-instrument fits not updating posteriors by @Jayshil (PR #112).
- Bug of multi-planet TTV fits (issues #110 and #97) by @melissa-hobson (PR #111).
- Bug on joint transit and eclipse models; now remove fp component to out-of-eclipse component --- joint transit and eclipse models have thus, by default, and out-of-eclipse and out-of-transit value equal to 1.
- Bug on setup file that didn't install h5py by default (needed for radvel) (PR #113).
- Now
get_all_TESS_lightcurves
has an extra flag to save lightcurves (save_data = True
; PR #106 by @melissa-hobson). - Tests for transit, eclipse and joint transit and eclipse fits in
tests
. - Implemented phase-curve toy model (simple sinusoid with phase-offset; amplitude set by secondary depth).
- Added phase-curve test suite under
tests
. - Support for light-travel time delay in eclipse and transit+eclipse fits (PR #113 by Taylor Bell). Activate by
dataset.fit(..., light_travel_delay = True, stellar_radius = your_value)
. Note this applies the correction in this PR only on the eclipses via comparing radial distances from the eclipses to the time-of-transit center, which generates time delays which are subtracted iteratively to the measured time-stamps. This means the transits (or, really, the time-of-transit t0) are used as the references for the correction. In general practice this has little impact, except for (a) distortions that might be injected in phase-curves and (b) for comparisons with codes that apply this to the entire orbit (e.g., starry). On this latter ones, the reference to measure times of the orbit is typically at the center of mass of the system (or the star); injuliet
, the reference for the time-stamps is the mid-transit point. As a practical example: for Earth, starry would measure a transit 8 mins earlier and an eclipse 8 minutes late. Withjuliet
, you would measure the transit at t0, and the eclipse 16 minutes late to the no-delay case. The impact on the orbital parameters is the same in both cases.
- Homogeneized instrument namings on code, which fixed a photometry-only fit bug (fixes #104).
- Removed the
posteriors.dat
file printing out onlyomega
values larger than 0 (fixes #90).
- Support to instrument-dependant
fp
,p
,p1
andp2
thanks to @Jayshil (#85). - Matern+SHO kernel thanks to @Jayshil (#85).
- Support to instrument-dependant
mflux
,sigma_w
, and linear models (e.g.,theta0_inst1_inst2
). - Added
method
toutils.bin_data
. - Upgraded list of contributors.
- Made changes in #85 back-compatible with non-instrument dependant
fp
,p
,p1
andp2
. - Issue with new version of
dynesty
thanks to @andres-jordan (#98). - Fixed bug when evaluating
catwoman
models thanks to @Jayshil (#96). - Fixed deprecated
is
comparisons with==
on samplers thanks to @rosteen (#86). - Fixed issue #81 thanks to @ssagear (#82).
- Changed
ac
fort_secondary
as the fitting parameter for time of eclipses.
- Upgraded list of contributors.
tests
folder where code tests will be saved.zeus
sampler thanks to contribution from Rachel Cooper.- Secondary eclipse fitting thanks to contribution from Jayshil Patel.
- Additional GP kernels thanks to contribution from Jonas Kemmer.
- Added lowercase priors (thanks to @rosteen; #80).
- Option to activate/deactivate HODLR solver when using
george
GP kernels.
- Bug when multiple planets using and not
efficient_bp
thanks to @tronsgaard. - Keywords that made
juliet
incompatible withdynesty
1.2.2 (this makesjuliet
incompatible with perviousdynesty
versions) exponential
prior which was not working.- Problem with
dynesty
, whose newest version crashed withjuliet
.
- Removed the
juliet.py
(and associatedutils.py
,FLAGS.md
) which hosted the original version of the code, to not confuse contributors.
- Supersampling bug when evaluating models.
- Files for pink noise in deference of building a new package.
- Error on importing
__init__.py
after new versioning file. - All
np.int
calls have been changed forint
calls.
- Support for multithreading with
emcee
. - Added
stepsampler_ultranest
to use Ultranest's stepsampler (see https://johannesbuchner.github.io/UltraNest/example-sine-highd.html). setup.py
automatically installsultranest
andemcee
now, as both are supported byjuliet
.- Added canonical
_version.py
file to store versions of the code, following user Zooko in stackoverflow question 458550. Modified__init__.py
andsetup.py
accordingly. - Added
test_juliet.py
script to givejuliet
a test run with all the samplers.
juliet.fit
docstring parsing.- Bug when both
input_folder
andout_folder
are given, introduced by the addition of support toemcee
.
- PR #47, which adds function to
juliet.utils
to read AstroImageJ tables. - PR #22, which started a unit test script (
test_utils.py
); also added a.gitignore
. - Created
CHANGELOG.md
(this file). - Deprecated the use of several flags (e.g.,
use_dynesty
,use_ultranest
,dynamic
, etc.); now samplers can be selected using thesampler
string viajuliet.fit
. Options for each sampler can be directly ingested tojuliet.fit
via**kwargs
. - Outputs from multinest are kept in the output folder now (were removed in previous juliet versions).
- Support for
emcee
.
- Fixed bug that was making
juliet
runs withdynesty
always go to Dynamic Nested Sampling by default. - Bug that made the
juliet.utils.get_all_TESS_data()
call to download all files. Now by default only lightcurves are downloaded. - Refactored the
juliet.fit
class of the code; much easier to read, much easier to pass arguments around, much easier to implement new samplers. - Removed the
delta_z_lim
flag which didn't do anything; thedelta_z
limit can be inputted through thekwargs
viajuliet.fit
.