utdquake 0.1__tar.gz → 0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {utdquake-0.1/utdquake.egg-info → utdquake-0.2}/PKG-INFO +81 -8
- utdquake-0.2/README.md +185 -0
- {utdquake-0.1 → utdquake-0.2}/utdquake/__init__.py +4 -2
- utdquake-0.2/utdquake/bank/bank.py +724 -0
- utdquake-0.2/utdquake/bank/utils.py +2187 -0
- utdquake-0.2/utdquake/core/config.py +258 -0
- {utdquake-0.1 → utdquake-0.2}/utdquake/core/data.py +19 -11
- {utdquake-0.1 → utdquake-0.2}/utdquake/core/load.py +22 -9
- utdquake-0.2/utdquake/core/patch.py +195 -0
- utdquake-0.2/utdquake/core/utdquake.py +1118 -0
- utdquake-0.2/utdquake/core/utils.py +41 -0
- utdquake-0.2/utdquake/qc/__init__.py +0 -0
- utdquake-0.2/utdquake/qc/catalog.py +304 -0
- utdquake-0.2/utdquake/qc/config.py +239 -0
- utdquake-0.2/utdquake/qc/events.py +200 -0
- utdquake-0.2/utdquake/qc/log.py +56 -0
- utdquake-0.2/utdquake/qc/picks.py +153 -0
- utdquake-0.2/utdquake/qc/travel_time.py +1310 -0
- utdquake-0.2/utdquake/utils/__init__.py +0 -0
- utdquake-0.2/utdquake/utils/cache.py +48 -0
- utdquake-0.2/utdquake/utils/plot.py +3388 -0
- {utdquake-0.1 → utdquake-0.2}/utdquake/utils/utils.py +39 -8
- utdquake-0.2/utdquake/writers/__init__.py +0 -0
- utdquake-0.2/utdquake/writers/manifest.py +122 -0
- utdquake-0.2/utdquake/writers/parquet.py +322 -0
- utdquake-0.2/utdquake/writers/schema.py +386 -0
- {utdquake-0.1 → utdquake-0.2/utdquake.egg-info}/PKG-INFO +81 -8
- utdquake-0.2/utdquake.egg-info/SOURCES.txt +34 -0
- {utdquake-0.1 → utdquake-0.2}/utdquake.egg-info/requires.txt +1 -0
- utdquake-0.1/README.md +0 -113
- utdquake-0.1/test/test_utdq.py +0 -47
- utdquake-0.1/utdquake/core/config.py +0 -95
- utdquake-0.1/utdquake/core/utdquake.py +0 -353
- utdquake-0.1/utdquake/utils/plot.py +0 -1654
- utdquake-0.1/utdquake.egg-info/SOURCES.txt +0 -18
- {utdquake-0.1 → utdquake-0.2}/LICENSE +0 -0
- {utdquake-0.1 → utdquake-0.2}/setup.cfg +0 -0
- {utdquake-0.1 → utdquake-0.2}/setup.py +0 -0
- {utdquake-0.1/utdquake/core → utdquake-0.2/utdquake/bank}/__init__.py +0 -0
- {utdquake-0.1/utdquake/utils → utdquake-0.2/utdquake/core}/__init__.py +0 -0
- {utdquake-0.1 → utdquake-0.2}/utdquake.egg-info/dependency_links.txt +0 -0
- {utdquake-0.1 → utdquake-0.2}/utdquake.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: utdquake
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2
|
|
4
4
|
Summary: University of Texas at Dallas Earthquake Dataset
|
|
5
5
|
Home-page: https://github.com/ecastillot/UTDQuake
|
|
6
6
|
Author: ecastillot (Emmanuel Castillo)
|
|
@@ -22,6 +22,7 @@ Requires-Dist: pandas
|
|
|
22
22
|
Requires-Dist: pyarrow
|
|
23
23
|
Requires-Dist: numpy
|
|
24
24
|
Requires-Dist: matplotlib
|
|
25
|
+
Requires-Dist: scikit-learn
|
|
25
26
|
Requires-Dist: seaborn
|
|
26
27
|
Requires-Dist: packaging
|
|
27
28
|
Requires-Dist: scipy
|
|
@@ -38,19 +39,32 @@ Dynamic: requires-python
|
|
|
38
39
|
Dynamic: summary
|
|
39
40
|
|
|
40
41
|
|
|
41
|
-
[](https://pypi.org/project/utdquake/)    [](https://www.linkedin.com/in/ecastillot/)
|
|
42
43
|
|
|
43
44
|
|
|
45
|
+
<img src="docs/source/_static/logo/utdquake_logo_ok.png" alt="seismonitor" width="150">
|
|
44
46
|
|
|
47
|
+
<!--
|
|
45
48
|
# <span style="background:#E87500; color:white; padding:2px 6px; border-radius:6px;">UTD</span>Quake
|
|
49
|
+
-->
|
|
46
50
|
|
|
47
|
-
University of Texas at Dallas Earthquake Dataset
|
|
51
|
+
**University of Texas at Dallas Earthquake Dataset**
|
|
48
52
|
|
|
49
|
-
|
|
50
|
-
- Emmanuel Castillo (emmanuel.castillotaborda@utdallas.edu)
|
|
51
|
-
- Nadine Ushakov (nadine.igonin@utdallas.edu)
|
|
52
|
-
- Marine Denolle (mdenolle@uw.edu)
|
|
53
|
+
A global earthquake dataset constructed from high-quality source and receiver metadata, including associated seismic phase picks across diverse station geometries.
|
|
53
54
|
|
|
55
|
+

|
|
56
|
+
|
|
57
|
+
# Documentation
|
|
58
|
+
|
|
59
|
+
Full documentation for UTDQuake is available here:
|
|
60
|
+
|
|
61
|
+
[](https://utdquake.readthedocs.io/en/latest/index.html)
|
|
62
|
+
|
|
63
|
+
You will see:
|
|
64
|
+
|
|
65
|
+
- QuickStart guide to get you up and running
|
|
66
|
+
- Detailed API reference
|
|
67
|
+
- Tutorials and example workflows
|
|
54
68
|
|
|
55
69
|
# Dataset
|
|
56
70
|
|
|
@@ -58,6 +72,12 @@ The dataset is available on Hugging Face: **UTDQuake**
|
|
|
58
72
|
|
|
59
73
|
[](https://huggingface.co/datasets/ecastillot/UTDQuake)
|
|
60
74
|
|
|
75
|
+
|
|
76
|
+
## Installation ([utdquake](https://pypi.org/project/utdquake))
|
|
77
|
+
```bash
|
|
78
|
+
pip install utdquake
|
|
79
|
+
```
|
|
80
|
+
|
|
61
81
|
## Why this dataset matters?
|
|
62
82
|
|
|
63
83
|
Curated datasets of earthquake **events and phase picks** are essential for modern seismology, especially in the AI era. While waveform datasets have advanced earthquake detection, multistation picks provide complementary information crucial for **phase association** and **earthquake location**.
|
|
@@ -68,10 +88,11 @@ This dataset offers structured event catalogs, station metadata, and phase picks
|
|
|
68
88
|
|
|
69
89
|
| Directory | Format | Description |
|
|
70
90
|
|------------|---------------|-------------|
|
|
71
|
-
| `
|
|
91
|
+
| `network/` | `*.parquet` | Network metadata. |
|
|
72
92
|
| `events/` | `*.parquet` | Earthquake event catalogs per network. |
|
|
73
93
|
| `stations/` | `*.parquet` | Station metadata per network. |
|
|
74
94
|
| `picks/` | `*.parquet` | Seismic phase pick datasets per network. |
|
|
95
|
+
| `bank/` | `*.zip` | ObsPlus `EventBank` datasets, one per network. Can be read directly using [ObsPlus EventBank](https://niosh-mining.github.io/obsplus/versions/latest/api/obsplus.bank.eventbank.html). |
|
|
75
96
|
|
|
76
97
|
For details on the contents and schema of each dataset, please refer to the [Hugging Face dataset viewer](https://huggingface.co/datasets/ecastillot/UTDQuake/viewer).
|
|
77
98
|
|
|
@@ -150,3 +171,55 @@ Thanks to the [UT Dallas HPC team](https://hpc.utdallas.edu/) for providing the
|
|
|
150
171
|
We also thank the seismology and AI communities for their work in earthquake research, and Hugging Face for hosting and sharing open datasets.
|
|
151
172
|
|
|
152
173
|
We welcome feedback and contributions!
|
|
174
|
+
|
|
175
|
+
# Authors
|
|
176
|
+
|
|
177
|
+
<table>
|
|
178
|
+
<tr>
|
|
179
|
+
<td valign="middle">
|
|
180
|
+
<strong>Emmanuel Castillo</strong><br>
|
|
181
|
+
University of Texas at Dallas<br>
|
|
182
|
+
<a href="https://www.linkedin.com/in/ecastillot/" target="_blank">
|
|
183
|
+
<img src="https://img.shields.io/badge/LinkedIn-Follow-blue?logo=linkedin&logoColor=white&style=flat" height="20">
|
|
184
|
+
</a>
|
|
185
|
+
<a href="mailto:castillo.280997@gmail.com" target="_blank">
|
|
186
|
+
<img src="https://img.shields.io/badge/Email-Send-red?logo=gmail&logoColor=white&style=flat" height="20">
|
|
187
|
+
</a>
|
|
188
|
+
</td>
|
|
189
|
+
<td width="100" align="center">
|
|
190
|
+
<img src="docs/source/_static/photos/emmanuel.jpg" alt="Emmanuel" width="80" height="80" style="border-radius:50%; object-fit:cover;">
|
|
191
|
+
</td>
|
|
192
|
+
</tr>
|
|
193
|
+
<tr>
|
|
194
|
+
<td valign="middle">
|
|
195
|
+
<strong>Nadine Ushakov</strong><br>
|
|
196
|
+
University of Texas at Dallas<br>
|
|
197
|
+
<a href="https://www.linkedin.com/in/nadineushakov/" target="_blank">
|
|
198
|
+
<img src="https://img.shields.io/badge/LinkedIn-Follow-blue?logo=linkedin&logoColor=white&style=flat" height="20">
|
|
199
|
+
</a>
|
|
200
|
+
<a href="mailto:nadine.igonin@utdallas.edu" target="_blank">
|
|
201
|
+
<img src="https://img.shields.io/badge/Email-Send-red?logo=gmail&logoColor=white&style=flat" height="20">
|
|
202
|
+
</a>
|
|
203
|
+
</td>
|
|
204
|
+
<td width="100" align="center">
|
|
205
|
+
<img src="docs/source/_static/photos/nadine.jpg" alt="Nadine" width="80" height="80" style="border-radius:50%; object-fit:cover;">
|
|
206
|
+
</td>
|
|
207
|
+
</tr>
|
|
208
|
+
<tr>
|
|
209
|
+
<td valign="middle">
|
|
210
|
+
<strong>Marine Denolle</strong><br>
|
|
211
|
+
University of Washington<br>
|
|
212
|
+
<a href="https://www.linkedin.com/in/marine-denolle-b528144b/" target="_blank">
|
|
213
|
+
<img src="https://img.shields.io/badge/LinkedIn-Follow-blue?logo=linkedin&logoColor=white&style=flat" height="20">
|
|
214
|
+
</a>
|
|
215
|
+
<a href="mailto:mdenolle@uw.edu" target="_blank">
|
|
216
|
+
<img src="https://img.shields.io/badge/Email-Send-red?logo=gmail&logoColor=white&style=flat" height="20">
|
|
217
|
+
</a>
|
|
218
|
+
</td>
|
|
219
|
+
<td width="100" align="center">
|
|
220
|
+
<img src="docs/source/_static/photos/marine.jpg" alt="Marine" width="80" height="80" style="border-radius:50%; object-fit:cover;">
|
|
221
|
+
</td>
|
|
222
|
+
</tr>
|
|
223
|
+
</table>
|
|
224
|
+
|
|
225
|
+
|
utdquake-0.2/README.md
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
|
|
2
|
+
[](https://pypi.org/project/utdquake/)    [](https://www.linkedin.com/in/ecastillot/)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
<img src="docs/source/_static/logo/utdquake_logo_ok.png" alt="seismonitor" width="150">
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
# <span style="background:#E87500; color:white; padding:2px 6px; border-radius:6px;">UTD</span>Quake
|
|
9
|
+
-->
|
|
10
|
+
|
|
11
|
+
**University of Texas at Dallas Earthquake Dataset**
|
|
12
|
+
|
|
13
|
+
A global earthquake dataset constructed from high-quality source and receiver metadata, including associated seismic phase picks across diverse station geometries.
|
|
14
|
+
|
|
15
|
+

|
|
16
|
+
|
|
17
|
+
# Documentation
|
|
18
|
+
|
|
19
|
+
Full documentation for UTDQuake is available here:
|
|
20
|
+
|
|
21
|
+
[](https://utdquake.readthedocs.io/en/latest/index.html)
|
|
22
|
+
|
|
23
|
+
You will see:
|
|
24
|
+
|
|
25
|
+
- QuickStart guide to get you up and running
|
|
26
|
+
- Detailed API reference
|
|
27
|
+
- Tutorials and example workflows
|
|
28
|
+
|
|
29
|
+
# Dataset
|
|
30
|
+
|
|
31
|
+
The dataset is available on Hugging Face: **UTDQuake**
|
|
32
|
+
|
|
33
|
+
[](https://huggingface.co/datasets/ecastillot/UTDQuake)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Installation ([utdquake](https://pypi.org/project/utdquake))
|
|
37
|
+
```bash
|
|
38
|
+
pip install utdquake
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Why this dataset matters?
|
|
42
|
+
|
|
43
|
+
Curated datasets of earthquake **events and phase picks** are essential for modern seismology, especially in the AI era. While waveform datasets have advanced earthquake detection, multistation picks provide complementary information crucial for **phase association** and **earthquake location**.
|
|
44
|
+
|
|
45
|
+
This dataset offers structured event catalogs, station metadata, and phase picks across networks, supporting reproducible research and the development of data-driven seismological methods.
|
|
46
|
+
|
|
47
|
+
## What’s inside?
|
|
48
|
+
|
|
49
|
+
| Directory | Format | Description |
|
|
50
|
+
|------------|---------------|-------------|
|
|
51
|
+
| `network/` | `*.parquet` | Network metadata. |
|
|
52
|
+
| `events/` | `*.parquet` | Earthquake event catalogs per network. |
|
|
53
|
+
| `stations/` | `*.parquet` | Station metadata per network. |
|
|
54
|
+
| `picks/` | `*.parquet` | Seismic phase pick datasets per network. |
|
|
55
|
+
| `bank/` | `*.zip` | ObsPlus `EventBank` datasets, one per network. Can be read directly using [ObsPlus EventBank](https://niosh-mining.github.io/obsplus/versions/latest/api/obsplus.bank.eventbank.html). |
|
|
56
|
+
|
|
57
|
+
For details on the contents and schema of each dataset, please refer to the [Hugging Face dataset viewer](https://huggingface.co/datasets/ecastillot/UTDQuake/viewer).
|
|
58
|
+
|
|
59
|
+
To get started, see the [Quick Start](#quick-start) section below, or click **“Use this dataset”** on the Hugging Face dataset page for example loading code.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## Quick start
|
|
63
|
+
|
|
64
|
+
### Basic Access
|
|
65
|
+
```python
|
|
66
|
+
import utdquake as utdq
|
|
67
|
+
|
|
68
|
+
# dataset overview
|
|
69
|
+
dataset = utdq.Dataset()
|
|
70
|
+
print(dataset)
|
|
71
|
+
|
|
72
|
+
# network level
|
|
73
|
+
network_data = dataset.networks
|
|
74
|
+
print(network_data)
|
|
75
|
+
|
|
76
|
+
dataset.plot_overview(savepath="utdquake.png")
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Network Data
|
|
80
|
+
```python
|
|
81
|
+
# load network
|
|
82
|
+
network = dataset.get_network(name="tx")
|
|
83
|
+
print(network)
|
|
84
|
+
|
|
85
|
+
# events
|
|
86
|
+
events = network.events
|
|
87
|
+
print(events)
|
|
88
|
+
|
|
89
|
+
# stations
|
|
90
|
+
stations = network.stations
|
|
91
|
+
print(stations)
|
|
92
|
+
|
|
93
|
+
# picks
|
|
94
|
+
picks = network.picks
|
|
95
|
+
print(picks)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Event Bank
|
|
99
|
+
Check [ObsPlus EventBank](https://niosh-mining.github.io/obsplus/versions/latest/api/obsplus.bank.eventbank.html) for more details.
|
|
100
|
+
```python
|
|
101
|
+
# get event bank
|
|
102
|
+
ebank = network.bank #
|
|
103
|
+
|
|
104
|
+
# Example: Filter by event_id
|
|
105
|
+
ev_ids = events["event_id"].iloc[:5].tolist()
|
|
106
|
+
cat = ebank.get_events(event_id=ev_ids)
|
|
107
|
+
print(cat)
|
|
108
|
+
|
|
109
|
+
# Example 2: Other filter (check obsplus.EventBank for more details)
|
|
110
|
+
cat2 = ebank.get_events(minmagnitude=4.3)
|
|
111
|
+
print(cat2)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
### Plot
|
|
116
|
+
```python
|
|
117
|
+
# get Obspy Event
|
|
118
|
+
network = dataset.get_network(name="tx")
|
|
119
|
+
network.plot_overview(savepath="overview.png")
|
|
120
|
+
network.plot_uncertainty_boxplots(savepath="uncertainty_boxplots.png")
|
|
121
|
+
network.plot_station_location_uncertainty(savepath="station_location_uncertainty.png")
|
|
122
|
+
network.plot_stats(savepath="stats.png")
|
|
123
|
+
network.plot_pick_histograms(savepath="histograms.png")
|
|
124
|
+
network.plot_pick_stats(savepath="pick_stats.png")
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
# Thanks
|
|
128
|
+
|
|
129
|
+
Thanks to the [UT Dallas HPC team](https://hpc.utdallas.edu/) for providing the computational resources for this dataset.
|
|
130
|
+
|
|
131
|
+
We also thank the seismology and AI communities for their work in earthquake research, and Hugging Face for hosting and sharing open datasets.
|
|
132
|
+
|
|
133
|
+
We welcome feedback and contributions!
|
|
134
|
+
|
|
135
|
+
# Authors
|
|
136
|
+
|
|
137
|
+
<table>
|
|
138
|
+
<tr>
|
|
139
|
+
<td valign="middle">
|
|
140
|
+
<strong>Emmanuel Castillo</strong><br>
|
|
141
|
+
University of Texas at Dallas<br>
|
|
142
|
+
<a href="https://www.linkedin.com/in/ecastillot/" target="_blank">
|
|
143
|
+
<img src="https://img.shields.io/badge/LinkedIn-Follow-blue?logo=linkedin&logoColor=white&style=flat" height="20">
|
|
144
|
+
</a>
|
|
145
|
+
<a href="mailto:castillo.280997@gmail.com" target="_blank">
|
|
146
|
+
<img src="https://img.shields.io/badge/Email-Send-red?logo=gmail&logoColor=white&style=flat" height="20">
|
|
147
|
+
</a>
|
|
148
|
+
</td>
|
|
149
|
+
<td width="100" align="center">
|
|
150
|
+
<img src="docs/source/_static/photos/emmanuel.jpg" alt="Emmanuel" width="80" height="80" style="border-radius:50%; object-fit:cover;">
|
|
151
|
+
</td>
|
|
152
|
+
</tr>
|
|
153
|
+
<tr>
|
|
154
|
+
<td valign="middle">
|
|
155
|
+
<strong>Nadine Ushakov</strong><br>
|
|
156
|
+
University of Texas at Dallas<br>
|
|
157
|
+
<a href="https://www.linkedin.com/in/nadineushakov/" target="_blank">
|
|
158
|
+
<img src="https://img.shields.io/badge/LinkedIn-Follow-blue?logo=linkedin&logoColor=white&style=flat" height="20">
|
|
159
|
+
</a>
|
|
160
|
+
<a href="mailto:nadine.igonin@utdallas.edu" target="_blank">
|
|
161
|
+
<img src="https://img.shields.io/badge/Email-Send-red?logo=gmail&logoColor=white&style=flat" height="20">
|
|
162
|
+
</a>
|
|
163
|
+
</td>
|
|
164
|
+
<td width="100" align="center">
|
|
165
|
+
<img src="docs/source/_static/photos/nadine.jpg" alt="Nadine" width="80" height="80" style="border-radius:50%; object-fit:cover;">
|
|
166
|
+
</td>
|
|
167
|
+
</tr>
|
|
168
|
+
<tr>
|
|
169
|
+
<td valign="middle">
|
|
170
|
+
<strong>Marine Denolle</strong><br>
|
|
171
|
+
University of Washington<br>
|
|
172
|
+
<a href="https://www.linkedin.com/in/marine-denolle-b528144b/" target="_blank">
|
|
173
|
+
<img src="https://img.shields.io/badge/LinkedIn-Follow-blue?logo=linkedin&logoColor=white&style=flat" height="20">
|
|
174
|
+
</a>
|
|
175
|
+
<a href="mailto:mdenolle@uw.edu" target="_blank">
|
|
176
|
+
<img src="https://img.shields.io/badge/Email-Send-red?logo=gmail&logoColor=white&style=flat" height="20">
|
|
177
|
+
</a>
|
|
178
|
+
</td>
|
|
179
|
+
<td width="100" align="center">
|
|
180
|
+
<img src="docs/source/_static/photos/marine.jpg" alt="Marine" width="80" height="80" style="border-radius:50%; object-fit:cover;">
|
|
181
|
+
</td>
|
|
182
|
+
</tr>
|
|
183
|
+
</table>
|
|
184
|
+
|
|
185
|
+
|
|
@@ -20,9 +20,11 @@ Usage
|
|
|
20
20
|
>>> net.events.head()
|
|
21
21
|
|
|
22
22
|
"""
|
|
23
|
-
__version__ = "0.
|
|
23
|
+
__version__ = "0.2"
|
|
24
24
|
|
|
25
25
|
from .core.utdquake import Dataset, Network
|
|
26
26
|
from .core.data import download_snapshot, load
|
|
27
|
+
from .core.patch import utdquake_obspy_patch
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
utdquake_obspy_patch()
|
|
30
|
+
__all__ = ["Dataset", "Network", "download_snapshot", "load"]
|