PESummary issueshttps://git.ligo.org/lscsoft/pesummary/-/issues2019-06-05T22:42:06Zhttps://git.ligo.org/lscsoft/pesummary/-/issues/3fix search.js2019-06-05T22:42:06ZCharlie Hoyfix search.jsFix the search.js script so the user can use the search bar to navigate through the webpage. It should be able to:
* suggest webpages if the user misspelt their entry. For instance, if they write `masd1`, then it would suggest `mass1`....Fix the search.js script so the user can use the search bar to navigate through the webpage. It should be able to:
* suggest webpages if the user misspelt their entry. For instance, if they write `masd1`, then it would suggest `mass1`.
* if the user suggested a page that does not exist (for instance `q`), then it should return a list of webpages that currently exist.Future-requestEdward Fauchon-JonesEdward Fauchon-Joneshttps://git.ligo.org/lscsoft/pesummary/-/issues/23Update the --dump option2019-06-05T22:42:17ZCharlie HoyUpdate the --dump optionThe webpage produced from `--dump` needs to be updated.The webpage produced from `--dump` needs to be updated.Future-requestCharlie HoyCharlie Hoyhttps://git.ligo.org/lscsoft/pesummary/-/issues/42Add chat tab2019-06-05T22:43:13ZCharlie HoyAdd chat tabCameron Mills thinks that it would be nice to have a separate tab (or somewhere on the webpage) where you can have a live chat with other scientists to describe some of the features on the webpage. This is such that if you see a feature ...Cameron Mills thinks that it would be nice to have a separate tab (or somewhere on the webpage) where you can have a live chat with other scientists to describe some of the features on the webpage. This is such that if you see a feature that seems strange, you can write this in this live chat, so other scientists can answer your questions or make note of your observations.Future-requestCharlie HoyCharlie Hoyhttps://git.ligo.org/lscsoft/pesummary/-/issues/71Large corner plots appear pixlated2019-06-05T22:44:14ZColm Talbotcolm.talbot@ligo.orgLarge corner plots appear pixlatedI tried making quite a large corner plot (all the mass parameters) and the result (attached) is super pixelated.
https://geo2.arcca.cf.ac.uk/~c1737564/LVC/projects/pesummary/issue62/html/H1_L1_IMRPhenomPv2_corner.html
![image](/uploads...I tried making quite a large corner plot (all the mass parameters) and the result (attached) is super pixelated.
https://geo2.arcca.cf.ac.uk/~c1737564/LVC/projects/pesummary/issue62/html/H1_L1_IMRPhenomPv2_corner.html
![image](/uploads/76f8e16c7084b4dc2a2d13b63544013d/image.png)v0.1.7https://git.ligo.org/lscsoft/pesummary/-/issues/136Add 90% contours to residual plots2019-11-09T01:02:09ZCharlie HoyAdd 90% contours to residual plotsAt the moment PESummary can generate residual plots where the maxL waveform is plotted on top of the real gravitational wave strain (see [here](https://ldas-jobs.ligo.caltech.edu/~cbc/pe/bilby_lalinference_comparison/GW150914/nest_vs_mcm...At the moment PESummary can generate residual plots where the maxL waveform is plotted on top of the real gravitational wave strain (see [here](https://ldas-jobs.ligo.caltech.edu/~cbc/pe/bilby_lalinference_comparison/GW150914/nest_vs_mcmc_vs_bilby/plots/LALInferenceMCMC_strain.png) as an example). The function that generates this plot is [here](https://git.ligo.org/lscsoft/pesummary/blob/master/pesummary/gw/plots/plot.py#L925). However it would be better if it plotted the maxL waveform, with the 90% confidence region highlighted. This is already done in `bilby`. See https://git.ligo.org/lscsoft/bilby/blob/master/bilby/gw/result.py#L243 for details.https://git.ligo.org/lscsoft/pesummary/-/issues/153detchar in PESummary2019-10-30T14:51:55ZVivien Raymonddetchar in PESummary@charlie.hoy thanks for adding the scans in !143 . I think in addition we should have:
* [ ] logic so that if the spread in mean(t_c) between different input runs is larger than the segment length (indicating those are not ran on the s...@charlie.hoy thanks for adding the scans in !143 . I think in addition we should have:
* [ ] logic so that if the spread in mean(t_c) between different input runs is larger than the segment length (indicating those are not ran on the same data), separate scans are created
* [ ] get feeback from @jessica.mciver, @laura-nuttall, @duncanmmacleod about what could be useful (but not redundant).Charlie HoyCharlie Hoyhttps://git.ligo.org/lscsoft/pesummary/-/issues/168Change command line options2020-01-24T12:21:28ZCharlie HoyChange command line optionsAt the moment arguments are passed to PESummary in the following format:
```bash
$ summarypages --labels one two --samples example.hdf5 example2.hdf5 \
--psd H1:IFO0_psd.dat L1:IFO1_psd.dat H1:IFO0_psd.dat L1:IFO2_psd.dat...At the moment arguments are passed to PESummary in the following format:
```bash
$ summarypages --labels one two --samples example.hdf5 example2.hdf5 \
--psd H1:IFO0_psd.dat L1:IFO1_psd.dat H1:IFO0_psd.dat L1:IFO2_psd.dat
```
However, I am thinking that maybe there is a better way of passing the arguments to PESummary from the command line. Perhaps something like:
```bash
$ summarypages --labels one two --one_samples example.hdf5 --two_samples example2.hdf5 \
--one_psd H1:IFO0_psd.dat L1:IFO1_psd.dat --two_psd L1:IFO1_psd.dat V1:IFO2_psd.dat
```
The advantage of this new way of passing the command line arguments is that it is clearer which arguments are for which label. Also it allows you to pass different sets of psds for different labels which is currently not possible. @vivien @cjhaster @virginia.demilio @joseph.mills thoughts?https://git.ligo.org/lscsoft/pesummary/-/issues/180Documentation: some basics on waveforms and their interaction with PE2020-02-17T14:24:52ZCharlie HoyDocumentation: some basics on waveforms and their interaction with PE@chris-pankow has made a nice python notebook which explains some basics on waveforms and their interaction with PE.
https://github.com/cpankow/gw_da_tutorials/blob/master/notebooks/PE%20parameters.ipynb
This would be nice to add to t...@chris-pankow has made a nice python notebook which explains some basics on waveforms and their interaction with PE.
https://github.com/cpankow/gw_da_tutorials/blob/master/notebooks/PE%20parameters.ipynb
This would be nice to add to the PESummary docs.https://git.ligo.org/lscsoft/pesummary/-/issues/200'Reproduction' page on pesummary web view2020-08-12T15:27:36ZDuncan Macleodduncan.macleod@ligo.org'Reproduction' page on pesummary web viewIt would be great to have a page on the pesummary results for an event that details how to 'exactly' (as close as can be) reproduce the samples for a given event, this would necessarily include
- the configuration file given as input to...It would be great to have a page on the pesummary results for an event that details how to 'exactly' (as close as can be) reproduce the samples for a given event, this would necessarily include
- the configuration file given as input to the sampler
- a conda environment file (generated via `conda env export`) or a pip requirements file (generated via `pip freeze`) to recreate the runtime environment
- instructions on how to create the environment, then call `summaryrecreate` or similar to rerun the analysis
This would be a fantastic addition to our public data releases, so I'm happy to help make this happen.
Note that a conda environment package record can be spoofed, sort of, by manually compiling extra components and installing them into the environment, so it would be important to include some logic to verify that the conda package version for, say, `lalinference`, is actually what was installed. Something like the following might work:
```python
from lalinference import git_version as lalinference_version
if lalinference_version.tag is None:
print("This analysis was not generated from an official release of lalinference, and cannot be reproduced.")
```
I presume there would be something similar available for `bilby`.https://git.ligo.org/lscsoft/pesummary/-/issues/208summaryrecreates config file2020-07-21T10:29:39ZVivien Raymondsummaryrecreates config fileIs seems that when recreating a run with summaryrecreates, the config file given to the summarypages executable at the end of the pipeline is the original one and not the ones actually ran with...Is seems that when recreating a run with summaryrecreates, the config file given to the summarypages executable at the end of the pipeline is the original one and not the ones actually ran with...https://git.ligo.org/lscsoft/pesummary/-/issues/226summarycombine: Only save one copy of PSD and calibration envelope files when...2021-05-07T22:27:51ZNathan Johnson-McDanielsummarycombine: Only save one copy of PSD and calibration envelope files when they're the same for multiple runsWhen multiple runs are combined with `summarycombine` that have the same PSD and calibration envelope files, these files are currently duplicated--see, e.g., [the calibration files](https://ldas-jobs.ligo.caltech.edu/~aditya.vijaykumar/p...When multiple runs are combined with `summarycombine` that have the same PSD and calibration envelope files, these files are currently duplicated--see, e.g., [the calibration files](https://ldas-jobs.ligo.caltech.edu/~aditya.vijaykumar/projects/IMRTGR/O3/summaries_test/S190408an/PhenomPv2/calibration/) for one of the O3a IMR consistency test runs. While these files are not very large, it still seems preferable to only store a single copy, if possible.Charlie HoyCharlie Hoyhttps://git.ligo.org/lscsoft/pesummary/-/issues/230Documentation for `--gw` option under `summarypages` needs improvement2020-11-17T11:03:52ZAditya Vijaykumaraditya.vijaykumar@ligo.orgDocumentation for `--gw` option under `summarypages` needs improvementThe documentation for the `--gw` option under `summarypages` is not very clear, and does not say what exactly the option does. It would be nice to have more detailed documentation for the same.The documentation for the `--gw` option under `summarypages` is not very clear, and does not say what exactly the option does. It would be nice to have more detailed documentation for the same.https://git.ligo.org/lscsoft/pesummary/-/issues/248Redesign remnant command line arguments2023-11-14T11:54:59ZCharlie HoyRedesign remnant command line argumentsRather than having `--NRSur_fits`, `--evolve` and `--waveform_fits` to describe the different techniques for calculating the remnant properties, I am thinking that it might be better/clearer to replace these with the single `--remnant_fi...Rather than having `--NRSur_fits`, `--evolve` and `--waveform_fits` to describe the different techniques for calculating the remnant properties, I am thinking that it might be better/clearer to replace these with the single `--remnant_fits` flag. `--NRSur_fits` can then be replaced with `--remnant_fits NRSurrogate`, `--evolve` can then be replaced with `--remnant_fits evolve_spins`, `--waveform_fits` can be replaced with `--remnant_fits waveform` or something similar. Any kwargs (like NRSurrogateRemnantModel used) can then be provided via the `--remnant_fits_kwargs`. What do you think @nathan-johnson-mcdaniel, @david-keitel?https://git.ligo.org/lscsoft/pesummary/-/issues/250Return `pesummary.{}.file.formats.default.MultiAnalysisDefault` object when m...2021-01-07T23:28:53ZCharlie HoyReturn `pesummary.{}.file.formats.default.MultiAnalysisDefault` object when multiple posterior tables are presentCurrently, if multiple posterior tables are present in a result file, the `pesummary.io.read` function returns an error saying:
```
Exception: Failed to read data for file because: Found multiple posterior sample tables:
... Not sure w...Currently, if multiple posterior tables are present in a result file, the `pesummary.io.read` function returns an error saying:
```
Exception: Failed to read data for file because: Found multiple posterior sample tables:
... Not sure which to load.
```
This can be avoided by specifying the posterior table you wish to load via the `path_to_samples` kwarg. However, now that we have the functionality to extract multiple analyses with the `pesummary.core.file.formats.default.MultiAnalysisDefault` class, I think it would be good to return an instance of this object rather than raising the error. This is related to #249.https://git.ligo.org/lscsoft/pesummary/-/issues/252Add units for standard parameters2021-01-08T21:05:12ZJonah KannerAdd units for standard parametersThe documentation of standard parameters is very helpful!
https://lscsoft.docs.ligo.org/pesummary/unstable_docs/gw/parameters.html
But, a user can't tell the units for parameters, which is often the most important piece of information....The documentation of standard parameters is very helpful!
https://lscsoft.docs.ligo.org/pesummary/unstable_docs/gw/parameters.html
But, a user can't tell the units for parameters, which is often the most important piece of information. Is "luminosity distance" measured in meters or GPc? What about mass? etc.https://git.ligo.org/lscsoft/pesummary/-/issues/254disable_remnant=True,disable_prior_sampling=True ignored (for bilby)?2021-04-20T11:02:41ZDavid Keiteldavid.keitel@ligo.orgdisable_remnant=True,disable_prior_sampling=True ignored (for bilby)?With current master (ed582027f7810af0bddd1b628332550c045d097d), if I load a pBilby (d9725af) file it seems to ignore both the `disable_prior_sampling=True` and `disable_remnant=True` options:
```
>>> from pesummary.io import read
>>> d=...With current master (ed582027f7810af0bddd1b628332550c045d097d), if I load a pBilby (d9725af) file it seems to ignore both the `disable_prior_sampling=True` and `disable_remnant=True` options:
```
>>> from pesummary.io import read
>>> d=read("merged_result.json",disable_remnant=True,disable_prior_sampling=True)
DEBUG: pycondor - PESummary : Drawing prior samples from bilby result file
DEBUG: pycondor - PESummary : PESummary does not have a 'standard name' for the following parameters:
[...]
DEBUG: pycondor - PESummary : Starting to generate all derived posteriors
2021-01-18 11:58:13 PESummary WARNING : The redshift is being approximated using interpolation. Bear in mind that this does introduce a small error.
WARNING: pycondor - PESummary : The redshift is being approximated using interpolation. Bear in mind that this does introduce a small error.
2021-01-18 11:58:20 PESummary WARNING : Could not find reference_frequency in input file. Using 20Hz as default
WARNING: pycondor - PESummary : Could not find reference_frequency in input file. Using 20Hz as default
bbh_final_spin_precessing_HBR2016(): The argument of the square root is -0.000408; truncating it to zero.
2021-01-18 12:04:00 PESummary INFO : Averaging the final spin from the following fits: function bbh_final_spin_precessing_projected_UIB2016 at 0x7fdb7fe1a8b0, function bbh_final_spin_precessing_projected_Healyetal at 0x7fdb7fe1a820, function bbh_final_spin_precessing_HBR2016 at 0x7fdb7fe1a940
INFO: pycondor - PESummary : Averaging the final spin from the following fits: function bbh_final_spin_precessing_projected_UIB2016 at 0x7fdb7fe1a8b0, function bbh_final_spin_precessing_projected_Healyetal at 0x7fdb7fe1a820, function bbh_final_spin_precessing_HBR2016 at 0x7fdb7fe1a940
2021-01-18 12:04:01 PESummary INFO : Averaging the peak luminosity from the following fits: function bbh_peak_luminosity_non_precessing_UIB2016 at 0x7fdb7fe1aa60, function bbh_peak_luminosity_non_precessing_Healyetal at 0x7fdb7fe1aaf0
INFO: pycondor - PESummary : Averaging the peak luminosity from the following fits: function bbh_peak_luminosity_non_precessing_UIB2016 at 0x7fdb7fe1aa60, function bbh_peak_luminosity_non_precessing_Healyetal at 0x7fdb7fe1aaf0
2021-01-18 12:08:07 PESummary INFO : Averaging the final mass from the following fits: function bbh_final_mass_non_precessing_UIB2016 at 0x7fdb7fe1a3a0, function bbh_final_mass_non_precessing_Healyetal at 0x7fdb7fe1a1f0
INFO: pycondor - PESummary : Averaging the final mass from the following fits: function bbh_final_mass_non_precessing_UIB2016 at 0x7fdb7fe1a3a0, function bbh_final_mass_non_precessing_Healyetal at 0x7fdb7fe1a1f0
```
In this case the prior step seemed pretty fast, so I'm not sure if it's actually drawing anything or just erroneously printing that message. Then, the final spin and mass seem instantaneous but the peak luminosity takes a few minutes. (The file has 234k samples.)
Note: Running on two different installations (but same versions), I got the "DEBUG" messages only on one for some reason...
Also, not sure if this is bilby-specific, but that's the only results I've tested.https://git.ligo.org/lscsoft/pesummary/-/issues/258Using a better spin convention for latex labels2021-02-05T00:19:45ZDaniel WysockiUsing a better spin convention for latex labelsA number of spin variables have latex labels defined starting [here](https://git.ligo.org/lscsoft/pesummary/-/blob/8e0d68e904600556df6c72331b0c7f594f5e7695/pesummary/gw/plots/latex_labels.py#L55)
These all use the convention of $`S`$ to...A number of spin variables have latex labels defined starting [here](https://git.ligo.org/lscsoft/pesummary/-/blob/8e0d68e904600556df6c72331b0c7f594f5e7695/pesummary/gw/plots/latex_labels.py#L55)
These all use the convention of $`S`$ to denote spin. This is fine for physical spins, but all PE analyses output dimensionless spins, $`S / m^2`$. Instead the label should either be $`\chi`$ or $`a`$ as is convention. If collaboration papers have finally settled on one convention (need to double-check this) that convention should be used here as well.https://git.ligo.org/lscsoft/pesummary/-/issues/259Improving label choice in summarypublication.py2021-02-02T07:31:55ZDaniel WysockiImproving label choice in summarypublication.pyIn the `read_samples` function, for files encapsulated in a `pesummary.gw.file.formats.pesummary.PESummary` object, the hard-coded behavior when there are multiple analyses is to take whichever has index zero (see [here](https://git.ligo...In the `read_samples` function, for files encapsulated in a `pesummary.gw.file.formats.pesummary.PESummary` object, the hard-coded behavior when there are multiple analyses is to take whichever has index zero (see [here](https://git.ligo.org/lscsoft/pesummary/-/blob/81b8c70ceca840061c388572fa1d58775a33a619/pesummary/cli/summarypublication.py#L109)).
In my own testing with GWTC-2 events, this happens to be `IMRPhenomD` in many if not all cases, which is an aligned-spin approximant. This means, for example, if I wanted to plot (cosine) spin tilt angles `cos_tilt_1` and `cos_tilt_2`, those fields take uninitialized values of zero, as the analysis does not model spin tilts (although I think the values shouldn't actually be zero, see #260).
A more reasonable default would be `PublicationSamples`, as it is meant to be a default. Of course, the file format doesn't guarantee a `PublicationSamples` field will exist, so it's probably best to allow for both user-provided input, as well as default fallback options.https://git.ligo.org/lscsoft/pesummary/-/issues/260Consider initializing spin components for restricted-spin approximants2021-02-02T07:30:56ZDaniel WysockiConsider initializing spin components for restricted-spin approximantsOut of all the spin d.o.f., aligned-spin approximants only produce samples for `spin_1z` and `spin_2z`. Zero-spin approximants don't output samples for any spin parameters. PESummary currently handles this by producing arrays that are ...Out of all the spin d.o.f., aligned-spin approximants only produce samples for `spin_1z` and `spin_2z`. Zero-spin approximants don't output samples for any spin parameters. PESummary currently handles this by producing arrays that are zero for all unmodeled spin values. However, this is not accurate for all parameters.
In aligned-spin approximants: `a_1 = abs(spin_1z)`; `a_2 = abs(spin_2z)`; `cos_tilt_1 = sign(spin_1z)`; `cos_tilt_2 = sign(spin_2z)`; `spin_1x = spin_1y = spin_2x = spin_2y = 0`.
In zero-spin approximants, everything is right to be zero except for `cos_tilt_1` and `cos_tilt_2`, which can take any values, but something like `np.nan` is probably more accurate.https://git.ligo.org/lscsoft/pesummary/-/issues/264Missing config in `summarycombine` of 2 metafiles2021-04-16T16:08:11ZCharlie HoyMissing config in `summarycombine` of 2 metafilesWhen running the following command line:
```bash
summarycombine --webdir ./combined --samples inspiral_posterior_samples.h5 postinspiral_posterior_samples.h5 --gw
```
it seems like the `config` data is not copied over to the combined r...When running the following command line:
```bash
summarycombine --webdir ./combined --samples inspiral_posterior_samples.h5 postinspiral_posterior_samples.h5 --gw
```
it seems like the `config` data is not copied over to the combined result file. For example:
```python
>>> import h5py
>>> f = h5py.File("combined/samples/posterior_samples.h5", "r")
>>> f["Inspiral"]["config_file"]
<HDF5 group "/Inspiral/config_file" (0 members)>
```
This is despite the `Inspiral` result file containing config data:
```python
>>> import h5py
>>> f = h5py.File("inspiral_posterior_samples.h5", "r")
>>> f["Inspiral"]["config_file"]["config"]
<HDF5 group "/Inspiral/config_file/config" (24 members)>
```