Use time-domain waveforms for bank generation#5227
Conversation
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| parser.add_argument('--minimal-match', default=0.97, type=float) | ||
| parser.add_argument('--buffer-length', default=2, type=float, | ||
| help='size of waveform buffer in seconds') | ||
| parser.add_argument('--use-td-waveform', action='store_true', |
There was a problem hiding this comment.
I think it would be better to remove the option and have the code handle the waveform generation internally. So if the approximant is TD use the time domain waveform, if the approximant is in fd_approximants use the frequency domain handling.
There was a problem hiding this comment.
@kkacanja The pycbc_brute_bank code already handles this automatically. The --use-td-waveform option would simply force the code to use time-domain waveforms exclusively, which can be useful for faster bank generation.
|
@Kanchan-05 You need to rebase this. |
a49d120 to
35792a6
Compare
|
@Kanchan-05 Please rebase this so we can get it merged. |
35792a6 to
6a949f3
Compare
A support for generating template banks using time-domain waveforms
This feature extends pycbc_brute_bank to allow users to generate template banks using time-domain (TD) waveform models.
This change affects: the offline search
This change changes: documentation, scientific output
Motivation
The main motivation for this feature is that several waveform families either lack faster frequency-domain implementations or are substantially more accurate when evaluated in the time domain. Because the pycbc_brute_bank code computes matches in the frequency domain, TD waveforms must be converted before overlaps can be calculated. Using TD waveforms requires an additional step where the generated time-series waveform is converted to the frequency domain using the get_fd_waveform_from_td function in waveform.py, before the match calculation is done. This step conversion step introduces additional computational cost, and in some cases (eg. SEOBNRv5HM) may dominate the overall runtime of the bank generation process.
This PR implements the TD-to-FD conversion internally using a straightforward FFT-based calculation.