Ru View on GitHub

seismicsound-dl

utility to download the seismic records of earthquakes and save them as audio files

About

Currently description available only in Russian language. If you want you can help to translate it to English language.

Features

Seismic sound examples

Usage examples

Print the event list for the 2016 year with a magnitude greater than or equal to 7.0:

seismicsound-dl --print-selected-events --event-start-time 2016-01-01T00:00:00 --event-end-time 2016-12-31T00:00:00 --event-min-mag 7.0

Result:

INFO: Downloading the event list...
------------------------------------------------------------------------------------------------
List of Events
------------------------------------------------------------------------------------------------
        ID | TYPE |  MAG |  LATITUDE | LONGITUDE |     DEPTH |                TIME | DESCRIPTION
------------------------------------------------------------------------------------------------
   9948944 |  Mww |  7.6 |  -43.4053 |  -73.9403 |    38.000 | 2016-12-25T14:22:27 | SOUTHERN CHILE
   9946716 |  mww |  7.9 |   -4.5049 |  153.5216 |    94.540 | 2016-12-17T10:51:10 | NEW IRELAND REGION, P.N.G.
   9912119 |  mww |  7.8 |  -10.6760 |  161.3298 |    41.000 | 2016-12-08T17:38:46 | SOLOMON ISLANDS
   5198717 |  mww |  7.0 |   11.9597 |  -88.8355 |    10.340 | 2016-11-24T18:43:48 | OFF COAST OF CENTRAL AMERICA
   5197722 |  Mww |  7.8 |  -42.7245 |  173.0647 |    22.000 | 2016-11-13T11:02:59 | SOUTH ISLAND, NEW ZEALAND
   5192066 |  mww |  7.1 |  -37.4010 |  179.0548 |    19.000 | 2016-09-01T16:37:57 | OFF E. COAST OF N. ISLAND, N.Z.
   5191763 |  mww |  7.1 |   -0.0471 |  -17.8294 |    10.000 | 2016-08-29T04:29:57 | NORTH OF ASCENSION ISLAND
   5190904 |  mww |  7.4 |  -55.2793 |  -31.8740 |    10.000 | 2016-08-19T07:32:22 | SOUTH GEORGIA ISLAND REGION
   5190300 |  mww |  7.2 |  -22.4778 |  173.1108 |    16.440 | 2016-08-12T01:26:36 | SOUTHEAST OF LOYALTY ISLANDS
   5189231 |  mww |  7.7 |   18.5439 |  145.5410 |   207.620 | 2016-07-29T21:18:26 | MARIANA ISLANDS
   5183973 |  mww |  7.2 |  -56.2409 |  -26.9353 |    78.000 | 2016-05-28T09:46:59 | SOUTH SANDWICH ISLANDS REGION
   5181222 |  mww |  7.0 |  -16.0429 |  167.3786 |    24.000 | 2016-04-28T19:33:24 | VANUATU ISLANDS
   5180176 |  mww |  7.8 |    0.3819 |  -79.9218 |    20.590 | 2016-04-16T23:58:36 | NEAR COAST OF ECUADOR
   5180038 |  mww |  7.0 |   32.7906 |  130.7543 |    10.000 | 2016-04-15T16:25:06 | KYUSHU, JAPAN
   5176028 |  mww |  7.8 |   -4.9521 |   94.3299 |    24.000 | 2016-03-02T12:49:48 | SOUTHWEST OF SUMATRA, INDONESIA
   5172800 |  mww |  7.2 |   54.0057 |  158.5128 |   163.220 | 2016-01-30T03:25:10 | KAMCHATKA PENINSULA, RUSSIA
   5172125 |  mww |  7.1 |   59.6204 | -153.3392 |   125.600 | 2016-01-24T10:30:29 | SOUTHERN ALASKA
------------------------------------------------------------------------------------------------
Total: 17
        

Print the event list for August 2016 with a magnitude greater than or equal to 5.0, with its epicenter near Italy:

seismicsound-dl --print-selected-events --event-start-time 2016-08-01T00:00:00 --event-end-time 2016-09-01T00:00:00 --event-min-mag 5.0 --event-min-lon 9 --event-max-lon 19 --event-min-lat 37 --event-max-lat 43

Result:

INFO: Downloading the event list...
------------------------------------------------------------------------------------------------
List of Events
------------------------------------------------------------------------------------------------
        ID | TYPE |  MAG |  LATITUDE | LONGITUDE |     DEPTH |                TIME | DESCRIPTION
------------------------------------------------------------------------------------------------
   5191300 |  mww |  5.6 |   42.8335 |   13.1319 |     4.950 | 2016-08-24T02:33:29 | CENTRAL ITALY
   5191298 |  mww |  6.2 |   42.7230 |   13.1877 |     4.440 | 2016-08-24T01:36:32 | CENTRAL ITALY
