SlideShare a Scribd company logo
1 of 23
Detecting
gravitational waves
in Python
Duncan Macleod | @duncanmmacleod
Cardiff University | LIGO Scientific Collaboration
1
General Relativity
Einstein’s General theory of Relativity (GR) describes space and time as
connected, and flexible
Mass warps space time more mass -> more warp
Space time affects we call this gravity
how bodies move
T. Pyle, Caltech/MIT/LIGO Lab
2
Gravitational waves
Spacetime is elastic, accelerating
masses create ripples in space-time
We call these gravitational waves
Propagate at speed of light
Simple accelerating system: two
dense objects orbiting each other
Spacetime is 1021 less elastic than diamond
We need extremely massive objects to create even a
tiny gravitational wave amplitude
4
Gravitational-wave detectors
5
Credit: LIGO/T.Pyle
Gravitational-wave detectors
Kilometre-scale
laser interferometers
used to detect tiny
amplitude signal
LIGO (USA) x2
Virgo (Italy)
GEO600 (Germany)
KAGRA (Japan) [~2019]
LIGO India [~2022] Credit: LIGO/Caltech
6
Gravitational-wave detection
Detectors measure gravitational-wave strain in the time-domain
Data stream is searched for transient and long-duration astrophysical signals
• Compact binary mergers
• Unmodelled gravitational-wave bursts
• Asymmetric rotating neutron stars (e.g. pulsars)
• Stochastic gravitational-wave background
Multiple binary mergers detected to date
• GW150914, GW151226, GW170104, GW170814, GW170817
8
Gravitational waves
This is the gravitational-wave signal from a binary merger
9
inspiral
merger
ringdown
Gravitational waves
This is the same signal, but with detector noise overlaid
10
Gravitational waves
If we filter the detector noise, we can extract the signal
11
https://git.io/gwpy-animate-gw150914
Uses of Python in LIGO and Virgo
Historic uses of C and Matlab (and Perl…) for core interferometer
control and signal detection workflows
Python being used increasingly in the Advanced Detector Era:
Guardian
Automated
Interferometer control
GstLAL-Calibration
Real-time
PD readout -> GW strain
GraceDB
Electromagnetic partner notifications
(Incoming and Outgoing)
GstLAL-Inspiral
Searches for binary mergers
(Low-latency and offline)
PyCBC
Searches for binary mergers
(Low-latency and offline)
LALInference
Parameter Estimation
and Signal Localisation
GWpy
General I/O, Signal Processing,
and Visualisation
GWSumm
Daily Detector Performance
and Analysis Summaries
GWDetChar
Detector Characterisation
and Data Quality Studies
GStreamer
Django
Pure-Python
C | SWIG
This is an
incomplete
list!
12
Automated Detector Control
Both LIGO and Virgo use Python state machine called
Guardian to define operating
• Each hardware system defined by ‘node’
• Collection of states with defined transition conditions
• ~80 connected nodes per detector (at LIGO)
• Main ‘locking’ node has 91 states
• Fully automated operation in ~20 minutes
13
Automated Detector Control
14
Low-latency measurement calibration
Prompt detection of gravitational-wave signals enables follow-up with
telescopes to search for electromagnetic counterparts
Requires low-latency calibration and analysis of GW detector data
Detector measurement is displacement [L], need to calibrate to strain [1]
GstLAL-Calibration outputs strain within 5 seconds of acquisition
GStreamer elements with FIR filters
15
Low-latency binary merger searches
Two low-latency data analysis workflows with Python front-ends (at least)
• GstLAL-Inspiral - Gstreamer elements with time-domain filters
• PyCBC-Live - FFT(W) based matched-filtering
Both can post candidates to GraceDB within 1 minute of data acquisition
• Enabled EM follow-up of GW170817
Also run in batch mode, processing weeks of data
• #1 computation code for LIGO/Virgo
16
Same old problems…
The major problem with most code in LIGO is usability, documentation
• Most large code bases are only really usable by insiders
LIGO has single output data stream for analysis
• Searching full parameter space for GW signals is extremely complex
Also ~100,000 auxiliary time streams are needed to establish confidence in
astrophysical origin of signals (i.e. not local noise)
• Knowing where the data are, and how to read them, are still major problems
Need simple usable tools so that scientists don’t waste their time copy/pasting code
without understanding it (or re-writing from scratch)
17
PyCBC
Python based toolkit used in LIGO-Virgo binary merger searches
• Low-latency Analysis
• Offline Analysis
• Parameter estimation (under active development!)
Tools are available for people to use and develop!
• Public management and hosting on github
• https://github.com/ligo-cbc/pycbc
• https://ligo-cbc.github.io/pycbc/latest/html/
• Docker builds available!
• Interactive Jupyter notebooks with library examples
• https://notebooks.azure.com/nitz/libraries/pycbc
18
GWpy
A python package for gravitational-wave astronomy | https://gwpy.github.io
Heavily dependent on numpy, scipy, astropy, matplotlib, etc
Provides intuitive object-orientated methods to access LIGO/Virgo data
(public and restricted), process, and visualise them
19
GWpy
20
GWpy
A few extra lines (mainly figure formatting) give:
21
24 lines of functional code
I/O: 3 SP: 9 Plot: 12
https://git.io/gwpy-gw150914-simple
https://gwpy.github.io/docs/stable/examples/
22
GWpy
23
15 lines of functional code:
I/O: 2 SP:1 Plot: 12
LIGO Open Science Center
LIGO Laboratory working group to coordinate and support open data releases
associated with event publications
• Files hosted in GWF (internal format), HDF5 and ASCII
• https://losc.ligo.org/events
• Data for all 5 published events (so far) + 1 lower-significance candidate
• Entire S6 data set (2009/10)
• Extensive tutorials and Jupyter notebooks describing LIGO data processing
GWpy API trivialises access
Great increase to outreach potential with real code, and real up-to-date data
24
Future developments
All major Python projects mentioned are in active development for the next
observing run (O3, Q4 2018)
GWpy usage growing internally and externally due to intuitive methodology
Further integration with LOSC and PyCBC underway
Expansion of documentation and examples, especially for secondary and
tertiary education, input from students/teachers would be great
All figures/animations for this presentation (except where credited) produced
using open-source code (GWpy) and open data (LOSC)
25

