Download presentation
Presentation is loading. Please wait.
Published byClay Wilkes Modified over 9 years ago
1
Community Seismic Network Daniel Obenshain along with K. Mani Chandy, Robert Clayton, Andreas Krause, Michael Olson, Matthew Faulkner, Leif Strand, Rishi Chandy, Daniel Rosenberg, Annie Tang, and others California Institute of Technology
2
XKCD Image by Randall Munroe of xkcd.com, Creative Commons Attribution-Noncommercial 2.5 License
3
Internet and Earthquakes In the comic: In the comic: –The tweets travel faster than the earthquake –Other users get quake information before it hits –They are too slow to do anything about it.
4
Background Earthquakes are dangerous threats Earthquakes are dangerous threats –USGS estimates 2000 deaths and $200 billion damages from 7.8 magnitude quake
5
Background Earthquakes are dangerous threats Earthquakes are dangerous threats –USGS estimates 2000 deaths and $200 billion damages from 7.8 magnitude quake Early warning could minimize suffering Early warning could minimize suffering –Activate safeguards in critical operations
6
Background Earthquakes are dangerous threats Earthquakes are dangerous threats –USGS estimates 2000 deaths and $200 billion damages from 7.8 magnitude quake Early warning could minimize suffering Early warning could minimize suffering –Activate safeguards in critical operations Providing early warning is an interesting problem Providing early warning is an interesting problem –Bayesian decision theory, geology, distributed computing
7
Background Earthquakes are dangerous threats Earthquakes are dangerous threats –USGS estimates 2000 deaths and $200 billion damages from 7.8 magnitude quake Early warning could minimize suffering Early warning could minimize suffering –Activate safeguards in critical operations Providing early warning is an interesting problem Providing early warning is an interesting problem –Bayesian decision theory, geology, distributed computing Current seismic network is too sparse Current seismic network is too sparse –Can’t provide enough early warning
8
Sensor Network is too Sparse A sensor network of one hundred sensors. A sensor network of one thousand sensors. SCSN (Southern California Seismic Network) has ~350 sensors right now.
9
Pause for Example
10
Sensor Network is too Sparse Ten thousand sensors! Both a 3 second wave and a 1 second wave.
11
Early Warning Can Help Slow trains
12
Early Warning Can Help Slow trains Stop elevators
13
Early Warning Can Help Slow trains Stop elevators Open fire station doors
14
Early Warning Can Help The information can also help the electrical grid. The information can also help the electrical grid. Southern California Edison Territory
15
Early Warning Can Help The information can also help the electrical grid. The information can also help the electrical grid. The grid can be shut down and made safe prior to severe shaking. The grid can be shut down and made safe prior to severe shaking. Southern California Edison Territory
16
Early Warning Can Help The information can also help the electrical grid. The information can also help the electrical grid. The grid can be shut down and made safe prior to severe shaking. The grid can be shut down and made safe prior to severe shaking. Power back in a day, not weeks after earthquake. Power back in a day, not weeks after earthquake. Southern California Edison Territory
17
Benefits Provide Early Warning Provide Early Warning Easy deployment in areas without existing seismic networks Easy deployment in areas without existing seismic networks –Peru and Indonesia Cell phones are prevalent Identify hard-hit areas quickly Identify hard-hit areas quickly –Direct first responders
18
That’s why we’re doing it. What about how we’re doing it?
19
Expand the Network We want to add more data. We want to add more data.
20
Expand the Network We want to add more data. We want to add more data. Why not get data from as many sources as possible? Why not get data from as many sources as possible?
21
Expand the Network We want to add more data. We want to add more data. Why not get data from as many sources as possible? Why not get data from as many sources as possible? Add in acceleration devices of different types, cell phones, laptops, etc. Add in acceleration devices of different types, cell phones, laptops, etc.
22
Expand the Network We want to add more data. We want to add more data. Why not get data from as many sources as possible? Why not get data from as many sources as possible? Add in acceleration devices of different types, cell phones, laptops, etc. Add in acceleration devices of different types, cell phones, laptops, etc. The User installs some client software and his or her acceleration data becomes part of the network. The User installs some client software and his or her acceleration data becomes part of the network.
23
The Client Registration Handler Registration Handler Sensor Handler Sensor Handler Server Registration Handler Server Registration Handler Error, No Update, or Handlers Calculation Handler Calculation Handler Alert Handler Controller Registration handler invoked on first run Returns Proceed, Error, or New Handlers Handlers and Queues managed Core processing Server Alert Listener Server Alert Listener
24
Example Client – Cell Phone Measures 3-D acceleration Measures 3-D acceleration Program runs in background Program runs in background Especially good while charging Especially good while charging
25
Example Client – Cell Phone Martin Lukac (of UCLA) recorded a minor seismic event on a Nokia phone, with different software. Martin Lukac (of UCLA) recorded a minor seismic event on a Nokia phone, with different software.
26
Pause for Example
27
Picking Algorithm How often should the client send data to the server? How often should the client send data to the server?
28
Picking Algorithm How often should the client send data to the server? How often should the client send data to the server? Only when significant shaking is occurring. Only when significant shaking is occurring.
29
Picking Algorithm How often should the client send data to the server? How often should the client send data to the server? Only when significant shaking is occurring. Only when significant shaking is occurring. How does the client know? How does the client know?
30
Picking Algorithm How often should the client send data to the server? How often should the client send data to the server? Only when significant shaking is occurring. Only when significant shaking is occurring. How does the client know? How does the client know? It performs a simple calculation on the incoming data stream. It performs a simple calculation on the incoming data stream.
31
Picking Algorithm How often should the client send data to the server? How often should the client send data to the server? Only when significant shaking is occurring. Only when significant shaking is occurring. How does the client know? How does the client know? It performs a simple calculation on the incoming data stream. It performs a simple calculation on the incoming data stream. We call this the “Picking Algorithm.” We call this the “Picking Algorithm.”
32
Picking Algorithm STA/LTA > trigger
33
Picking Algorithm STA – Short Term Average : the average acceleration over the past several data points STA – Short Term Average : the average acceleration over the past several data points STA/LTA > trigger
34
Picking Algorithm STA – Short Term Average : the average acceleration over the past several data points STA – Short Term Average : the average acceleration over the past several data points LTA – Long Term Average : the average acceleration over more data points LTA – Long Term Average : the average acceleration over more data points STA/LTA > trigger
35
Picking Algorithm STA – Short Term Average : the average acceleration over the past several data points STA – Short Term Average : the average acceleration over the past several data points LTA – Long Term Average : the average acceleration over more data points LTA – Long Term Average : the average acceleration over more data points trigger – a threshold trigger – a threshold STA/LTA > trigger
36
Picking Algorithm Accelerometer Long Term Average Short Term Average
37
Picking Algorithm Accelerometer New Data Long Term Average Short Term Average
38
Picking Algorithm Accelerometer Short Term Average Long Term Average
39
Picking Algorithm If STA/LTA > trigger is true, then we have “picked.” If STA/LTA > trigger is true, then we have “picked.”
40
Picking Algorithm If STA/LTA > trigger is true, then we have “picked.” If STA/LTA > trigger is true, then we have “picked.” The algorithm then waits a little bit before sending a message to the server. The algorithm then waits a little bit before sending a message to the server.
41
Picking Algorithm If STA/LTA > trigger is true, then we have “picked.” If STA/LTA > trigger is true, then we have “picked.” The algorithm then waits a little bit before sending a message to the server. The algorithm then waits a little bit before sending a message to the server. This is to make sure it sends data from the peak of the wave. This is to make sure it sends data from the peak of the wave.
42
Picking Algorithm Pause for this length of time before sending a message to the server. 1 2 3 1.Detected significant shaking 2.Maximum shaking 3.Sent message to server
43
Picking Algorithm After sending a message to the server, the client will wait a while before picking again. After sending a message to the server, the client will wait a while before picking again.
44
Picking Algorithm After sending a message to the server, the client will wait a while before picking again. After sending a message to the server, the client will wait a while before picking again. This is to stop the client from picking multiple times for the same shaking. This is to stop the client from picking multiple times for the same shaking.
45
Picking Algorithm Delay for this length of time before picking again. 1 1.Last message sent to server 2.The coda of the earthquake, where we don’t want to pick 2
46
Picking Algorithm Five tunable parameters. Five tunable parameters.
47
Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA
48
Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA –Length of LTA
49
Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA –Length of LTA –Value of trigger
50
Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA –Length of LTA –Value of trigger –How long to wait after picking before sending a message to the server
51
Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA –Length of LTA –Value of trigger –How long to wait after picking before sending a message to the server –How long to wait between messages
52
Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA –Length of LTA –Value of trigger –How long to wait after picking before sending a message to the server –How long to wait between messages They can all be tuned by the server, on a client-by-client basis. They can all be tuned by the server, on a client-by-client basis.
53
GUI Acceleration data is displayed in real time on the user’s screen. Acceleration data is displayed in real time on the user’s screen.
54
GUI Promotes use of the software. Promotes use of the software.
55
GUI Acceleration data is displayed in real time on the user’s screen. Acceleration data is displayed in real time on the user’s screen. Promotes use of the software. Promotes use of the software. Can be used in science classrooms to explain project. Can be used in science classrooms to explain project.
56
GUI Acceleration data is displayed in real time on the user’s screen. Acceleration data is displayed in real time on the user’s screen. Promotes use of the software. Promotes use of the software. Can be used in science classrooms to explain project. Can be used in science classrooms to explain project. Each message to the server marked by a red line. Each message to the server marked by a red line.
57
GUI 3 Axes 3 Axes
58
GUI Data streams from the right Data streams from the right
59
GUI 3 Axes 3 Axes Data streams from the right Data streams from the right The red line represents a message to the server The red line represents a message to the server
60
Pause for Example
61
Client-server messages Registration Registration Picks Picks Heartbeat Heartbeat
62
Client-server messages Registration Registration –Location (or an approximation) –Given a client id Picks Picks Heartbeat Heartbeat
63
Client-server messages Registration Registration Picks Picks –Short UDP message –Location, time, and acceleration experienced –Can be a playback message! Heartbeat Heartbeat
64
Client-server messages Registration Registration Picks Picks Heartbeat Heartbeat –Check in with server –Get any updates, playback info –For security, server will never push updates. Client must call in to get updates.
65
Client-server messages Registration Registration Picks Picks Heartbeat Heartbeat All are in XML format. All are in XML format. –Human readable –Easily extended –Can easily interface with other, similar projects
66
Sensor Validation Tested our sensor with artificial event. Tested our sensor with artificial event.
67
Sensor Validation Tested our sensor with artificial event. Tested our sensor with artificial event. Compared our sensor to the SCSN (Southern California Seismic Network) sensor in the basement of Millikan Library. Compared our sensor to the SCSN (Southern California Seismic Network) sensor in the basement of Millikan Library.
68
Sensor Validation Tested our sensor with artificial event. Tested our sensor with artificial event. Compared our sensor to the SCSN (Southern California Seismic Network) sensor in the basement of Millikan Library. Compared our sensor to the SCSN (Southern California Seismic Network) sensor in the basement of Millikan Library. Caused seismic activity with a sledgehammer. Caused seismic activity with a sledgehammer.
69
Sensor Validation
70
We have since switched to better noise filtering and a better sensor We have since switched to better noise filtering and a better sensor Still, the correlation is visible Still, the correlation is visible
71
Server Four main tasks Four main tasks –Handle new user registration
72
Server Four main tasks Four main tasks –Handle new user registration –Listen for pick messages
73
Server Four main tasks Four main tasks –Handle new user registration –Listen for pick messages –Handle heartbeat messages
74
Server Four main tasks Four main tasks –Handle new user registration –Listen for pick messages –Handle heartbeat messages –Analyze data
75
Server Registration Handler Pick Handler Heartbeat Handler DatabaseAssociator
76
UDP vs TCP We send messages using two different protocols. TCP (Transmission Control Protocol) TCP (Transmission Control Protocol) –Handshake delay –Error correction
77
UDP vs TCP We send messages using two different protocols. TCP (Transmission Control Protocol) TCP (Transmission Control Protocol) –Handshake delay –Error correction UDP (User Datagram Protocol) UDP (User Datagram Protocol) –Fast –Unreliable
78
Pick Message Handler Pick messages are sent using UDP packets. Reasons: Reasons: –Unsure of condition of network –Speed is important
79
Indiana Jones Effect From Indiana Jones and the Raiders of the Lost Ark.
80
Pick Message Handler Listen for incoming picks Listen for incoming picks
81
Pick Message Handler Listen for incoming picks Listen for incoming picks –Parse message
82
Pick Message Handler Listen for incoming picks Listen for incoming picks –Parse message –Check for playback flag If the flag is not present, the pick is stored in the database. If the message is flagged as playback, it is written to a separate table in the database.
83
Server Operation Registration Listener Registration Listener Alert Listener Calculation Handler Calculation Handler Warning Handler Warning Handler Controller Core processing Equipment, devices, notification systems Heartbeat Listener Heartbeat Listener Clients
84
Server-side Analysis Bayesian decision-making Bayesian decision-making
85
Server-side Analysis Bayesian decision-making Bayesian decision-making Once posterior is sufficient, we send Early Warning Once posterior is sufficient, we send Early Warning
86
Tested on Fake Data Priors from Gutenberg-Richter law (mag vs. num) Priors from Gutenberg-Richter law (mag vs. num) Fake data stream with errors in it Fake data stream with errors in it Located epicenter to within 25 km Located epicenter to within 25 km Located epicenter in 10 seconds Located epicenter in 10 seconds
87
Display data Heat map Heat map Hotter colors = higher magnitude picks Hotter colors = higher magnitude picks
89
Pause for Example http://map.communityseismicnetwork.org/
90
Google App Engine Server implemented on Google App Engine Server implemented on Google App Engine Our data is sent to and stored there Our data is sent to and stored there Robust, scalable Robust, scalable
91
Machine Learning Feedback loop Feedback loop Five parameters (or more!) per client Five parameters (or more!) per client If a client picks more often than normal, tune it down If a client picks more often than normal, tune it down If a client picks less often than normal, tune it up If a client picks less often than normal, tune it up
92
Machine Learning A client next to construction A client next to construction Not useful for small seismic events Not useful for small seismic events Still useful for big ones! Still useful for big ones! Set the threshold higher. Set the threshold higher.
93
Thank You Q&A Session
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.