CSV and CSZ read/write support for ObsPy earthquake catalogs
Project description
## Installation
Install ObsPy. After that install obspycsv using pip by:
pip install obspycsv
## Usage CSV
CSV format can be used to store a catalog with basic origin properties. Picks cannot be stored.
` >>> from obspy import read_events >>> events = read_events() # load example events >>> print(events) 3 Event(s) in Catalog: 2012-04-04T14:21:42.300000Z | +41.818, +79.689 | 4.4 mb | manual 2012-04-04T14:18:37.000000Z | +39.342, +41.044 | 4.3 ML | manual 2012-04-04T14:08:46.000000Z | +38.017, +37.736 | 3.0 ML | manual >>> events.write('catalog.csv', 'CSV') # declare 'CSV' as format >>> print(read('catalog.csv')) 3 Event(s) in Catalog: 2012-04-04T14:21:42.300000Z | +41.818, +79.689 | 4.4 mb 2012-04-04T14:18:37.000000Z | +39.342, +41.044 | 4.3 ML 2012-04-04T14:08:46.000000Z | +38.017, +37.736 | 3.0 ML >>> cat catalog.csv time,lat,lon,dep,mag,magtype,id 2012-04-04T14:21:42.30000,41.818000,79.689000,1.000,4.40,mb,20120404_0000041 2012-04-04T14:18:37.00000,39.342000,41.044000,14.400,4.30,ML,20120404_0000038 2012-04-04T14:08:46.00000,38.017000,37.736000,7.000,3.00,ML,20120404_0000039 `
It is possible to load arbitrary csv files. Define the field names in the code or use the first line in the file to define the field names. The following field names have to be used to read the origin time: time (UTC time string) or year, mon, day, hour, minu, sec. The following additional field names have to be used: lat, lon, dep, mag, magtype, id. magtype, mag and id are optional. For external csv files, the format ‘CSV’ has to be explicitly specified.
` >>> cat external.csv Year, Month, Day, Hour, Minute, Seconds, code, Lat, Lon, Depth, Station_count, time_residual_RMS, Magnitude, etc 2023, 05, 06, 19, 55, 01.3, LI, 10.1942, 124.8300, 50.47, 111, 0.0, 0.2, 42, 0.0, 0.0176, 0.0127, 0.02, 0.3, 2023abcde >>> fields = 'year mon day hour minu sec _ lat lon dep _ _ mag _ _ _ _ _ _ id'.split() events = read_events('external.csv', 'CSV', skipheader=1, fieldnames=fields) 1 Event(s) in Catalog: 2023-05-06T19:55:01.300000Z | +10.194, +124.830 | 0.2 None `
## Usage CSZ
CSZ format can be used to store a catalog with picks in a set of csv files zipped into a single file. It works similar to NumPy’s npz format. Because ObsPy automatically unpacks zip archives, to read files with ObsPy use the option check_compression=False or use the read_csz function directly. Compression may be used with compression and compresslevel parameters (see [zipfile doc](https://docs.python.org/library/zipfile.html#zipfile.ZipFile)).
` >>> events = read_events('/path/to/example.pha') >>> print(events) 2 Event(s) in Catalog: 2025-05-14T14:35:35.510000Z | +40.225, +10.450 | 3.5 None 2025-05-14T15:43:05.280000Z | +40.223, +10.450 | 1.8 None >>> print(len(events[0].picks)) 2 >>> events.write('catalog.csz', 'CSZ') >>> events2 = read_events('catalog.csz', check_compression=False) >>> print(events2) 2 Event(s) in Catalog: 2025-05-14T14:35:35.510000Z | +40.225, +10.450 | 3.5 None 2025-05-14T15:43:05.280000Z | +40.223, +10.450 | 1.8 None >>> print(len(events2[0].picks)) 2 `
## Miscellaneous
Plese submit an issue if you want to see support for other properties. Questions can be asked in the ObsPy forum.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file obspycsv-0.3.0.tar.gz
.
File metadata
- Download URL: obspycsv-0.3.0.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/2.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 856c2effd763a9f261075316f1c200d0c6bd6711f6e0a830c8088861b9e3e617 |
|
MD5 | c5babefd97577f9c5ea739adfa87362f |
|
BLAKE2b-256 | 0e245a961de3a89ace9bb22fd77aea33a16e131cefb9f614fae3022ec554e1c3 |