Hi, I have a question about Pycbc. Why are there some fd_approximant that are indicated in the list of fd_approximant but actually do not work? (example:SEOBNRv4_ROM, but also others)
Hi, there could be two possible errors.
-
Add a
import matplotlib.pyplot as plt
that is missing at the beginning of the cell. -
Be careful when copying-pasting from Thinkific to the notebook. Python wants the code to be correctly indented. After the paste, make sure the format of indentation is ok with python. If it is not, you should see that your code editor changes color. If you see nothing, just indent it by yourself to be sure.
Hi,
Here there are multiple answers. When you see an error saying that the waveform model is not available, it means that you should install it in a special way. It might also happen that you see an error saying Generic Failure
, it is possible that there is a conflict with the pycbc and lalsuite installation. Iād suggest trying other versions.
I am currently using the latest version of Pycbc, can you suggest me a page where I can understand how to install the waveform model in a special way or a version of pycbc where thereās no conflict? thanks!
I have a question about the tutorial 1.2 of yesterday.
As far as I understood, the PSD is obtained by considering a large time interval centered in a GW signal and then taking the median of the squared moduli of the corresponding Fourier Transforms.
The resulting curve in frequency domain is called strain noise, right?
But why does such curve represent a noise?
Since we are considering a time interval centered in a GW detection, at each frequency there should be a small contribution due to the GW. Therefore, I expect that such curve represent something like noise+signal. Am I wrong?
I thought that maybe the median procedure and the large time domain considered erase GW contributions and so we are left with noise only. Is this reasonable?
Hi @Gabrielepk, here a link to lalsuite-extra, which should contain the missing files. You can either clone the whole repository or download individual files lscsoft / lalsuite-extra Ā· GitLab. As for myself, I have build in my own lalsuite installation using git and added the path to lalsuite-extra with "export LAL_DATA_PATH=āpath to lalsuite-extra installationā " like explained here Installing lalsuite for PyCBC ā PyCBC 2.2.dev1 documentation .
Regarding tutorial 1.3, how do we know or gain intuition for which range of Q to use? I donāt quite understand why we used large values of Q for GW170817 and much smaller values for GW170814 in the Q-scan challenge
Regarding tutorial 1.4, how would we know the best value of f_lower to use when working with get_td_waveform or get_fd_waveform? What exactly does it mean to indicate a starting GW frequency?
Hi, is there something wrong with this section of the tutorial 1.2?
I canāt open what is in that section but it says that there are 12 cells hidden
Should I ignore it?
While using q_transform function, we define a parameter known as qrange. I played around with that value and I see that the plots change drastically.
Question is I donāt know what is the physical meaning of this parameter. It would be helpful if someone can give me an idea about it or give me some reference to look into
Hi @Arun_KG! There are some cells hidden in your notebook. Click on the arrow on the left of āHandlingā to show them
Hi @lua, this question have been answered in other topics, see e.g. Lecture Questions - Day 2 (2023) - #11 by simone-mastrogiovann . In general you can search for q transform in the upper part (magnification lens icon) to see all the discussions about it.
Hi @lua, the point is that the detector is not really sensible at low frequencies (see PSD or ASD plots), thatās why we are not considering anything below 20 Hz.
Hi @Tonzui, here is a reference: [gr-qc/0412119] Multiresolution techniques for the detection of gravitational-wave bursts
Hi @m.tagliazucchi, in general the power spectral density of a time series describes the power present in the time series as a function of frequency, per unit frequency. Since the strain that we detect is largely dominated by the noise, the PSD describe in practice the frequency distribution of the noise. For the purpose of the tutorial the interval of time you are considering is quite short, but in general, you are right, we tend to use long periods of time to calculate the PSD in order to reduce the fluctuations since you are āintegratingā over a longer period.
Hi, guys. Iām trying to locally run the tutorials on macOS Catalina. Iāve installed the igwn-py39-lw enviroment, followed all the steps carefully. Tutorial 1.2 runs fine up to the code āTimeSeries.fetch_open_data(āL1ā, int(gps)-512, int(gps)+512, cache=True, verbose=True)ā, which hangs for a long time and then gives an error. The code works for a time segment of at most 30 seconds, i.e., if I put from -15 to +15. Longer times give an error. Does anybody know where the problem might be?
Hi @FabioNovaes , ±512 is very expensive computationally speaking, not 100% sure about this but maybe to remove cache=True could help (default is None TimeSeries - GWpy 3.0.1.dev133+geca77515 documentation)
Hi, @virtuoso, thanks for the reply! Unfortunately, not using cache didnāt help. The code hangs even if I put from -16 to +16. Anything above a window of 30 seconds hangs. Maybe this is related to the different files it needs to download (32 seconds vs. 4096 seconds)? Anyway, this seems a very specific problem of my system, so I will post an issue at the gwpy github page to see if they can help me. I will continue the tutorials in Google Colab. Thank you!
@FabioNovaes Thatās interesting!
Iām not sure whatās happening. But, you are right that the fetch_open_data
command decides if it will download a 32 second file or a 4096 second file, with no choices in-between. Maybe the code is encountering either memory limits or band-width limits of your set-up?
In any case, an option is to try using NDS2
instead to access data. Instructions are linked below. For example, for O3 data, you could request channel names like L1:DCS-CALIB_STRAIN_CLEAN_SUB60HZ_C01_AR
chan = L1:DCS-CALIB_STRAIN_CLEAN_SUB60HZ_C01_AR
from gwpy.timeseries import TimeSeries
data = TimeSeries.fetch(chan, start=1240559616, end=1240559626, host='losc-nds.ligo.org')
Thanks, @jonah, that worked for a time larger than 30 seconds! Youāre probably right, it is either memory or bandwith limits. The 1024 window gives an error ātimeout: The read operation timed outā. However, I have a 1TB SSD, 12 GB RAM and a 200 Mbps internet connection. So, itās quite strange. Iām doing some tests to try to figure it out whatās the issue. Thank you for the help!