CHANGELOG.md 26.8 KB
Newer Older
Gregory Ashton's avatar
Gregory Ashton committed
1 2
# All notable changes will be documented in this file

Moritz Huebner's avatar
Moritz Huebner committed
3 4 5 6 7 8
## [1.1.1] 2021-03-16
Version 1.1.1 release of bilby

### Changes
- Added `include requirements.txt` in `MANIFEST.in` to stop the pip installation from breaking

Moritz Huebner's avatar
Moritz Huebner committed
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
## [1.1.0] 2021-03-15
Version 1.1.0 release of bilby

### Added
- Calibration marginalisation using a discrete set of realisations (!856)
- Nessai sampler (!921, !926)
- Capability to sample in aligned spin and spin magnitude (!868)
- Information gain now stored in the result (!907)
- Added option to save result/interferometers as pickle (!925)
- Added functionality to notch data (!898)
- Added LIGO India Aundha (A1) coordinates (!886)

### Changes
- Fixed periodic keys not working when constrained priors are present in pymultinest (!927)
- Some changes to reweighting likelihoods (!851)
- `CBCPriorDict` is now a `ConditionalPriorDict` (!868)
- Fixed hyper PE example (!910)
- Pinned numpy and pandas version number (!916)
- Fixed an issue with GPS times in `cpnest`
- `deepdish` is now longer a requirement since it lost its support (!925)
- Removed annoying warning message due to use of `newcommand` in latex (!924)
- Interpolation should be slightly faster now because we now access interpolation libraries more directly (!917, !923)
- Documentation now builds properly (!915)
- Fixed a bug caused by `loaded_modules_dict` (!920)
- `_ref_dist` is an attribute now which speeds up distance marginalised runs slightly (!913)
- Cache normalisation for `PriorDict` objects without `Constraint` priors (!914)
- Removed some deprecated `__future__` imports (!911)
- Fixed the behaviour of `plot_waveform_posterior` to use representative samples (!894)
- Uses `tqdm.auto` in some samplers now for better progress bars (!895)
- Fixed the correction of the epoch in time domain waveforms when using a segment duration that is not a power of two (!909)
- Fixed `ultranest` from failing
- Fixed issues with plotting failing in tests (!904)
- Changed the CI to run on auto-built images (!899)
- Resolved a `matplotlib` error occuring at `dynesty` checkpoint plots (!902)
- Fixed the multidimensional Gaussian example (!901)
- Now allow any lal dictionary option and added a numerical relativity file (!896)
- Fixed the likelihood count in `dynesty` (!853)
- Changed the ordering of keyword arguments for the `Sine` and `Cosine` constructors (!892)

## [1.0.4] 2020-11-23
Gregory Ashton's avatar
Gregory Ashton committed
49 50 51 52 53 54 55 56
Version 1.0.4 release of bilby

### Added
- Added a chirp-mass and mass-ratio prior which are uniform in component masses (!891)

### Changes
- Fixed issue in the CI

Shanika Galaudage's avatar
Shanika Galaudage committed
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
## [1.0.3] 2020-10-23

Version 1.0.3 release of bilby

### Added
- SlabSpikePrior and examples (!857)
- Authors file (!885)
- CDF function to conditional priors (!882)
- Waveform plot in visualising_the_results.ipynb (!817)
- Addition of dnest4 sampler (!849, !883)
- Loaded modules added to meta-data (!881)

### Changes
- Constraint to Uniform priors in ROQ tutorial (!884)
- Fix to CDF and PDF for SymmetricLogUniform prior (!876)
- Fix bug in evidence combination (!880)
- Typo fixes (!878, !887, !879)
- Minor bug fixes (!888)

Shanika Galaudage's avatar
Shanika Galaudage committed
76 77 78 79 80 81 82 83
## [1.0.2] 2020-09-14

Version 1.0.2 release of bilby

### Added
- Template for the docker files (!783)
- New delta_phase parameter (!850)
- Normalization factor to time-domain waveform plot (!867)
Shanika Galaudage's avatar
Shanika Galaudage committed
84
- JSON encoding for int and float types (!866)
Shanika Galaudage's avatar
Shanika Galaudage committed
85 86 87 88 89 90 91 92 93 94 95 96 97
- Various minor formatting additions (!870)

### Changes
- Switched to the conda-forge version of multinest and ultranest (!783)
- Updates KAGRA - K1 interferometer information (!861)
- Restructures to tests to be uniform across project (!834)
- Fix to distance and phase marginalization method (!875)
- Fixed roundoff of in-plane spins samples with vectorisation (!864)
- Fix to reference distance and interpolant behavior (!858)
- Fix to constraint prior sampling method (!863)
- Clean up of code (!854)
- Various minor bug, test and plotting fixes (!859, !874, !872, !865)

