parallel_bilby_analysis crashes when there is/are delta function(s) in prior
parallel_bilby_analysis
crashes whenever there is/are delta function(s) in the prior (see below as an example). The error is due to the fact that the result
dict in bilby.core.prior.ConditionalPriorDict.rescale()
does not contain the desired keys (the sampling parameters). This can be traced back to the fact that priors._unconditional_keys
and priors._conditional_keys
were not properly populated prior to priors.rescale()
being called by prior_transform_function()
in parallel_bilby. Right now my temporary solution is to manually invoke priors._resolve_conditions()
and that works for me.
11:54 bilby INFO : Setting sampling seed = 394397
11:54 bilby INFO : sampling_keys=['geocent_time']
11:54 bilby INFO : Periodic keys: []
11:54 bilby INFO : Reflective keys: []
11:54 bilby INFO : Using priors:
11:54 bilby INFO : chirp_mass: DeltaFunction(peak=28.1, name=None, latex_label=None, unit=None)
11:54 bilby INFO : mass_ratio: DeltaFunction(peak=0.81, name=None, latex_label=None, unit=None)
11:54 bilby INFO : a_1: DeltaFunction(peak=0.0, name=None, latex_label=None, unit=None)
11:54 bilby INFO : a_2: DeltaFunction(peak=0.0, name=None, latex_label=None, unit=None)
11:54 bilby INFO : tilt_1: DeltaFunction(peak=0.0, name=None, latex_label=None, unit=None)
11:54 bilby INFO : tilt_2: DeltaFunction(peak=0.0, name=None, latex_label=None, unit=None)
11:54 bilby INFO : phi_12: DeltaFunction(peak=0.0, name=None, latex_label=None, unit=None)
11:54 bilby INFO : phi_jl: DeltaFunction(peak=0.0, name=None, latex_label=None, unit=None)
11:54 bilby INFO : luminosity_distance: DeltaFunction(peak=500.0, name=None, latex_label=None, unit=None)
11:54 bilby INFO : dec: DeltaFunction(peak=2.0, name=None, latex_label=None, unit=None)
11:54 bilby INFO : ra: DeltaFunction(peak=0.5, name=None, latex_label=None, unit=None)
11:54 bilby INFO : theta_jn: DeltaFunction(peak=2.4, name=None, latex_label=None, unit=None)
11:54 bilby INFO : psi: DeltaFunction(peak=1.1, name=None, latex_label=None, unit=None)
11:54 bilby INFO : phase: DeltaFunction(peak=4.5, name=None, latex_label=None, unit=None)
11:54 bilby INFO : geocent_time: Uniform(minimum=-0.1, maximum=0.1, name='geocent_time', latex_label='$t_c$', unit='$s$', boundary=None)
11:54 bilby INFO : Resume file /central/groups/RelativityTheory/echoes/parallel_bilby-test/test/test/result/test_0_checkpoint_resume.pickle does not exist.
11:54 bilby INFO : read_saved_state: 0:00:00.001577
11:54 bilby INFO : Initializing sampling points with pool size=1
===========================worker with rank 1 crashed===========================
Traceback (most recent call last):
File "/home/kllo/anaconda3/envs/echoes-o3b/lib/python3.7/site-packages/parallel_bilby/schwimmbad_fast.py", line 96, in init
self.wait()
File "/home/kllo/anaconda3/envs/echoes-o3b/lib/python3.7/site-packages/parallel_bilby/schwimmbad_fast.py", line 196, in wait
result = func(arg)
File "/home/kllo/anaconda3/envs/echoes-o3b/lib/python3.7/site-packages/parallel_bilby/utils.py", line 67, in get_initial_point_from_prior
theta = prior_transform_function(unit)
File "/home/kllo/anaconda3/envs/echoes-o3b/lib/python3.7/site-packages/parallel_bilby/analysis.py", line 375, in prior_transform_function
return priors.rescale(sampling_keys, u_array)
File "/home/kllo/anaconda3/envs/echoes-o3b/lib/python3.7/site-packages/bilby/core/prior/dict.py", line 733, in rescale
return [result[key] for key in keys]
File "/home/kllo/anaconda3/envs/echoes-o3b/lib/python3.7/site-packages/bilby/core/prior/dict.py", line 733, in <listcomp>
return [result[key] for key in keys]
KeyError: 'geocent_time'
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD
with errorcode 0.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
[warn] Epoll MOD(1) on fd 24 failed. Old events were 6; read change was 0 (none); write change was 2 (del): Bad file descriptor
[warn] Epoll MOD(4) on fd 24 failed. Old events were 6; read change was 2 (del); write change was 0 (none): Bad file descriptor