Maintenance will be performed on git.ligo.org, containers.ligo.org, and docs.ligo.org on Tuesday 15 April 2025 starting at approximately 9am PDT. It is expected to take around 30 minutes and there will be several periods of downtime throughout the maintenance. Please address any comments, concerns, or questions to the helpdesk.
For bilby, we sample directly in phi_jl (unless otherwise requested). Here is the rabit hole of files you need to go through to see how phi_jl gets used. Each indentation marks a new file.
At this line in the source.py module, we convert that into the spin parameters used by lalsim_SimInspiralChooseFDWaveform usingthe bilby function bilby.gw.conversion.bilby_to_lalsimulation_spins.
bilby.gw.conversion.bilby_to_lalsimulation_spins is defined here which uses the function bilby.gw.conversion.transform_precessing_spins which uses the function bilby.gw.utils.lalsim_SimInspiralTransformPrecessingNewInitialConditions
bilby.gw.utils.lalsim_SimInspiralTransformPrecessingNewInitialConditions is defined here which uses the function lalsim.SimInspiralTransformPrecessingNewInitialConditions
The documentation for lalsim.SimInspiralTransformPrecessingNewInitialConditions can be found here
As far as I can see, bilby does very little with phi_jl at all other than (eventually) pass it to the lalsimulation function, in the correct way.
To my eyes it looks like they differ by pi/2. Can we get someone to comment on how the spin convention works in LI? @cjhaster or @vivien will probably know who to nag?
What version of LALSimulation is used for the Bilby runs?
The LALInference runs were done with the lalinference_o2 convention for the WF parameters, (cf this document by Harald Pfeiffer). That convention ahd a different definition of this conversion (it did not account for the phi_c parameter, since it wasn't very well/consistently defined).
So, if we're to make a direct one-to-one comparison we'll need to runs a LALInference analysis with the "new" WF interface...
Thanks, that makes sense. We aren't currently actively tracking the version of lalsimulation being used, but I would be surprised if it used the O2 convention. Are there scripts to go from one convention to the other?
We should note the lalsimulation version on the review wiki.
I'm not sure, but I don't think so. It's a formal redefinition of the phi_c parameter, and I don't think there is any way to map those definitions onto each other.
@cjhaster , if instead someone where to rerun L.I. for GW150914, is it sufficient to take the ini files for the O2 reruns repo, but just use Soichiro's gwcelery environment that is used by L.I. online? This seems to me the only way to do the comparison, unless anyone has done those reruns?
I think making a new set with the same lalsimulation version that's used in Bilby is the easiest way (the run will be quick, and it'll save us from chasing down some random run. I don't think there's been any "official" reruns on those events yet with the new code).
You'll have to change the ini files, they've changed slightly to the O3 version of the code. So it's probably easiest to take a ini file from the current o3 set, and make sure taht you're using the same data, PSDs and calibraiton uncertanties as was used in the GWTC-1 run. You should also, of course, make sure that you're using the same prior settings betweeen the things you're to compare.