Moritz Huebner's avatar
Moritz Huebner committed
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
## [1.0.1] 2020-08-29

Version 1.0.1 release of bilby

### Added
- Added an rcparams configuration for plotting (!832)
- Added `chi_1` and `chi_2` parameters to default latex label dictionary (!841)
- Allow output merged result file to be gzip or saved as a HDF5 file (!802)

### Changes
- Fixed first value in EOS cumulative integral(!860)
- Fixed saving the number of likelihood evaluations (!848)
- Likelihood condition is now strictly increasing (!846)
- Fixed a minor issue with conditional priors that could cause unexpected behaviour in edge cases (!838)
- Fixed `__repr__` method in the `FromFile` prior (!836)
- Fixed an issue that caused problems for some users when plotting with a latex backend (!816)
- Fixed bug that occured when min/max of interpolated priors was changed (!815)
- Fixed time domain waveform epoch (!736)
- Fixed time keeping in multinest (!830)
- Now checks if marginalised priors were defined before marginalising (!829)
- Fixed an issue with multivariate Gaussian prior (!822)
- Various minor code improvements (!836)(!839)
- Various minor bug fixes and improvements to the documentation (!820)(!823)(!837)
- Various testing improvements (!833)(!847)(!855)(!852)

Gregory Ashton's avatar
Gregory Ashton committed
123 124 125 126 127 128 129 130 131 132
## [1.0.0] 2020-07-06

Version 1.0 release of bilby

### Changes
- Minor bug fixes and typo changes only from 0.6.9, see
git.ligo.org/lscsoft/bilby/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged&milestone_title=1.0.0
for details

## [0.6.9] 2020-05-21
Gregory Ashton's avatar
Gregory Ashton committed
133 134 135 136 137
### Changes
- Improvement to the proposal step in dynesty (!774)
- Fix a bug in checking and making directories (!792)
- Clean up of the default prior files (!789)

Gregory Ashton's avatar
Gregory Ashton committed
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
## [0.6.8] 2020-05-13
### Added
- Option to sample in the sky frame (!786)
- Multiprocessing to reconstruction of marginalized parameters (!782)
- Generic reweighting method for likelihood / priors (!776)
- Parameterized EOS sampling (!543)
- Implementation of the UltraNest sampler (!766)
- Implementation of arVix result files (!772)
- Added basic pre-commit behaviour (!763)

### Changes
- Updated the default PSD to O4 (!757)
- Make multinest allow long file names, optional and work with MPI (!764 !785)
- Add min/max to aligned spin prior (!787)
- Reduce redudant code (!703)
- Added testing for python 3.8 (!762)
- Improvements to the waveform plot (!769)

156 157 158 159 160 161 162
## [0.6.7] 2020-04-15
### Changes
- Allow dynesty to run with multiprocessing (!754)
- Rewrite ptemcee implementation (!750)
- Change 'source frame' to 'detector frame' in L34-35 of compare_samplers tutorial (!745)
- Allow lal dictionary to be passed through to '_base_lal_cbc_fd_waveform' (!752)

Colm Talbot's avatar
Colm Talbot committed
163 164 165 166 167 168 169 170 171 172 173 174
## [0.6.6] 2020-03-06
### Changes
- Fix bug where injected values are not present for corner plot (!749)
- Significant backwards-incompatible improvements to `dynesty` checkpointing (!746)
- Improve checkpoint interval calculation with `dynesty` (!741)
- Fix reading of `PriorDict` class from result file (!739)
- Fix definition of time for time-domain `lalsimulation` waveforms (!736)
- LaTeX text formatting for plots by default (!702)

### Added
- Normalisation dynamically computed when using prior constraints (!704)

Gregory Ashton's avatar
Gregory Ashton committed
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
## [0.6.5] 2020-02-14
### Changes
- Fix for time reconstruction bug (!714)
- Resolved errors Waveform longer than the frequency array (!710)
- Prior reading clean-up (!715)
- More efficient dynesty restarting (!713)
- PP tests show 123 sigma bounds by default (!726)

### Added
- HealPixPrior (!651)
- GW prior documentation (!720)
- Multiple contours to PP tests plots (!721) 
- Distance marginalization for non-luminosity-distance parameters (!719)

### Removed
- Pipenv (!724)


Gregory Ashton's avatar
Gregory Ashton committed
193 194 195 196 197 198 199 200 201 202 203 204
## [0.6.4] 2020-01-30
### Changes
- Discontinue python2.7 support (!697)
- Minor adjustments to the act calculation method (!679, !707)
- Restructure of the prior module (!688)
- Improvements to the documentation (!708, !700)
- Bug fix when maximum < minimum (!696)

