gwastro / sbank

GNU General Public License v2.0
4 stars 14 forks source link

sbank error #28

Closed MariaAssiduo closed 2 years ago

MariaAssiduo commented 3 years ago

I tried to use the IMRPhenomPv2 waveforms for the construction of a BBH precessing-spins template bank in the mass range m1 = m2 = [3, 200] solar masses. The starting values for coarse-match-df and iterative-match-df-max in the sbank configuration file .ini were 4.0 respectively, with f_low=23 Hz and min-match=0.90. I am using the latest version of sbank (v0.0.3). I got the following error:

Traceback (most recent call last):
  File "/home/maria.assiduo/gwastro4/sbank_Python3/bin/sbank", line 543, in <module>
    match, matcher = bank.covers(tmplt, opts.match_min)
  File "/home/maria.assiduo/gwastro4/sbank_Python3/lib/python3.6/site-packages/sbank/bank.py", line 226, in covers
    raise ValueError(err_msg)
ValueError: Match is 0. This might indicate that you have the df value too high. Please try setting the coarse-value-df value lower.

Then, I lowered the values of coarse-match and iterative-match in a first tentative to 2.0 and in a second tentative in 1.0, but I got the SAME error message in both cases. Also, I tried to run the following tests lowering the BBH mass range, which failed with the SAME Error message: 1) BBH - IMRPhenomPv2 m1 = m2 = [5- 125] 𝑀_ʘ
f_low = 15 Hz coarse-match-df= 1.0 iteractive-match-df-max = 1.0

2) BBH - IMRPhenomPv2 m1 = m2 = [10 - 150] 𝑀_ʘ f_low = 15 Hz coarse-match-df = 1.0 iteractive-match-df-max = 1.0

I tried to re-run the tests by commenting coarse-match and iterative-match lines code, but i got the SAME Error message. Any suggestion on how to resolve this? However, I successfully obtained a precessing-spins BBH template bank in the mass range m1 = m2 = [10- 100] 𝑀_ʘ, f_low=23 Hz, coarse-match-df=4.0, iterative-match-df-max=8.0.

spxiwh commented 3 years ago

@MariaAssiduo We encountered this when writing our paper with Steve Privitera and Alessandra a number of years back. I suspect this is because the waveform only covers a very narrow range of frequency and so the code does something weird if there is only 1 (or 0) non-zero points in the frequency series. I think we used a value of 0.5 for the iterative-match-df-max .... You can turn this option off, but it will impact performance at low masses.

A potential solution for this might be for the code not to fail at this point, but reduce the df used by a factor of 2 and try again. Do you want to give that a go?

MariaAssiduo commented 3 years ago

Thank you for answering. I am not sure for which mass parameters of the bank I should try to lower the iterative-match-df -max = 0.5 (coarse-match=0.5 too?). In the issue I mentioned 3 tests which failed: 1) m1=m2= [3, 200] M_s ; f_low= 23 Hz 2) m1=m2= [5, 125] M_s ; f_low=15 Hz 3)  m1=m2= [10, 150] M_s ; f_low=15 Hz Thanks

MariaAssiduo commented 3 years ago

I tried to re-run the 3 banks with coarse-match-df = 0.5 and iterative-match-df-max= 0.5. All the 3 tests failed. Only the first bank m1=m2= [3, 200] M_s ; f_low= 23 Hz gave a different error message: ValueError: waveform has length greater than ASD; cannot whiten

Should I try to use a different precessing-spin waveforms family, such as SEOBNRv4P ?

spxiwh commented 3 years ago

@MariaAssiduo What happens if the coarse-match-df = 0.5 and iterative-match-df-max= 0.5 options are removed?

SEOBNRv4P could be used, but it is slow to generate and I don't think it will be usable if the template bank is larger than O(1000) templates. Other Phenom waveform models could be used (or things like the NR surrogate waveforms). The current approach does assume that only a 2,2 mode is present, which is not the case for many of the newer waveforms.

I might suggest starting with a much more restricted mass range (even the small range we used in our paper with Privitera and Buonanno required a significant number of templates). Some of the mass ratios here are very large and trying to cover even 10:1 ratios in this way will possibly require huge numbers of templates.

MariaAssiduo commented 3 years ago

I already tried to run the banks without those options, they failed. As I explained in the first comment.

I succesfully obtained a precessing-spins BBH template bank with the wfs IMRPhenomPv2 in the mass range m1 = m2 = [10- 100] 𝑀_ʘ, f_low=23 Hz, coarse-match-df=4.0, iterative-match-df-max=8.0. Then, I studied some properties, such as the plots cosenthetaJL-cosenthetaJN-match and others with a Python script written by myself.

I did first [say test A] a study of the same plots for an aligned-spin bank (IMRPhenomD) with precessing injections (IMRPhenonPv2) with the same mass-range parameters (10-100)M_sun , and second [say test B] with an aligned-spin bank (SEOBNRv4_ROM) with precessing injections (IMRPhenomPv2) in the mass range (3-200)M_sun.

Now [say test C] my purpose was to obtain a precessing-spin bank with the same mass parameters of the test [B] and study the same plots for comparison.

I will check what wfs could I use with my supervisor. Thanks a lot.