More Related Content

What's hot

Durability Simulator Design for OpenStack Swift
Durability Simulator Design for OpenStack SwiftDurability Simulator Design for OpenStack Swift
Durability Simulator Design for OpenStack SwiftKota Tsuyuzaki
 
Self-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingSelf-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingVasia Kalavri
 
GW170817: Dawn of multi-messenger astronomy
GW170817: Dawn of multi-messenger astronomy GW170817: Dawn of multi-messenger astronomy
GW170817: Dawn of multi-messenger astronomy Amruta Jaodand
 
Global EC Cluster Updates (OpenStack Mitaka Swift Design Summit)
Global EC Cluster Updates (OpenStack Mitaka Swift Design Summit)Global EC Cluster Updates (OpenStack Mitaka Swift Design Summit)
Global EC Cluster Updates (OpenStack Mitaka Swift Design Summit)Kota Tsuyuzaki
 
The Fastest Possible Search Algorithm: Grover's Search and the World of Quant...
The Fastest Possible Search Algorithm: Grover's Search and the World of Quant...The Fastest Possible Search Algorithm: Grover's Search and the World of Quant...
The Fastest Possible Search Algorithm: Grover's Search and the World of Quant...Daniel Austin
 
Cognitive Engine: Boosting Scientific Discovery
Cognitive Engine:  Boosting Scientific DiscoveryCognitive Engine:  Boosting Scientific Discovery
Cognitive Engine: Boosting Scientific Discoverydiannepatricia
 
Quantum Computing Basics
Quantum Computing BasicsQuantum Computing Basics
Quantum Computing BasicsChristian Waha
 
Vector clock algorithm
Vector clock algorithmVector clock algorithm
Vector clock algorithmS. Anbu
 
Distributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmDistributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmpinki soni
 

What's hot (12)

Durability Simulator Design for OpenStack Swift
Durability Simulator Design for OpenStack SwiftDurability Simulator Design for OpenStack Swift
Durability Simulator Design for OpenStack Swift
 
Self-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingSelf-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processing
 
