Database structure

A database created using StDb is a station dictionary that contains keys named NET.STA.CHAN, where CHAN is a two character representation of the desired channel (ex, BH, HH, LH). Within each KEY is the set of data used in later programs to define the station information. The data is stored in a dictionary, with each dictionary element being an object of Class StDbElement. An item has:

  • stdb[NET.STA]:

    • .station

    • .network

    • .altnet

    • .channel

    • .location

    • .latitude

    • .longitude

    • .elevation

    • .startdate

    • .enddate

    • .polarity

    • .azcorr

    • .status

Example

Let’s create a database from information contained in a file with <space>-separated fields. The basic format of the <space>-separated file some TA stations would look like (saved in file ta_table.txt without the header):

network

station

channel

latitude

longitude

elevation

startdate

enddate

TA

M31M

BH*

62.2024

-134.3906

0.64

2015-10-17

2599-12-31

TA

N32M

BH*

61.1512

-133.0818

0.82

2016-05-11

2599-12-31

TA

P33M

BH*

60.2114

-132.8174

1.07

2015-10-15

2599-12-31

The second allowed format for the input file with <comma>-separated fields would look like (saved in file ta_table.csv without the header):

network

station

location

channel

startdate

starttime

enddate

endtime

latitude

longitude

elevation

TA

M31M

BH*

2015-10-17

00:00:00

2599-12-31

23:59:59

62.2024

-134.3906

0.64

TA

N32M

BH*

2016-05-11

00:00:00

2599-12-31

23:59:59

61.1512

-133.0818

0.82

TA

P33M

BH*

2015-10-15

00:00:00

2599-12-31

23:59:59

60.2114

-132.8174

1.07

Note

In the file with <comma>-separated fields, you can enter additional fields corresponding to polarity, azcorr and status in that specific order.

The corresponding StDb object is a dictionary containing three items, each with a unique key. The following code was added right before pickling to file in gen_stdb.py, which was called using: gen_stdb.py ta_table.txt or gen_stdb.py ta_table.csv

print(stations.keys())
dict_keys(['TA.M31M', 'TA.N32M', 'TA.P33M'])

pprint.pprint(stations['TA.M31M'])
{'altnet': [],
 'azcorr': 0.0,
 'channel': 'BH',
 'elevation': 0.64,
 'enddate': '2599-12-31',
 'latitude': 62.2024,
 'location': '',
 'longitude': -134.3906,
 'network': 'TA',
 'polarity': 1.0,
 'startdate': '2015-10-17',
 'station': 'M31M',
 'status': ''}