------------------------------------------------------------------------------------------------
Total: 2
        

Print the list vertical channels of stations, which are installed near Italy and wrote at a moment when there was an event with the ID "5191300":

seismicsound-dl --print-selected-traces --event-id 5191298 --station-min-lon 9 --station-max-lon 19 --station-min-lat 37 --station-max-lat 43 --channel *Z

Result:

INFO: Downloading the station list...
--------------------------------------------------------------------------------------------------------------------------
List of Channels
--------------------------------------------------------------------------------------------------------------------------
 NET |   STA | LOC | CHAN |  LATITUDE | LONGITUDE | ELEVAT | DEPTH |          START TIME |            END TIME | SITE NAME
--------------------------------------------------------------------------------------------------------------------------
  GE |  MATE |     |  BHZ |   40.6491 |   16.7044 |  0.494 | 0.000 | 2007-04-24T00:00:00 | 2599-12-31T23:59:59 | U Basilicata/GEOFON Station Matera, Italy
  GE |  MATE |     |  HHZ |   40.6491 |   16.7044 |  0.494 | 0.000 | 2007-04-24T00:00:00 | 2599-12-31T23:59:59 | U Basilicata/GEOFON Station Matera, Italy
...
  YR |  ED23 |     |  HHZ |   42.7433 |   13.2871 |  1.040 | 0.000 | 2016-08-30T00:00:00 | 2017-05-30T00:00:00 | SPELONGA
  YR |  ED24 |     |  HHZ |   42.6556 |   13.1922 |  1.103 | 0.000 | 2016-08-30T00:00:00 | 2017-05-30T00:00:00 | ROCCASALLI
  YR |  ED25 |     |  HHZ |   42.5988 |   13.3519 |  1.350 | 0.000 | 2016-08-30T00:00:00 | 2017-05-30T00:00:00 | CORNILLI NUOVO
--------------------------------------------------------------------------------------------------------------------------
Total: 382
        

Download up to 10 event records with the ID "5191300" from channels "BHZ" with location "00" which installed near Italy. These records must be saved to the current directory with a sample rate 16kHz:

seismicsound-dl --event-id 5191298 --station-min-lon 1 --station-max-lon 29 --station-min-lat 27 --station-max-lat 53 --channel BHZ --location 00 --limit 10 --sample-rate 16000

Result:

$ ls -1
ID_5191298.G.CLF.00.BHZ.20160824013132.20160824023632.wav
ID_5191298.G.ECH.00.BHZ.20160824013132.20160824023632.wav
ID_5191298.G.SSB.00.BHZ.20160824013132.20160824023632.wav
ID_5191298.II.BFO.00.BHZ.20160824013132.20160824023632.wav
ID_5191298.II.IBFO.00.BHZ.20160824013132.20160824023632.wav
        

Download one record from channel "HHZ" with location "00" per event for no more than 10 events with a magnitude greater than or equal to 7.0. Each entry must be extended to 14400 seconds:

seismicsound-dl --event-min-mag 7 --channel HHZ --location 00 --limit 10 --limit-per-event 1 --seconds-after 14400

Result:

$ ls -1
ID_5190904.AG.CCAR.00.HHZ.20160819072724.20160819113224.wav
ID_5191763.AG.CCAR.00.HHZ.20160829042458.20160829082958.wav
ID_5192066.AG.CCAR.00.HHZ.20160901163259.20160901203759.wav
ID_5197722.AG.CCAR.00.HHZ.20161113105801.20161113150301.wav
ID_5198717.AG.CCAR.00.HHZ.20161124183848.20161124224348.wav
ID_9912119.AG.CCAR.00.HHZ.20161208173348.20161208213848.wav
ID_9946716.AG.CCAR.00.HHZ.20161217104612.20161217145112.wav
ID_9948944.AG.CCAR.00.HHZ.20161225141728.20161225182228.wav
ID_9953968.AG.CCAR.00.HHZ.20170110060849.20170110101349.wav
ID_9993759.AG.CCAR.00.HHZ.20170122042525.20170122083025.wav
        

Usage

Usage:
    seismicsound-dl [OPTIONS]