GW170817: Dawn of multi-messenger astronomy
GW170817: Dawn of multi-messenger astronomy GW170817: Dawn of multi-messenger astronomy
GW170817: Dawn of multi-messenger astronomy
 
Global EC Cluster Updates (OpenStack Mitaka Swift Design Summit)
Global EC Cluster Updates (OpenStack Mitaka Swift Design Summit)Global EC Cluster Updates (OpenStack Mitaka Swift Design Summit)
Global EC Cluster Updates (OpenStack Mitaka Swift Design Summit)
 
The Fastest Possible Search Algorithm: Grover's Search and the World of Quant...
The Fastest Possible Search Algorithm: Grover's Search and the World of Quant...The Fastest Possible Search Algorithm: Grover's Search and the World of Quant...
The Fastest Possible Search Algorithm: Grover's Search and the World of Quant...
 
Cognitive Engine: Boosting Scientific Discovery
Cognitive Engine:  Boosting Scientific DiscoveryCognitive Engine:  Boosting Scientific Discovery
Cognitive Engine: Boosting Scientific Discovery
 
Introduction to Qiskit
Introduction to QiskitIntroduction to Qiskit
Introduction to Qiskit
 
Clocks
ClocksClocks
Clocks
 
Quantum Computing Basics
Quantum Computing BasicsQuantum Computing Basics
Quantum Computing Basics
 
Ds practical file
Ds practical fileDs practical file
Ds practical file
 
Vector clock algorithm
Vector clock algorithmVector clock algorithm
Vector clock algorithm
 
Distributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmDistributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithm
 

Similar to Detecting gravitational waves in Python

The Search for Gravitational Waves
The Search for Gravitational WavesThe Search for Gravitational Waves
The Search for Gravitational Wavesinside-BigData.com
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
Progress_report_KUSP2016_Ngo-Sy-Toan
Progress_report_KUSP2016_Ngo-Sy-ToanProgress_report_KUSP2016_Ngo-Sy-Toan
Progress_report_KUSP2016_Ngo-Sy-ToanToan Ngo Sy
 
Using OptIPuter Innovations to Enable LambdaGrid Applications
Using OptIPuter Innovations to Enable LambdaGrid ApplicationsUsing OptIPuter Innovations to Enable LambdaGrid Applications
Using OptIPuter Innovations to Enable LambdaGrid ApplicationsLarry Smarr
 
OptIPuter Overview
OptIPuter OverviewOptIPuter Overview
OptIPuter OverviewLarry Smarr
 
Combining remote sensing earth observations and in situ networks: detection o...
Combining remote sensing earth observations and in situ networks: detection o...Combining remote sensing earth observations and in situ networks: detection o...
Combining remote sensing earth observations and in situ networks: detection o...Integrated Carbon Observation System (ICOS)
 
Riding the Light: How Dedicated Optical Circuits are Enabling New Science
Riding the Light: How Dedicated Optical Circuits are Enabling New ScienceRiding the Light: How Dedicated Optical Circuits are Enabling New Science
Riding the Light: How Dedicated Optical Circuits are Enabling New ScienceLarry Smarr
 
Python metaprogramming in linear time language for automated runtime verifica...
Python metaprogramming in linear time language for automated runtime verifica...Python metaprogramming in linear time language for automated runtime verifica...
Python metaprogramming in linear time language for automated runtime verifica...ISSEL
 
Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επα...
Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επα...Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επα...
Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επα...ISSEL
 
LambdaGrids--Earth and Planetary Sciences Driving High Performance Networks a...
LambdaGrids--Earth and Planetary Sciences Driving High Performance Networks a...LambdaGrids--Earth and Planetary Sciences Driving High Performance Networks a...
LambdaGrids--Earth and Planetary Sciences Driving High Performance Networks a...Larry Smarr
 
Cyberinfrastructure for Advanced Marine Microbial Ecology Research and Analys...
Cyberinfrastructure for Advanced Marine Microbial Ecology Research and Analys...Cyberinfrastructure for Advanced Marine Microbial Ecology Research and Analys...
Cyberinfrastructure for Advanced Marine Microbial Ecology Research and Analys...Larry Smarr
 
