Talk All-in-one Python application for daily routine in seismology

Abstract

Authors: Thomas Lecocq, Frédéric Devos, Thierry Camelbeeck

In 2010 we decided to rewrite the routine data processing software used for more than 15 years at the ROB. The C/Fortran code using GKS graphics was quite outdated. The core modules of the new software are traits and chaco (from the Enthought Tool Suite), chosen for their beauty and logic. As any other scientific tool, it heavily relies on numpy and scipy. The obspy module is used for handling the seismic waveforms and different formats. A second large piece of code has been written to interface the MySQL database. The software, called "DP (Data Processing)", is a fully integrated solution for daily seismological routine. It is able to search for waveforms recorded by seismic stations, to analyse the signals, pick arrival times of earthquakes and locating them, interacting in real time with the database. All parts have been written in a client-server fashion, so running DP from home and routing the ports of the different servers (waveform, database, location, etc.) through a SSH tunnel is possible. All information, including waveform signals are passed as pickled numpy arrays in TCP/IP. To be easily installed on many client computers within the Seismology section, we successfully compiled the whole "client-package" into a single .exe windows installer using py2exe and NSIS. Currently, the code of DP is sadly a bit too much linked to the ROB infrastructure to be released and used by many other seismological labs, but our intention here is to show a successful example of building complex yet efficient and pretty application using traits and chaco in a clever client-server fashion.

Keywords: Seismology, Routine, Waveforms, Traits, Obspy, Client-Server, Compilation

tagged by
no related entity