Clone wiki

quakeanalysis / Home

Quake Analysis

This work is mainly based on the seismic activity across world which widely varies in characteristic and patterns. It is notable and worthy to distinguish patterns among the seismic activities and present them in an insightful manner.

Analysis of data without proper presentation to the end user does not make much sense. To make our work effective to the end user we provide intuitive yet powerful visual representation of the data and the patterns we discover.

Demo here

Installation (Click Here)

Click here

Exploration & Analysis

Exploration (Click Here)

All earthquake events from 1990-2015 (till November) has been aggregated. Here we have created seismic events data warehousing system to process events and support our interactive visualization for initial analysis.

Questions "Exploration" can answer:
  • Search of earthquake events based on time, location, richter scale.
  • How long does a high richter scale earthquake affect its surrounding with small tremors?
  • Find earthquake tremors zone over a defined time.
Module 1: Parsing

More than 10GB of XML files is parsed to extract meaningful information and stored into database.

Module 2: Cubing Server

To support online query on earthquake events a cubing server has been built. It supports online queries like

*   Slicing
*   Dicing
*   Aggregation

README of cubing server can be found here

Default address: http://localhost:5050

Module 3: Web UI Server

This is interactive visualization created with:

  • leaflet.js
  • d3.js
  • three.js and many more javascript libraries

Default address: http://localhost:8000


Details of Exploration Phase and its implementation is available here.

Analysis (Click Here)


The aim of this module is to analyze the effect of selected earthquakes over its neighboring region. We are using contour map to visualize the effect.

Module 1: Local Earthquake Magnitude Calculator

This main idea behind this module is to gather the magnitudes of the neighboring regions of a particular earthquake. This is done by aggregating the list of neighboring seismic recording stations for US IRIS networks. The neighbours are defined to be within certain miles of the quake event. Firstly we obtain the time series data of each of the neighboring stations. After obtaining the time series data, we clean it by removing instrument response for the corresponding seismic station and also prevent amplifying noise by applying filter bands on the waveform data.

From this cleaned time series data, we then calculate the maximum amplitude of the wave by taking maximum over the absolute values of the North, East or Azimuthal components of the wave. With the station coordinates and event coordinates, we find out the azimuthal distance of the station of the quake epicenter. With the azimuthal distance and amplitude of the waveform we calculate the local magnitude of the staion using the formula below:

                 Local_magnitude = log10( amplitude * 1000) + a * azimuthal_distance + b

The parameters a and b are set according to the distance of the seismic station from the event center. If azimuthal distance is greater than 60 km then a=0.0037 and b = 3.02. Otherwise, a = 0.018 and b = 2.17.

Module 2: Spark Server

The spark server is used to request for contour map for a given list of events separated by '|'. For the given list of events, it fetches the neighboring station data from the local magnitude calculator module. With the station data in hand for the given list of events, it calls the contour map module and displays the contour map as an image.

Module 3: Contour Map

This module uses the matplotlib griddata to plot the contour map for a given list of events. It takes the latitude, longitude and magnitude values of the event centre and the neighboring stations.


Details of Analysis Phase and its implementation is available here.