Error(s) when using aligned spin waveforms
I am doing some runs using the aligned spin waveform SEOBNRv4_ROM
I originally ran with something like this .prior (with help from Isobel)
mass_1 = Uniform(name='mass_1', minimum=10, maximum=100, unit='$M_{\\odot}$')
mass_2 = Uniform(name='mass_2', minimum=10, maximum=100, unit='$M_{\\odot}$')
a_1 = bilby.gw.prior.AlignedSpin(a_prior=Uniform(0, 0.99), z_prior=Uniform(-1, 1), name='chi_1', latex_label='$\\chi_1$')
a_2 = bilby.gw.prior.AlignedSpin(a_prior=Uniform(0, 0.99), z_prior=Uniform(-1, 1), name='chi_2', latex_label='$\\chi_2$')
tilt_1 = 0 #Sine(name='tilt_1')
tilt_2 = 0 #Sine(name='tilt_2')
phi_12 = Uniform(name='phi_12', minimum=0, maximum=2 * np.pi)
phi_jl = Uniform(name='phi_jl', minimum=0, maximum=2 * np.pi)
# Here we use a luminosity distance consistent with LAL analyses for comparison.
luminosity_distance = bilby.core.prior.PowerLaw(alpha=2, name='luminosity_distance', minimum=1000, maximum=7000, unit='Mpc', latex_label='$d_L$')
dec = Cosine(name='dec')
ra = Uniform(name='ra', minimum=0, maximum=2 * np.pi)
iota = Sine(name='iota')
psi = Uniform(name='psi', minimum=0, maximum=np.pi)
phase = Uniform(name='phase', minimum=0, maximum=2 * np.pi)
which fails after the nested sampling (generating posterior samples) with:
37003: n: 843 acc:0.008 sub_acc:0.008 H: 12.09 logL 25.97719 --> 26.30579 dZ: 0.100 logZ: 11.067 logLmax: 26.88
^MSampler process 6859: MCMC samples accumulated = 0
Sampler process 6859 - mean acceptance 0.028: exiting
04:30 bilby INFO : Sampling time: 8:38:39.745559
XLAL Error - XLALSimInspiralTransformPrecessingNewInitialConditions: chi1,2=0 must be between 0 and 1, values -0.6812 -- -0.0062 passed.
XLAL Error - XLALSimInspiralTransformPrecessingNewInitialConditions (LALSimInspiral.c:4315): Invalid argument
Traceback (most recent call last):
File "/home/simon.stevenson/anaconda3/bin/bilby_pipe_analysis", line 11, in <module>
load_entry_point('bilby-pipe==0.0.3', 'console_scripts', 'bilby_pipe_analysis')()
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby_pipe-0.0.3-py3.6.egg/bilby_pipe/data_analysis.py", line 293, in main
analysis.run_sampler()
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby_pipe-0.0.3-py3.6.egg/bilby_pipe/data_analysis.py", line 272, in run_sampler
**self.sampler_kwargs
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/core/sampler/__init__.py", line 185, in run_sampler
conversion_function=conversion_function)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/core/result.py", line 896, in samples_to_posterior
data_frame = conversion_function(data_frame, likelihood, priors)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/conversion.py", line 693, in generate_all_bbh_parameters
likelihood=likelihood, priors=priors)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/conversion.py", line 660, in _generate_all_cbc_parameters
output_sample = generate_spin_parameters(output_sample)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/conversion.py", line 799, in generate_spin_parameters
output_sample = generate_component_spins(output_sample)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/conversion.py", line 854, in generate_component_spins
output_sample['reference_frequency'], output_sample['phase'])
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/numpy/lib/function_base.py", line 2755, in __call__
return self._vectorize_call(func=func, args=vargs)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/numpy/lib/function_base.py", line 2825, in _vectorize_call
ufunc, otypes = self._get_ufunc_and_otypes(func=func, args=args)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/numpy/lib/function_base.py", line 2785, in _get_ufunc_and_otypes
outputs = func(*inputs)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/conversion.py", line 97, in transform_precessing_spins
reference_frequency, phase))
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/utils.py", line 734, in lalsim_SimInspiralTransformPrecessingNewInitialConditions
return lalsim.SimInspiralTransformPrecessingNewInitialConditions(*args_list)
RuntimeError: Invalid argument
@colm.talbot suggested that I get rid of the unnecessary spin parameters and change the a_i
to chi_i
as
# These are the priors for analysing GW150914.
mass_1 = Uniform(name='mass_1', minimum=10, maximum=80, unit='$M_{\\odot}$')
mass_2 = Uniform(name='mass_2', minimum=10, maximum=80, unit='$M_{\\odot}$')
chi_1 = bilby.gw.prior.AlignedSpin(a_prior=Uniform(0, 0.99), z_prior=Uniform(-1, 1), name='chi_1', latex_label='$\\chi_1$')
chi_2 = bilby.gw.prior.AlignedSpin(a_prior=Uniform(0, 0.99), z_prior=Uniform(-1, 1), name='chi_2', latex_label='$\\chi_2$')
# Here we use a luminosity distance consistent with LAL analyses for comparison.
luminosity_distance = bilby.core.prior.PowerLaw(alpha=2, name='luminosity_distance', minimum=1e2, maximum=2000, unit='Mpc', latex_label='$d_L$')
dec = Cosine(name='dec')
ra = Uniform(name='ra', minimum=0, maximum=2 * np.pi)
iota = Sine(name='iota')
psi = Uniform(name='psi', minimum=0, maximum=np.pi)
phase = Uniform(name='phase', minimum=0, maximum=2 * np.pi)
geocent_time = Uniform(1126259462.322, 1126259462.522, name='geocent_time', unit='$s$')
which resulted in the following error at the start of the analysis
20:24 bilby INFO : geocent_time = Uniform(minimum=1126259462.341, maximum=1126259462.441, name='geocent_time', latex_label='$t_c$', unit='$s$')
XLAL Error - XLALSimInspiralChooseFDWaveform: Non-zero transverse spins were given, but this is a non-precessing approximant.
XLAL Error - XLALSimInspiralChooseFDWaveform (LALSimInspiral.c:1442): Invalid argument
Traceback (most recent call last):
File "/home/simon.stevenson/anaconda3/bin/bilby_pipe_analysis", line 11, in <module>
load_entry_point('bilby-pipe==0.0.3', 'console_scripts', 'bilby_pipe_analysis')()
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby_pipe-0.0.3-py3.6.egg/bilby_pipe/data_analysis.py", line 363, in main
analysis.run_sampler()
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby_pipe-0.0.3-py3.6.egg/bilby_pipe/data_analysis.py", line 342, in run_sampler
**self.sampler_kwargs
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/core/sampler/__init__.py", line 138, in run_sampler
**kwargs)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/core/sampler/base_sampler.py", line 108, in __init__
self._verify_parameters()
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/core/sampler/base_sampler.py", line 247, in _verify_parameters
self.likelihood.log_likelihood()
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/likelihood.py", line 230, in log_likelihood
return self.log_likelihood_ratio() + self.noise_log_likelihood()
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/likelihood.py", line 161, in log_likelihood_ratio
self.waveform_generator.frequency_domain_strain(self.parameters)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/waveform_generator.py", line 114, in frequency_domain_strain
transformed_model_data_points=self.time_array)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/waveform_generator.py", line 151, in _calculate_strain
model_strain = self._strain_from_model(model_data_points, model)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/waveform_generator.py", line 160, in _strain_from_model
return model(model_data_points, **self.parameters)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/source.py", line 105, in lal_binary_black_hole
waveform_dictionary, approximant)
File "/home/simon.stevenson/anaconda3/lib/python3.6/site-packages/bilby-0.4.0-py3.6.egg/bilby/gw/utils.py", line 770, in lalsim_SimInspiralChooseFDWaveform
waveform_dictionary, approximant)
RuntimeError: Invalid argument
How do I correctly perform PE with an aligned spin waveform?