Higher order modes
This MR has two small updates and one bigger added feature.
Small updates:
- The
FileNotFoundError
ingw/utils.py
has been changed to anIOError
for compatibility with python2. - The
gw_data_find
function now queries the environment variableLIGO_DATAFIND_SERVER
for whichever cluster you're running on and passes that as an argument. This fixed a bug when submitting GraceDB trigger jobs to condor, since it can't automatically determine the server like it does on the head node.
Major update:
I have added support for running with higher order modes. This consisted of adding some new waveform_arguments
like pn_amplitude_order
and pn_amplitude_phase_order.
After consulting with @cjhaster we decided the best defaults would be to keep whatever LAL uses in the lal.CreateDict()
command for everything except pn_amplitude_order
, which is set to 0 by default. I have added these defaults to each of the binary source functions, so there will be no change in the required user inputs. This gives the user the flexibility to decide which modes they want, instead of using all of the available modes for a given waveform, as was the default previously.
I have also added a function to calculate the lower starting frequency to use in the waveform calculation. In order for the HOM effects to be included at the minimum_frequency
you want to use in your likelihood, you need to start your waveform at a lower frequency depending on the number of the amplitude modes you want to use. This function was adapted from the corresponding version in LALSimulation (check the doc string).
I've tested these changes both with a higher order mode waveform and with the standard fast_tutorial
to make sure nothing basic had broken.