### Added
- Improved waveform error handling (!653)
- Waveform check to the CI (!698)

Moritz Huebner's avatar
Moritz Huebner committed
205 206 207 208
## [0.6.3] 2020-01-03
### Changed
- Fixed an issue with the ROQ segment scaling (!690)

Moritz Huebner's avatar
Moritz Huebner committed
209 210 211 212 213 214 215 216 217 218 219 220 221
## [0.6.2] 2019-12-20
### Added
- Introduced conditional prior sets (!332)(!673)(!674)
- Introduced joint priors (!668)
- Added a check to make sure sampling time exists before trying to update (!672)
### Changed
- Fixed a caching issue with the waveform generators (!630)
- Fixed an issue that made the dynamic dynesty sampler not work (!667)
- Changed the backend docker files (!669)
- Fixed an error when plotting time domain data when using `filtfilt=True`
- `Interped` priors now dynamically update when new `yy` values are set (!675)
- Fixed the ROQ scaling checks (!678)

Gregory Ashton's avatar
Gregory Ashton committed
222 223 224 225 226
## [0.6.1] 2019-12-02

HotFix release following 0.6.0 fixing a minor bug in the generation of derived
parameters.

Gregory Ashton's avatar
Gregory Ashton committed
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244
## [0.6.0] 2019-12-02
### Added
- A bilby-implemenatation of the dynesty rwalk proposal method (!640)
- An ACT estimate to the rwalk option (!643)
- HTML waveform plots and general improvements to the waveform plot (!641, !659)
- Add a function to resample bilby generated with a uniform in mass ratio and
  chirp_mass prior to uniform in component mass (!642)
- Adds checking to the ROQ usage: warning messages generated when out of bounds (!549)
- A safety check to the time reconstrucion (!633)
- Added the kombine sampler (!637)
- Added in-plane spins (!646)
## Changes
- Changed the PriorDict base class to from OrderedDict to just dict. This fixes
  an issue with pickling priors (!652)
- Improvements to the behaviour of the conversion functions (!647)
- Prevent chirp mass railing for the GW150914 examples (!635)


Gregory Ashton's avatar
Gregory Ashton committed
245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263
## [0.5.9] 2019-10-25

### Added
- Default reflective boundaries for calibration parameters !623
- Support for inferring method arguments !608

## Changes
- Speed up the prior evaluations by implementing directly with checks to scipy !627
- Soft initalisation option for the Sampler class !620
- Improvements to JSON reading and writing for functions !621
- Fixed bug in prior reading !618 !617
- Fixes to the examples !619 !614 !626 !616
- Update to the test mode storing extra information !613
- Minor improvements to the ptemcee sampler
- Improved contributing guidelines !610

## Removed
- Default printing of bilby version at import !608

Gregory Ashton's avatar
Gregory Ashton committed
264 265 266 267 268 269 270 271 272 273 274
## [0.5.8] 2019-09-26

### Added
- Progress bar in post-processing step

### Changed
- Fixed implementation of calibration !607
- Fixed interaction with dynesty for reflective bounds !604
- Fixed behaviour of n_effective with check pointing !603
- Fixed testing of constants !605
- Fixed bug in bilby_result with python2.7
Gregory Ashton's avatar
Gregory Ashton committed
275

Gregory Ashton's avatar
Gregory Ashton committed
276 277 278 279 280 281 282 283
## [0.5.7] 2019-09-19

### Added
- bilby_convert_resume file CL tool for converting dynesty resume files into preresults !599

### Changes
- Change the constants (Msun, REarth etc) to match the values in LAL !597
- Change the Greenwhich Mean Sidereal Time conversion to match the method in LAL !597
Gregory Ashton's avatar
Gregory Ashton committed
284
- Update dynesty requirement to 1.0.0
Gregory Ashton's avatar
Gregory Ashton committed
285 286 287 288 289 290
- Improve integration of bounds with dynesty !589
- Fixed issue with mutable default argument !596
- Allow the use of n_effective in dynesty !592
- Allow the use of n_periodic in cpnest !591
- Fix bug in dt calc

Gregory Ashton's avatar
Gregory Ashton committed
291 292 293 294 295 296 297 298 299 300 301
## [0.5.6] 2019-09-04

### Changes
- Deprecation of the old helper functions (e.g., fetch open data)
- Improvements to the documentation
- Fix a bug in the dt calculations of the GW likelihood
- Various small bug fixes

### Added
- LAL version information in the meta data

