黑蛋知道可以藉由GWpy套件取得重力波事件列表後,開始著手開發「重力波資料分析app」的「重力波事件列表」頁面。因客戶想要套用相同版型,他先仿照「太陽系外行星資料分析app」的多頁架構 ,在Home.py放置app首頁內容,而其他頁面所屬的Python scripts則放到pages資料夾內。
他在02_Gravitational_wave_event_table.py這個Python script內,呼叫已定義好、配有快取機制的函式get_gw_event_table_by_gwpy(),以便回傳藉由GWpy套件取得的重力波事件列表,並且用第三方Streamlit擴充元件streamlit-aggrid呈現表格,欄位有:「事件名稱」、「觀測到緻密星體合併事件的時間(GPS時間系統)」、「緻密星體1的質量(單位:太陽質量)」、「緻密星體2的質量(單位:太陽質量)」、「與地球的距離(單位:百萬秒差距)」。
「所以……到底什麼是重力波?緻密星體是什麼?那個GPS時間系統又是什麼鬼?」因為之前有開發過系外行星距離單位轉換功能的經驗,黑蛋略懂秒差距這個距離單位,但對其餘的欄位名稱感到陌生,於是他詢問Google大神。
當他看完「三分鐘搞懂重力波」這個由臺北天文館前小編翻譯的影片,以及重力波開放科學中心網站提供的卡通解說影片後,了解到由黑洞、中子星或白矮星等體積小密度極大的緻密星體所組成的雙星系統,在雙星互繞合併的過程中,造成的彎曲時空變化會產生較容易被觀測到的漣漪:重力波,就像放在彈跳床上的兩個保齡球會造成彈跳床凹陷,且互繞時會讓彈跳床表面產生波動。而GPS時間系統是指從1980年1月6日午夜開始起算的秒數,重力波開放科學中心網站的「UTC/GPS Time Converter」頁面有提供將GPS時間系統轉換成世界協調時間(UTC)的功能。
「喔……所以,人類首次直接探測到的重力波源、列在重力波事件列表的第一筆事件GW150914,它是由兩個質量分別比太陽大上35.6及30.6倍的黑洞合併所產生的重力波事件,於2015年9月14日9點50分45秒(UTC)被觀測到。」黑蛋喃喃自語說。
此系列文由蘇羿豪撰寫,以「創用CC 姓名標示 4.0(CC BY 4.0)國際版授權條款」釋出。另外附上此文所提及的重力波資料分析app以及完整程式碼連結。