Presentation is loading. Please wait.

Presentation is loading. Please wait.

Community Seismic Network Daniel Obenshain along with K. Mani Chandy, Robert Clayton, Andreas Krause, Michael Olson, Matthew Faulkner, Leif Strand, Rishi.

Similar presentations


Presentation on theme: "Community Seismic Network Daniel Obenshain along with K. Mani Chandy, Robert Clayton, Andreas Krause, Michael Olson, Matthew Faulkner, Leif Strand, Rishi."— Presentation transcript:

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 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

88

89 Pause for Example

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


Download ppt "Community Seismic Network Daniel Obenshain along with K. Mani Chandy, Robert Clayton, Andreas Krause, Michael Olson, Matthew Faulkner, Leif Strand, Rishi."

Similar presentations


Ads by Google