「跟著黑蛋用Streamlit速成天文資料分析Web App」系列文[25]:用GWpy套件取得重力波時間序列觀測資料

PM貳婰舞在他的分享螢幕畫面中操作「Gravitational Wave Quickview app」的同時向黑蛋說明任務:「客戶希望『重力波資料分析』頁面能參考這個app,讓使用者用下拉式選單選擇重力波事件,以呈現該事件的時間序列觀測資料,並能操作基本的資料處理及分析。」

首先,黑蛋要弄清楚這個app是如何取得某個重力波事件的觀測資料,他從該app的原始碼得知,它是使用GWpy套件的TimeSeries.fetch_open_data()功能,且須傳入三個參數:重力波偵測器代號、要取得的觀測資料起始及結束GPS時間。

黑蛋之前曾看過「三分鐘搞懂重力波」這個解說影片,了解到雷射干涉重力波天文台LIGO是利用雷射干涉技術偵測重力波,兩個互相垂直的雷射光束,原本行經距離都一樣,但因為重力波所造成的時空變化,導致兩個光束行經距離有了變化,一邊拉長一邊縮短,進而讓兩束反射回來的雷射光疊加成干涉波,偵測到重力波隨時間的起伏。LIGO有兩座偵測器,分別位於美國華盛頓州的Hanford和路易斯安那州的Livingston,代號各為H1和L1。

接著,黑蛋用以下程式碼,先在Jupyter Notebook上試著呈現GW150914這個重力波事件發生前後15秒的觀測資料。

%matplotlib notebook
from gwpy.timeseries import TimeSeries

detector = 'H1' # 重力波偵測器代號,H1代表位於Hanford的LIGO偵測器,L1代表位於Livingston的LIGO偵測器
gw_event_gps_time = 1126259462.4 # GW150914事件的GPS時間
start_time = gw_event_gps_time - 15
end_time = gw_event_gps_time + 15

gw_event_data = TimeSeries.fetch_open_data(detector, start_time, end_time)
fig = gw_event_data.plot()
fig.show()

此系列文由蘇羿豪撰寫,以「創用CC 姓名標示 4.0(CC BY 4.0)國際版授權條款」釋出。

Subscribe to 天文背包黑客
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.