Gregory Ashton's avatar
Gregory Ashton committed
302 303 304 305 306 307 308 309 310 311 312 313 314 315
## [0.5.5] 2019-08-22

### Added
- Reading/writing of the prior in a JSON format
- Checks for marginalization flags

### Changes
- Improvements to the examples: reorganisation and fixing bugs
- Fixed bug with scipy>=1.3.0 and spline
- Removed the sqrt(2) normalisation from the scalar longitudinal mode
- Improve PSD filename reading (no longer required "/" to read local files)
- Fix bug in emcee chains
- Added a try/except cluase for building the lookup table

Gregory Ashton's avatar
Gregory Ashton committed
316 317
## [0.5.4] 2019-07-30

Gregory Ashton's avatar
Gregory Ashton committed
318
### Added
Gregory Ashton's avatar
Gregory Ashton committed
319 320 321
- Analytic CDFs 
- Reading/writing of grid results objects

Gregory Ashton's avatar
Gregory Ashton committed
322
### Changed
323 324
- Dynesty default settings changed: by default, now uses 30xndim walks. This was
shown (!564) to provide better convergence for the long-duration high-spin tests.
Gregory Ashton's avatar
Gregory Ashton committed
325 326
- Fix bug in combined runs log evidence calculations
- Fixed bugs in the nightly tests 
Gregory Ashton's avatar
Gregory Ashton committed
327

Gregory Ashton's avatar
Gregory Ashton committed
328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347
## [0.5.3] 2019-07-23
### Added
- Jitter time marginalization. For the time-marginalized likelihood, a jitter
  is used to ensure proper sampling without artifacts (!534)