Classification of EEG P300 ERPs using Riemannian Geometry and Quantum Computing
Classification of EEG P300 ERPs using Riemannian Geometry and Quantum ComputingClassification of EEG P300 ERPs using Riemannian Geometry and Quantum Computing
Classification of EEG P300 ERPs using Riemannian Geometry and Quantum ComputingAntonAndreev13
 
Toward a Global Interactive Earth Observing Cyberinfrastructure
Toward a Global Interactive Earth Observing CyberinfrastructureToward a Global Interactive Earth Observing Cyberinfrastructure
Toward a Global Interactive Earth Observing CyberinfrastructureLarry Smarr
 
Frossie Economou & Angelo Fausti [Vera C. Rubin Observatory] | How InfluxDB H...
Frossie Economou & Angelo Fausti [Vera C. Rubin Observatory] | How InfluxDB H...Frossie Economou & Angelo Fausti [Vera C. Rubin Observatory] | How InfluxDB H...
Frossie Economou & Angelo Fausti [Vera C. Rubin Observatory] | How InfluxDB H...InfluxData
 
ET-NavSwarm 2016 URC Poster
ET-NavSwarm 2016 URC PosterET-NavSwarm 2016 URC Poster
ET-NavSwarm 2016 URC PosterJoshua Proulx
 

Similar to Detecting gravitational waves in Python (20)

The Search for Gravitational Waves
The Search for Gravitational WavesThe Search for Gravitational Waves
The Search for Gravitational Waves
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
Progress_report_KUSP2016_Ngo-Sy-Toan
Progress_report_KUSP2016_Ngo-Sy-ToanProgress_report_KUSP2016_Ngo-Sy-Toan
Progress_report_KUSP2016_Ngo-Sy-Toan
 
Lecture_2_v2_qc.pptx
Lecture_2_v2_qc.pptxLecture_2_v2_qc.pptx
Lecture_2_v2_qc.pptx
 
Ogf27 Ligo
Ogf27 LigoOgf27 Ligo
Ogf27 Ligo
 
Using OptIPuter Innovations to Enable LambdaGrid Applications
Using OptIPuter Innovations to Enable LambdaGrid ApplicationsUsing OptIPuter Innovations to Enable LambdaGrid Applications
Using OptIPuter Innovations to Enable LambdaGrid Applications
 
OptIPuter Overview
OptIPuter OverviewOptIPuter Overview
OptIPuter Overview
 
FermiPoster
FermiPosterFermiPoster
FermiPoster
 
Combining remote sensing earth observations and in situ networks: detection o...
Combining remote sensing earth observations and in situ networks: detection o...Combining remote sensing earth observations and in situ networks: detection o...
Combining remote sensing earth observations and in situ networks: detection o...
 
Riding the Light: How Dedicated Optical Circuits are Enabling New Science
Riding the Light: How Dedicated Optical Circuits are Enabling New ScienceRiding the Light: How Dedicated Optical Circuits are Enabling New Science
Riding the Light: How Dedicated Optical Circuits are Enabling New Science
 
Python metaprogramming in linear time language for automated runtime verifica...
Python metaprogramming in linear time language for automated runtime verifica...Python metaprogramming in linear time language for automated runtime verifica...
Python metaprogramming in linear time language for automated runtime verifica...
 
Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επα...
Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επα...Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επα...
Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επα...
 
Quantum programming
Quantum programmingQuantum programming
Quantum programming
 
OpenStack Astara
OpenStack AstaraOpenStack Astara
OpenStack Astara
 
LambdaGrids--Earth and Planetary Sciences Driving High Performance Networks a...
LambdaGrids--Earth and Planetary Sciences Driving High Performance Networks a...LambdaGrids--Earth and Planetary Sciences Driving High Performance Networks a...
LambdaGrids--Earth and Planetary Sciences Driving High Performance Networks a...
 
Cyberinfrastructure for Advanced Marine Microbial Ecology Research and Analys...
Cyberinfrastructure for Advanced Marine Microbial Ecology Research and Analys...Cyberinfrastructure for Advanced Marine Microbial Ecology Research and Analys...
Cyberinfrastructure for Advanced Marine Microbial Ecology Research and Analys...
 