Options:
  =============================================================================
  options that affect the output sound files
  =============================================================================
    --sample-rate
                set the sample rate of the sound files
                (the default is '44100')
    --sample-format
                set the sample format of the sound files
                you can use the following values:
                    i16 -- 16 bit per sample (integer)
                    i24 -- 24 bit per sample (integer)
                    i32 -- 32 bit per sample (integer)
                    f32 -- 32 bit per sample (IEEE774)
                    f64 -- 64 bit per sample (IEEE774)
                (the default is 'i16')
    --output-directory
                set the output directory of the sound files
                (the default is '.' (current directory))
    --filename-format
                set the file name format of the sound files
                you can use the following variables in the pattern:
                    %eid%       -- event id
                    %net%       -- network code
                    %sta%       -- station code
                    %loc%       -- location code
                    %chan%      -- channel code
                    %starttime% -- start time 
                                   (will be represented as 'YYYYMMDDTHHMMSS')
                    %endtime%   -- end time
                                   (will be represented as 'YYYYMMDDTHHMMSS')
                (the default is '%eid%.%net%.%sta%.%loc%.%cha%.%stm%.%etm%')
    --filename-conflict-action
                set the action on duplicate file names
                you can use the following values:
                    suffix    -- add an unique suffix to the new file
                    overwrite -- overwrite the old file with the new file
                    skip      -- do not download the duplicate of the file
                (the default is 'suffix')

  =============================================================================
  options that affect the event list selection parameters
  =============================================================================
    --event-id
                set the event id                
                (if this option is set, all other options related to the 
                selection list of events (--event-*) will be ignored
                the result will be a list of the one event 
                with the specified id)
    --event-start-time
                set the start time of the time interval when event is happened
                (time must have the following format: 'YYYY-MM-DDTHH:MM:SS')
    --event-end-time
                set the end time of the time interval when event is happened
                (time must have the following format: 'YYYY-MM-DDTHH:MM:SS')
    --event-min-mag
                set the minimum magnitude of the earthquake
                (see the 'earthquake magnitude scale' below for detail)
    --event-max-mag
                set the maximum magnitude of the earthquake
                (see the 'earthquake magnitude scale' below for detail)
    --event-min-depth
                set the minimum depth of the earthquake
                (unit: kilometer)
    --event-max-depth
                set the maximum depth of the earthquake
                (unit: kilometer)

    BOX search terms, incompatible with RADIAL search terms
    --event-min-lat
                set the minimum latitude
                (unit: degree; range: [-90.0; 90.0])
    --event-max-lat
                set the maximum latitude
                (unit: degree; range: [-90.0; 90.0])
    --event-min-lon
                set the minimum longitude
                (unit: degree; range: [-180.0; 180.0])
    --event-max-lon
                set the maximum longitude
                (unit: degree; range: [-180.0; 180.0])

    RADIAL search terms, incompatible with the BOX search terms
    --event-lat
                set the central latitude point
                (unit: degree; range: [-90.0; 90.0])
    --event-lon
                set the central longitude point
                (unit: degree; range: [-180.0; 180.0])
    --event-min-radius
                set the minimum distance from the geographic point 
                defined by the central latitude and longitude
                (unit: degree; range: [-180.0; 180.0])
    --event-max-radius
                set the maximum distance from the geographic point 
                defined by the central latitude and longitude
                (unit: degree; range: [-180.0; 180.0])

  =============================================================================
  options that affect the trace list selection parameters
  =============================================================================
    --network
                set the network code
                (see the 'network code format' below for detail)
    --station
                set the station code
                (see the 'station code format' below for detail)
    --location
                set the location code
                (see the 'location code format' below for detail)
    --channel
                set the channel code
                (see the 'channel code format' below for detail)
    --start-time
                set the start time of the trace of the data
                (time must have the following format: 'YYYY-MM-DDTHH:MM:SS')
    --end-time
                set the end time of the trace of the data
                (time must have the following format: 'YYYY-MM-DDTHH:MM:SS')

                NOTE: if you specify the time interval of the trace of the data
                then all options related to the selection 
                list of events (--event-*) will be ignored

    BOX search terms, incompatible with RADIAL search terms
    --station-min-lat
                set the minimum latitude
                (unit: degree; range: [-90.0; 90.0])
    --station-max-lat
                set the maximum latitude
                (unit: degree; range: [-90.0; 90.0])
    --station-min-lon
                set the minimum longitude
                (unit: degree; range: [-180.0; 180.0])
    --station-max-lon
                set the maximum longitude
                (unit: degree; range: [-180.0; 180.0])

    RADIAL search terms, incompatible with the BOX search terms
    --station-lat
                set the central latitude point
                (unit: degree; range: [-90.0; 90.0])
    --station-lon
                set the central longitude point
                (unit: degree; range: [-180.0; 180.0])
    --station-min-radius
                set the minimum distance from the geographic point 
                defined by the central latitude and longitude
                (unit: degree; range: [-180.0; 180.0])
    --station-max-radius
                set the maximum distance from the geographic point 
                defined by the central latitude and longitude
                (unit: degree; range: [-180.0; 180.0])

  =============================================================================
  other options
  =============================================================================
    --limit
                set the limit of the total number of downloadable sounds
                (the default is unlimited)
    --limit-per-event
                set the limit of the total number of downloadable sounds 
                per one event    
                (the default is unlimited)
    --seconds-before
                set the additional seconds which will be downloaded 
                before the first seismic phase
                (the defalt is '300' seconds)
    --seconds-after
                set the seconds which will be downloaded 
                after the first seismic phase
                (the defalt is '3600' seconds)
    --fdsnws-dataselect-url
                set the URL of the fdsnws dataselect service
                you can also use the CODE which can be found in the fdsnws 
                dataselect service list (see --print-fdsnws-dataselect-services)
                (the default is the first record 
                of the fdsnws dataselect service list)
    --fdsnws-station-url
                set the URL of the fdsnws station service
                you can also use the CODE which can be found in the fdsnws 
                station service list (see --print-fdsnws-station-services)
                (the default is the first record 
                of the fdsnws station service list)
    --fdsnws-event-url
                set the URL of the fdsnws event service
                you can also use the CODE which can be found in the fdsnws 
                event service list (see --print-fdsnws-event-services)
                (the default is the first record 
                of the fdsnws event service list)
    --print-fdsnws-dataselect-services
                display the list of the known fdsnws dataselect services
                and exit
    --print-fdsnws-station-services
                display the list of the known fdsnws station services
                and exit
    --print-fdsnws-event-services
                display the list of the known fdsnws event services
                and exit
    --print-fdsnws-services
                display the list of the known fdsnws services
                and exit
    --print-selected-events
                display the list of the selected events 
                without download the any sounds
                (only options that affect the event list selection parameters
                will be used)
    --print-selected-traces
                display the list of the selected traces 
                without download the any sounds
                (only options that affect the trace list selection parameters
                will be used)               
    --selected-events-format
                set the format of the selected event row
                you can use the following variables in the pattern:    
                    %eid%   -- event id
                    %type%  -- magnitude type
                    %val%   -- magnitude value
                    %lat%   -- latitude
                    %lon%   -- longitude
                    %depth% -- depth
                    %time%  -- time 
                               (will be represented as 'YYYY-MM-DDTHH:MM:SS')
                    %desc%  -- event description
                (the default is ' %eid% | %type% | %val% | %lat% | %lon% | %depth% | %time% | %desc%')
    --selected-traces-format
                set the format of the selected trace row
                you can use the following variables in the pattern:      
                    %net%    -- network code
                    %sta%    -- station code
                    %loc%    -- location code
                    %chan%   -- channel code
                    %lat%    -- latitude
                    %lon%    -- longitude
                    %elevat% -- elevation
                    %depth%  -- depth
                    %stime%  -- start time
                                (will be represented as 'YYYY-MM-DDTHH:MM:SS')
                    %etime%  -- end time
                                (will be represented as 'YYYY-MM-DDTHH:MM:SS') 
                    %site%   -- site name
                (the default is ' %net% | %sta% | %loc% | %chan% | %lat% | %lon% | %elevat% | %depth% | %stime% | %etime% | %site%')
    --debug
                display the debug information
    --help
                display this help message and exit

  =============================================================================
  quick reference guide
  ============================================================================= 
  earthquake magnitude scale:
  - 2.5 or less    -- usually not felt, but can be recorded by seismograph
                      (~900,000 per year)
  - 2.5 to 5.4     -- often felt, but only causes minor damage
                      (~30,000 per year)
  - 5.5 to 6.0     -- slight damage to buildings and other structures
                      (~500 per year)
  - 6.1 to 6.9     -- may cause a lot of damage in very populated areas
                      (~100 per year)
  - 7.0 to 7.9     -- major earthquake. Serious damage
                      (~20 per year)
  - 8.0 or greater -- great earthquake. Can totally destroy communities
                      near the epicenter 
                      (one every 5 to 10 years)

  network code format:
  - 2 characters: uppercase letters or numbers  

  station code format:
  - 5 characters: uppercase letters or numbers

  location code format:
  - 2 characters: uppercase letters or numbers

  channel code format:
  - 3 characters: uppercase letters or numbers

  you can also use the special symbols:
  - '?' for any one symbol (example: 'EH?', 'E??R')
  - '*' for any number of symbols (example: 'EH*', 'AK*')
        

News

Version 0.1.1

Version 0.1.0pre

Download

Packages: https://github.com/AlekseyDurachenko/seismicsound-dl/releases
Sources: https://github.com/AlekseyDurachenko/seismicsound-dl
Bug tracker: https://github.com/AlekseyDurachenko/seismicsoun-dl/issues

License GNU GPLv3+

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

The complete text of the GNU General Public License version 3 can be found in `LICENSE.GPLv3+'.