- Zero likelihood mode for testing and zero-likelihood test to the nightly C.I ((!542)
- 15D analytic Gaussian test example (!547) 

### Changes
- Dynesty version minimum set to 0.9.7. Changes to this sampler vastly improve
  performance (!537)
- Improvements to waveform plotting (!534) 
- Fixed bugs in the prior loading and added tests (!531 !539 !553 !515)
- Fixed issue in 1D CDF prior plots (!538)
- ROQ weights stored as npz rather than json (memory-performance improvement) (!536)
- Distance marginalisation now uses cubic rather than linear interpolation. Improves
  distance/inclination posteriors for high SNR systems. (!552)
- Inputs to hyperpe modified to allow for more flexible sampling prior specification
  and improve efficiency. (!545)
- Fix definition of some spin phase parameters (!556).

Gregory Ashton's avatar
Gregory Ashton committed
348 349 350 351 352 353 354 355 356 357 358 359 360 361 362
## [0.5.2] 2019-06-18
### Added
- Method to read data in using gwpy get (and associated example)
- Adds a catch for broken resume files with improves reporting

### Changed
- Updated and fixed bugs in examples
- Resolve sampling time persistence for runs which are interupted
- Improvements to the PP plot
- Speed up of the distance calculation
- Fixed a bug in the inteference of bilby command line arguments with user specified command lines
- Generalised the consistency checks for ResultLists
- Fixes to some tests
- Makes the parameter conversion a static method rather than a lambda expression

Gregory Ashton's avatar
Gregory Ashton committed
363 364 365 366 367 368 369 370 371 372 373 374 375
## [0.5.1] 2019-06-05
### Added
- Option for the GraceDB service URL
- Precessing BNS
- Functionality to make a waveform plot

### Changed
- Changes to ROQ weight generation: finer time-steps and fixed a bug in the time definition
- Fixed typo "CompactBinaryCoalesnce" -> "CompactBinaryCoalescence" (old class now has deprecation warning)
- Fixed a minor bug in the frequency mask caching
- Minor refractoring of the GWT likelihood and detector tests
- Initial samples in dynesty now generated from the constrained prior

Gregory Ashton's avatar
Gregory Ashton committed
376 377
## [0.5.0] 2019-05-08

Gregory Ashton's avatar
Gregory Ashton committed
378
### Added
Gregory Ashton's avatar
Gregory Ashton committed
379
- A plot_skymap method to the CBCResult object based on ligo.skymap
Gregory Ashton's avatar
Gregory Ashton committed
380 381
- A plot_calibration_posterior method to the CBCResult object
- Method to merge results
Gregory Ashton's avatar
Gregory Ashton committed
382 383

### Changed
Gregory Ashton's avatar
Gregory Ashton committed
384
- Significant refactoring of detector module: this should be backward conmpatible. This work was done to break the large detector.py file into smaller, more manageable chunks. 
385
- The `periodic_boundary` option to the prior classes has been changed to `boundary`.
Gregory Ashton's avatar
Gregory Ashton committed
386
*This breaks backward compatibility*.
387 388 389
The options to `boundary` are `{'periodic', 'reflective', None}`.
Periodic boundaries are supported as before.
Reflective boundaries are supported in `dynesty` and `cpnest`.  
Gregory Ashton's avatar
Gregory Ashton committed
390
- Minor speed improvements by caching intermediate steps
Moritz Huebner's avatar
Moritz Huebner committed
391 392
- Added state plotting for dynesty. Use `check_point_plot=True` in the `run_sampler` 
function to create trace plots during the dynesty checkpoints
Gregory Ashton's avatar
Gregory Ashton committed
393
- Dynesty now prints the progress to STDOUT rather than STDERR
Gregory Ashton's avatar
Gregory Ashton committed
394 395 396
- `detector` module refactored into subpackage. Maintains backward compatibility.
- Specifying alternative frequency bounds for the ROQ now possible if the appropriate
`params.dat` file is passed.
Gregory Ashton's avatar
Gregory Ashton committed
397 398

### Removed
Gregory Ashton's avatar
Gregory Ashton committed
399
- Obsolete (and potentially incorrect) plot_skymap methods from gw.utils
Gregory Ashton's avatar
Gregory Ashton committed
400

Gregory Ashton's avatar
Gregory Ashton committed
401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416
## [0.4.5] 2019-04-03

### Added
- Calibration method and plotting
- Multivariate Gaussian prior
- Bayesian model diminsionality calculator
- Dynamic dynesty (note: this is in an alpha stage)
- Waveform caching

### Changes
- Fixed bugs in the ROQ time resolution
- Fixed bugs in the gracedb wrapper-method
- Improvements to the pp-plot method
- Improved checkpointing for emcee/ptemcee
- Various perforance-related improvements

Gregory Ashton's avatar
Gregory Ashton committed
417 418 419 420 421 422 423 424 425 426 427 428 429
## [0.4.4] 2019-04-03

### Added
- Infrastucture for custom jump proposals (cpnest-only)
- Evidence uncertainty estimate to cpnest

### Changed
- Bug fix to close figures after creation
- Improved the frequency-mask to entirely remove values outside the mask rather
  than simply set them to zero
- Fix problem with Prior prob and ln_prob if passing multiple samples
- Improved cpnest prior sampling

Gregory Ashton's avatar
Gregory Ashton committed
430 431 432
### Removed
-

Gregory Ashton's avatar
Gregory Ashton committed
433 434 435 436 437 438 439 440 441 442 443
## [0.4.3] 2019-03-21

### Added
- Constraint prior: in prior files you can now add option of a constraint based
on other parameters. Currently implements mass-constraints only.
- Grid likelihood: module to evaluate the likelihood on a grid

### Changed
- The GWTransientLikelihood no longer returns -inf for  m2 > m1. It will evaluate
the likelihood as-is. To implement the constraint, use the Constraint priors.

Gregory Ashton's avatar
Gregory Ashton committed
444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460
## [0.4.2] 2019-03-21

### Added
- Fermi-Dirac and SymmetricLogUniform prior distributions
- Multivariate Gaussian example and BNS example
- Added standard GWOSC channel names
- Initial work on a fake sampler for testing
- Option for aligned spins
- Results file command line interface
- Full reconstruction of marginalized parameters

### Changed
- Fixed scheduled tests and simplify testing environment
- JSON result files can now be gzipped
- Reduced ROQ memory usage
- Default checkpointing in cpnest

Gregory Ashton's avatar
Gregory Ashton committed
461 462
## [0.4.1] 2019-03-04

Gregory Ashton's avatar
Gregory Ashton committed
463
### Added
Gregory Ashton's avatar
Gregory Ashton committed
464 465
- Support for JSON result files
- Before sampling a test is performed for redundant priors
Gregory Ashton's avatar
Gregory Ashton committed
466

Gregory Ashton's avatar
Gregory Ashton committed
467
### Changed
Gregory Ashton's avatar
Gregory Ashton committed
468 469 470 471 472 473 474
- Fixed the definition of iota to theta_jn. WARNING: this breaks backward compatibility. Previously, the CBC parameter iota was used in prior files, but was ill-defined. This fixes that, requiring all scripts to use `theta_jn` in place of `iota`
- Changed the default result file store to JSON rather than hdf5. Reading/writing of hdf5 files is still intact. The read_in_result function will still read in hdf5 files for backward compatibility
- Minor fixes to the way PSDs are calculated
- Fixed a bug in the CBC result where the frequency_domain model was pickled
- Use pickling to store the dynesty resume file and add a write-to-resume on SIGINT/SIGKILL
- Bug fix in ROQ likelihood
- Distance and phase marginalisation work with ROQ likelihood
475
- Cpnest now creates checkpoints (resume files) by default
Gregory Ashton's avatar
Gregory Ashton committed
476 477 478 479 480 481

### Removed
-

## [0.4.0] 2019-02-15

Gregory Ashton's avatar
Gregory Ashton committed
482
### Changed
483
- Changed the logic around redundancy tests in the `PriorDict` classes
Gregory Ashton's avatar
Gregory Ashton committed
484 485
- Fixed an accidental addition of astropy as a first-class dependency and added a check for missing dependencies to the C.I.
- Fixed a bug in the "create-your-own-time-domain-model" example
Gregory Ashton's avatar
Gregory Ashton committed
486
- Added citation guide to the readme
Gregory Ashton's avatar
Gregory Ashton committed
487 488 489

## [0.3.6] 2019-02-10

490
### Added
Moritz Huebner's avatar
Moritz Huebner committed
491
- Added the PolyChord sampler, which can be accessed by using `sampler='pypolychord'` in `run_sampler`
Colm Talbot's avatar
Colm Talbot committed
492
- `emcee` now writes all progress to disk and can resume from a previous run.
Gregory Ashton's avatar
Gregory Ashton committed
493 494

### Changed
Colm Talbot's avatar
Colm Talbot committed
495 496
- Cosmology generalised, users can now specify the cosmology used, default is astropy Planck15
- UniformComovingVolume prior *requires* the name to be one of "luminosity_distance", "comoving_distance", "redshift"
Moritz Huebner's avatar
Moritz Huebner committed
497 498
- Time/frequency array generation/conversion improved. We now impose `duration` is an integer multiple of
  `sampling_frequency`. Converting back and forth between time/frequency arrays now works for all valid arrays.
499
- Updates the bilby.core.utils constants to match those of Astropy v3.0.4
Gregory Ashton's avatar
Gregory Ashton committed
500
- Improve the load_data_from_cache_file method
Gregory Ashton's avatar
Gregory Ashton committed
501 502

### Removed
503
- Removed deprecated `PriorSet` classes. Use `PriorDict` instead.
Gregory Ashton's avatar
Gregory Ashton committed
504 505 506 507 508 509 510 511 512 513 514

## [0.3.5] 2019-01-25

### Added
- Reduced Order Quadrature likelihood
- PTMCMCSampler
- CBC result class
- Additional tutorials on using GraceDB and experts guide on running on events in open data

### Changed
- Updated repository information in Dockerfile for PyMultinest
515

Gregory Ashton's avatar
Gregory Ashton committed
516 517
## [0.3.4] 2019-01-10

518
### Changes
Gregory Ashton's avatar
Gregory Ashton committed
519 520
- Renamed the "basic_tutorial.py" example to "fast_tutorial.py" and created a
 "standard_15d_cbc_tutorial.py"
Colm Talbot's avatar
Colm Talbot committed
521
- Renamed "prior" to "priors" in bilby.gw.likelihood.GravtitationalWaveTransient
522 523
  for consistency with bilby.core. **WARNING**: This will break scripts which
  use marginalization.
524 525
- Added `outdir` kwarg for plotting methods in `bilby.core.result.Result`. This makes plotting
into custom destinations easier.
Colm Talbot's avatar
Colm Talbot committed
526
- Fixed definition of matched_filter_snr, the interferometer method has become `ifo.inner_product`.
527

Gregory Ashton's avatar
Gregory Ashton committed
528 529
### Added
- log-likelihood evaluations for pymultinest
Gregory Ashton's avatar
Gregory Ashton committed
530 531
## [0.3.3] 2018-11-08

Gregory Ashton's avatar
Gregory Ashton committed
532
Changes currently on master, but not under a tag.
533 534

- Removed unnecessary arguments (`ra`, `dec`, `geocent_time`, `psi`) from source functions and replaced them with `**kwargs` where appropriate.
MoritzThomasHuebner's avatar
MoritzThomasHuebner committed
535 536 537 538
- Renamed `PriorSet` to `PriorDict`
- Renamed `BBHPriorSet` to `BBHPriorDict`
- Renamed `BNSPriorSet` to `BNSPriorDict`
- Renamed `CalibrationPriorSet` to `CalibrationPriorDict`
Colm Talbot's avatar
Colm Talbot committed
539 540
- Added method to result to get injection recovery credible levels
- Added function to generate a pp-plot from many results to core/result.py
Moritz Huebner's avatar
Moritz Huebner committed
541
- Fixed a bug which caused `Interferometer.detector_tensor` not to update when `latitude`, `longitude`, `xarm_azimuth`, `yarm_azimuth`, `xarm_tilt`, `yarm_tilt` were updated.
Nikhil Sarin's avatar
Nikhil Sarin committed
542
- Added implementation of the ROQ likelihood. The basis needs to be specified by the user.
543
- Extracted time and frequency series behaviour from `WaveformGenerator` and `InterferometerStrainData` and moved it to `series.gw.CoupledTimeAndFrequencySeries`
Moritz Huebner's avatar
Moritz Huebner committed
544

545 546 547 548 549 550 551 552 553 554 555
### Changes
- Switch the ordering the key-word arguments in `result.read_in_result` to put
  `filename` first. This allows users to quickly read in results by filename
- Result object no longer a child of `dict`. Additionally, the list of
  attributes and saved attributes is standardised
- The above changes effect the saving of posteriors. Users can expect that
  opening files made in python 2(3) which where written in 3(2) may no longer
  work. It was felt that the overheads of maintaining cross-version
  compatibility were too much. Note, working in only python 2 or 3, we do not
  expect users to encounter issues.
- Intermediate data products of samples, nested_samples are stored in the h5
556
- Time marginalised GravitationalWaveTransient works with arbitrary time priors.
557

Gregory Ashton's avatar
Gregory Ashton committed
558 559
## [0.3.1] 2018-11-06

Colm Talbot's avatar
Colm Talbot committed
560 561 562
### Changes
- Make BBH/BNS parameter conversion more logical
- Source frame masses/spins included in posterior
563
- Make filling in posterior with fixed parameters work
Gregory Ashton's avatar
Gregory Ashton committed
564
- Bug fixes
Colm Talbot's avatar
Colm Talbot committed
565

Gregory Ashton's avatar
Gregory Ashton committed
566
## [0.3] 2018-11-02
Colm Talbot's avatar
Colm Talbot committed
567 568

### Added
Colm Talbot's avatar
Colm Talbot committed
569 570 571 572 573 574
- Joint-likelihood added
- PyMC3 works with the GravitationalWaveTransient likelihood
- flake8 syntax checking in CI
- Binary neutron star source model
- Allow units to be included in parameter labels
- Add nested samples to dynesty output
575
- Add more \_\_repr\_\_ methods
Colm Talbot's avatar
Colm Talbot committed
576 577 578 579 580 581
- Add ability to plot max likelihood and draws from the posterior
- Document samplers in more detail
- Added the CPNest sampler
- Adds custom titles to corner plots
- Adds plotting of the prior on 1D marginal distributions of corner plots
- Adds a method to plot time-domain GW data
582
- Added pipenv as a dependency manager
583
- Hyperparameter estimation now enables the user to provide the single event evidences
Colm Talbot's avatar
Colm Talbot committed
584
- Add nested samples to nestle output
Moritz Huebner's avatar
Moritz Huebner committed
585
- Prior and child classes now implement the \_\_eq\_\_ magic method for comparisons
586 587 588
- Added default kwargs for each sampler class
- Added NestedSampler and MCSampler helper classes
- Added sampler_requirements.txt file
Colm Talbot's avatar
Colm Talbot committed
589
- Add AlignedSpin gw prior
Colm Talbot's avatar
Colm Talbot committed
590
- Add units to know prior files
Colm Talbot's avatar
Colm Talbot committed
591 592
- Add pipenv functionality
- Tests run in custom dockerfiles
Colm Talbot's avatar
Colm Talbot committed
593

Gregory Ashton's avatar
Gregory Ashton committed
594
### Changes
Colm Talbot's avatar
Colm Talbot committed
595 596 597 598
- Fix construct_cbc_derived_parameters
- Autocorrelation calculation moved into parent class
- Fix interpretation of kwargs for dynesty
- PowerSpectralDensity structure modified
Colm Talbot's avatar
Colm Talbot committed
599 600 601
- Fixed bug in get_open_data
- Modified how sampling in non-standard parameters is done, the
  `non_standard_sampling_parameter_keys` kwarg has been removed
602
- .prior files are no longer created. The prior is stored in the result object.
603 604
- Removed external_sampler and external_sampler_function attribute from Sampler
- Made conversion of number of livepoint kwargs consistent and streamlined throughout the Nested sampler classes
Colm Talbot's avatar
Colm Talbot committed
605
- Fix label creation in plot_multiple, evidences and repeated plots.
Moritz Huebner's avatar
Moritz Huebner committed
606 607
- Changed the way repr works for priors. The repr can now be used to
re-instantiate the Prior in most cases
Colm Talbot's avatar
Colm Talbot committed
608 609
- Users can now choose to overwrite existing result files, rather than creating
  a .old file.
Colm Talbot's avatar
Colm Talbot committed
610
- Make likelihood values stored in the posterior correct for dynesty and nestle
611
- pymultinest output now stored in {outdir}/pm_{label}/
Colm Talbot's avatar
Colm Talbot committed
612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631

### Removed
- Removes the "--detectors" command line argument (not a general CLI requirement)

## [0.2.2] 2018-09-04

### Added
- Add functionality to sample in redshift and reconstruction of source frame masses.
- Add functionality to combine result objects.
- Enable initial values for emcee to be specified.
- Add support for eccentric BBH

### Changed
- Specifying detectors by name from the default command line options has been removed.
- The prior on polarisation phase has been reduced to [0, pi].
- More prior distributions added.
- More samplers supported, pymc3
- More core likelihoods, Poisson, Student's-t
- Result print function fixed
- Add snr functions as methods of `Interferometer`
Gregory Ashton's avatar
Gregory Ashton committed
632
- The paths between imports where changed so that calls such as
Colm Talbot's avatar
Colm Talbot committed
633 634
  `bilby.WaveformGenerator` no longer work. Instead, we need to use
  `bilby.gw.WaveformGenerator`. This was done to keep things cleaner going
Gregory Ashton's avatar
Gregory Ashton committed
635
  forward (when, for example, there may be multiple wfg's).
Colm Talbot's avatar
Colm Talbot committed
636
- Samplers reorganised into individual files.
Gregory Ashton's avatar
Gregory Ashton committed
637

638 639
## [0.2.1] 2018-07-18

Gregory Ashton's avatar
Gregory Ashton committed
640
### Added
Gregory Ashton's avatar
Gregory Ashton committed
641
- InterferometerStrainData now handles both time-domain and frequencu-domain data
642
- Adds documentation on setting data (https://lscsoft.docs.ligo.org/bilby/transient-gw-data.html)
Gregory Ashton's avatar
Gregory Ashton committed
643
- Checkpointing for `dynesty`: the sampling will be checkpointed every 10 minutes (approximately) and can be resumed.
Colm Talbot's avatar
Colm Talbot committed
644
- Add functionality to plot multiple results in a corner plot, see `bilby.core.result.plot_multiple()`.
Gregory Ashton's avatar
Gregory Ashton committed
645 646
- Likelihood evaluations are now saved along with the posteriors.

Gregory Ashton's avatar
Gregory Ashton committed
647
### Changed
648
- Changed to using `setuptools` for installation.
Gregory Ashton's avatar
Gregory Ashton committed
649 650 651 652 653 654
- Clean up of real data handling: all data is now windowed with a 0.4s roll off (unless set otherwise) and low-pass filtered.
- Add explicit method to create a power spectral density from time-domain data
- Clean up of `PowerSpectralDensity()` - addds `set_from` methods to handle various ways to define the PSD.
- Clean up of `detectors.py`: adds an `InterferometerStrainData` to handle strain data and `InterferometerSet` to handle multiple interferometers. All data setting should primarily be done through the `Interferometer.set_strain_data..` methods.
- Fix the comments and units of `nfft` and `infft` and general improvement to documentation of data.
- Fixed a bug in create_time_series
Colm Talbot's avatar
Colm Talbot committed
655 656 657
- Enable marginalisation over calibration uncertainty in Inteferemeter data.
- Fixed the normalisation of the marginalised `GravtitationalWaveTransient` likelihood.
- Fixed a bug in the detector response.
Gregory Ashton's avatar
Gregory Ashton committed
658

Gregory Ashton's avatar
Gregory Ashton committed
659 660
## [0.2.0] 2018-06-17

Colm Talbot's avatar
Colm Talbot committed
661
First `pip` installable version https://pypi.org/project/BILBY/ .
Gregory Ashton's avatar
Gregory Ashton committed
662 663

### Added
Colm Talbot's avatar
Colm Talbot committed
664
- Reoriganisation of the directory into `bilby.core` and `bilby.gw`.
Gregory Ashton's avatar
Gregory Ashton committed
665 666 667 668
- Reading of frame files.
- Major effort to update all docstrings and add some documentation.
- Marginalized likelihoods.
- Examples of searches for gravitational waves from a Supernova and using a sine-Gaussian.
669
- A `PriorSet` to handle sets of priors and allows reading in from a standardised prior file (see https://lscsoft.docs.ligo.org/bilby/prior.html).
Gregory Ashton's avatar
Gregory Ashton committed
670 671 672 673
- A standardised file for storing detector data.

### Removed
- All chainconsumer dependency as this was causing issues.