Classification of EEG P300 ERPs using Riemannian Geometry and Quantum Computing
Classification of EEG P300 ERPs using Riemannian Geometry and Quantum ComputingClassification of EEG P300 ERPs using Riemannian Geometry and Quantum Computing
Classification of EEG P300 ERPs using Riemannian Geometry and Quantum Computing
 
Toward a Global Interactive Earth Observing Cyberinfrastructure
Toward a Global Interactive Earth Observing CyberinfrastructureToward a Global Interactive Earth Observing Cyberinfrastructure
Toward a Global Interactive Earth Observing Cyberinfrastructure
 
Frossie Economou & Angelo Fausti [Vera C. Rubin Observatory] | How InfluxDB H...
Frossie Economou & Angelo Fausti [Vera C. Rubin Observatory] | How InfluxDB H...Frossie Economou & Angelo Fausti [Vera C. Rubin Observatory] | How InfluxDB H...
Frossie Economou & Angelo Fausti [Vera C. Rubin Observatory] | How InfluxDB H...
 
ET-NavSwarm 2016 URC Poster
ET-NavSwarm 2016 URC PosterET-NavSwarm 2016 URC Poster
ET-NavSwarm 2016 URC Poster
 

Recently uploaded

Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPirithiRaju
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)Areesha Ahmad
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)Areesha Ahmad
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfSumit Kumar yadav
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfSumit Kumar yadav
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptxAlMamun560346
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencySheetal Arora
 
Green chemistry and Sustainable development.pptx
Green chemistry  and Sustainable development.pptxGreen chemistry  and Sustainable development.pptx
Green chemistry and Sustainable development.pptxRajatChauhan518211
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and ClassificationsAreesha Ahmad
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 

Recently uploaded (20)

Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
Green chemistry and Sustainable development.pptx
Green chemistry  and Sustainable development.pptxGreen chemistry  and Sustainable development.pptx
Green chemistry and Sustainable development.pptx
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 

Detecting gravitational waves in Python

  • 1. Detecting gravitational waves in Python Duncan Macleod | @duncanmmacleod Cardiff University | LIGO Scientific Collaboration 1
  • 2. General Relativity Einstein’s General theory of Relativity (GR) describes space and time as connected, and flexible Mass warps space time more mass -> more warp Space time affects we call this gravity how bodies move T. Pyle, Caltech/MIT/LIGO Lab 2
  • 3. Gravitational waves Spacetime is elastic, accelerating masses create ripples in space-time We call these gravitational waves Propagate at speed of light Simple accelerating system: two dense objects orbiting each other Spacetime is 1021 less elastic than diamond We need extremely massive objects to create even a tiny gravitational wave amplitude 4
  • 5. Gravitational-wave detectors Kilometre-scale laser interferometers used to detect tiny amplitude signal LIGO (USA) x2 Virgo (Italy) GEO600 (Germany) KAGRA (Japan) [~2019] LIGO India [~2022] Credit: LIGO/Caltech 6
  • 6. Gravitational-wave detection Detectors measure gravitational-wave strain in the time-domain Data stream is searched for transient and long-duration astrophysical signals • Compact binary mergers • Unmodelled gravitational-wave bursts • Asymmetric rotating neutron stars (e.g. pulsars) • Stochastic gravitational-wave background Multiple binary mergers detected to date • GW150914, GW151226, GW170104, GW170814, GW170817 8
  • 7. Gravitational waves This is the gravitational-wave signal from a binary merger 9 inspiral merger ringdown
  • 8. Gravitational waves This is the same signal, but with detector noise overlaid 10
  • 9. Gravitational waves If we filter the detector noise, we can extract the signal 11 https://git.io/gwpy-animate-gw150914
  • 10. Uses of Python in LIGO and Virgo Historic uses of C and Matlab (and Perl…) for core interferometer control and signal detection workflows Python being used increasingly in the Advanced Detector Era: Guardian Automated Interferometer control GstLAL-Calibration Real-time PD readout -> GW strain GraceDB Electromagnetic partner notifications (Incoming and Outgoing) GstLAL-Inspiral Searches for binary mergers (Low-latency and offline) PyCBC Searches for binary mergers (Low-latency and offline) LALInference Parameter Estimation and Signal Localisation GWpy General I/O, Signal Processing, and Visualisation GWSumm Daily Detector Performance and Analysis Summaries GWDetChar Detector Characterisation and Data Quality Studies GStreamer Django Pure-Python C | SWIG This is an incomplete list! 12
  • 11. Automated Detector Control Both LIGO and Virgo use Python state machine called Guardian to define operating • Each hardware system defined by ‘node’ • Collection of states with defined transition conditions • ~80 connected nodes per detector (at LIGO) • Main ‘locking’ node has 91 states • Fully automated operation in ~20 minutes 13
  • 13. Low-latency measurement calibration Prompt detection of gravitational-wave signals enables follow-up with telescopes to search for electromagnetic counterparts Requires low-latency calibration and analysis of GW detector data Detector measurement is displacement [L], need to calibrate to strain [1] GstLAL-Calibration outputs strain within 5 seconds of acquisition GStreamer elements with FIR filters 15
  • 14. Low-latency binary merger searches Two low-latency data analysis workflows with Python front-ends (at least) • GstLAL-Inspiral - Gstreamer elements with time-domain filters • PyCBC-Live - FFT(W) based matched-filtering Both can post candidates to GraceDB within 1 minute of data acquisition • Enabled EM follow-up of GW170817 Also run in batch mode, processing weeks of data • #1 computation code for LIGO/Virgo 16
  • 15. Same old problems… The major problem with most code in LIGO is usability, documentation • Most large code bases are only really usable by insiders LIGO has single output data stream for analysis • Searching full parameter space for GW signals is extremely complex Also ~100,000 auxiliary time streams are needed to establish confidence in astrophysical origin of signals (i.e. not local noise) • Knowing where the data are, and how to read them, are still major problems Need simple usable tools so that scientists don’t waste their time copy/pasting code without understanding it (or re-writing from scratch) 17
  • 16. PyCBC Python based toolkit used in LIGO-Virgo binary merger searches • Low-latency Analysis • Offline Analysis • Parameter estimation (under active development!) Tools are available for people to use and develop! • Public management and hosting on github • https://github.com/ligo-cbc/pycbc • https://ligo-cbc.github.io/pycbc/latest/html/ • Docker builds available! • Interactive Jupyter notebooks with library examples • https://notebooks.azure.com/nitz/libraries/pycbc 18
  • 17. GWpy A python package for gravitational-wave astronomy | https://gwpy.github.io Heavily dependent on numpy, scipy, astropy, matplotlib, etc Provides intuitive object-orientated methods to access LIGO/Virgo data (public and restricted), process, and visualise them 19
  • 19. GWpy A few extra lines (mainly figure formatting) give: 21 24 lines of functional code I/O: 3 SP: 9 Plot: 12 https://git.io/gwpy-gw150914-simple
  • 21. GWpy 23 15 lines of functional code: I/O: 2 SP:1 Plot: 12
  • 22. LIGO Open Science Center LIGO Laboratory working group to coordinate and support open data releases associated with event publications • Files hosted in GWF (internal format), HDF5 and ASCII • https://losc.ligo.org/events • Data for all 5 published events (so far) + 1 lower-significance candidate • Entire S6 data set (2009/10) • Extensive tutorials and Jupyter notebooks describing LIGO data processing GWpy API trivialises access Great increase to outreach potential with real code, and real up-to-date data 24
  • 23. Future developments All major Python projects mentioned are in active development for the next observing run (O3, Q4 2018) GWpy usage growing internally and externally due to intuitive methodology Further integration with LOSC and PyCBC underway Expansion of documentation and examples, especially for secondary and tertiary education, input from students/teachers would be great All figures/animations for this presentation (except where credited) produced using open-source code (GWpy) and open data (LOSC) 25

Editor's Notes

  1. GR is easy, even babies can understand it
  2. Horribly incomplete list of major python projects in LIGO
  3. ISC_LOCK node diagram, fairly linear
  4. IMC_LOCK diagram, highly circular ISI_HAM2 diagram, many different routes
  5. This slide needs work
  6. Probably need a bit more on PyCBC
  7. Finally
  8. Not a great plot, but pretty good default
  9. Lots of examples Some can only be run by LIGO-Virgo members (black strikethrough)
  10. LOSC is great, GWpy API makes data access trivial