eqcctpro 0.6.2__py3-none-any.whl → 0.6.4__py3-none-any.whl
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.
Potentially problematic release.
This version of eqcctpro might be problematic. Click here for more details.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eqcctpro
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.4
|
|
4
4
|
Summary: EQCCTPro: A powerful seismic event detection toolkit
|
|
5
5
|
Author-email: Constantinos Skevofilax <constantinos.skevofilax@austin.utexas.edu>, Victor Salles <victor.salles@beg.utexas.edu>
|
|
6
6
|
Project-URL: Homepage, https://pypi.org/project/eqcctpro/
|
|
@@ -13,7 +13,6 @@ Requires-Dist: numpy==1.26.4
|
|
|
13
13
|
Requires-Dist: pandas==2.2.3
|
|
14
14
|
Requires-Dist: matplotlib==3.10.0
|
|
15
15
|
Requires-Dist: obspy==1.4.1
|
|
16
|
-
Requires-Dist: progress==1.6
|
|
17
16
|
Requires-Dist: psutil==6.1.1
|
|
18
17
|
Requires-Dist: ray==2.42.1
|
|
19
18
|
Requires-Dist: schedule==1.2.2
|
|
@@ -72,7 +71,7 @@ After activating your new conda environment, run the following command:
|
|
|
72
71
|
```sh
|
|
73
72
|
pip install eqcctpro
|
|
74
73
|
```
|
|
75
|
-
You will have access to EQCCTPro and its functionality. However you will not have immediate access to the provided sample waveform data to use for testing.
|
|
74
|
+
You will have access to EQCCTPro and its functionality. However you will not have immediate access to the provided sample waveform data to use for testing. You can pull the waveform data either by downloading the .zip file from the repository or by following step 3.
|
|
76
75
|
|
|
77
76
|
### **Step 3 (Optional): Pull the EQCCTPro Folder**
|
|
78
77
|
Although not required, **it is highly recommended** to pull the `EQCCTPro` folder to gain access to sample waveform data for testing.
|
|
@@ -107,18 +106,8 @@ conda env create -f environment.yml
|
|
|
107
106
|
conda activate eqcctpro
|
|
108
107
|
```
|
|
109
108
|
|
|
110
|
-
### **Step 3: Install EQCCTPro**
|
|
111
|
-
After activating the environment, install the EQCCTPro package:
|
|
112
|
-
```sh
|
|
113
|
-
pip install eqcctpro
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
This will install any remaining dependencies needed for **EQCCTPro**.
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
109
|
## **More Information**
|
|
121
|
-
For additional
|
|
110
|
+
For additional package updates, continue to check either this repository or visit the **EQCCTPro PyPI page**:
|
|
122
111
|
🔗 [EQCCTPro on PyPI](https://pypi.org/project/eqcctpro/)
|
|
123
112
|
|
|
124
113
|
---
|
|
@@ -166,7 +155,7 @@ There are three main capabilities of EQCCTPro:
|
|
|
166
155
|
|
|
167
156
|
These capabilities are achieved using the following core functions:
|
|
168
157
|
|
|
169
|
-
- **
|
|
158
|
+
- **RunEQCCTPro** (for processing mSEED data)
|
|
170
159
|
|
|
171
160
|
- **EvaluateSystem** (for system evaluation)
|
|
172
161
|
|
|
@@ -175,9 +164,9 @@ These capabilities are achieved using the following core functions:
|
|
|
175
164
|
- **OptimalGPUConfigurationFinder** (for GPU configuration optimization)
|
|
176
165
|
|
|
177
166
|
---
|
|
178
|
-
### **Processing mSEED data using EQCCTPro (
|
|
179
|
-
To process mSEED from various seismic stations, use the **
|
|
180
|
-
**
|
|
167
|
+
### **Processing mSEED data using EQCCTPro (RunEQCCTPro)**
|
|
168
|
+
To process mSEED from various seismic stations, use the **RunEQCCTPro** class.
|
|
169
|
+
**RunEQCCTPro** enables users to process multiple mSEED from a given input directory, which consists of station directories formatted as follows:
|
|
181
170
|
|
|
182
171
|
```sh
|
|
183
172
|
[skevofilaxc 230_stations_1_min_dt]$ ls
|
|
@@ -210,12 +199,12 @@ TX.PB35.00.HH2__20241215T115800Z__20241215T120100Z.mseed
|
|
|
210
199
|
```
|
|
211
200
|
EQCCT only needs one pose for the detection to occur, however more poses allow for better detection of the direction of the P and S waves.
|
|
212
201
|
|
|
213
|
-
After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **
|
|
202
|
+
After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **RunEQCCTPro** as show below:
|
|
214
203
|
|
|
215
204
|
```python
|
|
216
|
-
from eqcctpro import
|
|
205
|
+
from eqcctpro import RunEQCCTPro
|
|
217
206
|
|
|
218
|
-
eqcct_runner =
|
|
207
|
+
eqcct_runner = RunEQCCTPro(
|
|
219
208
|
use_gpu=False,
|
|
220
209
|
intra_threads=1,
|
|
221
210
|
inter_threads=1,
|
|
@@ -232,7 +221,7 @@ eqcct_runner = EQCCTMSeedRunner(
|
|
|
232
221
|
best_usecase_config=True,
|
|
233
222
|
csv_dir='/path/to/csv',
|
|
234
223
|
selected_gpus=[0],
|
|
235
|
-
|
|
224
|
+
vram_mb=24750,
|
|
236
225
|
specific_stations='AT01, BP01, DG05',
|
|
237
226
|
start_time='2024-12-14 12:00:00',
|
|
238
227
|
end_time='2024-12-15 12:00:00',
|
|
@@ -242,7 +231,7 @@ eqcct_runner = EQCCTMSeedRunner(
|
|
|
242
231
|
eqcct_runner.run_eqcctpro()
|
|
243
232
|
```
|
|
244
233
|
|
|
245
|
-
**
|
|
234
|
+
**RunEQCCTPro** has multiple input parameters that need to be configured and are defined below:
|
|
246
235
|
|
|
247
236
|
- **`use_gpu (bool)`: True or False**
|
|
248
237
|
- Tells Ray to use either the GPU(s) (True) or CPUs (False) on your computer to process the waveforms in the entire workflow
|
|
@@ -291,7 +280,7 @@ eqcct_runner.run_eqcctpro()
|
|
|
291
280
|
- **`selected_gpus (list)`: default = None**
|
|
292
281
|
- List of GPU IDs on your computer you want to use if `use_gpu = True`
|
|
293
282
|
- None existing GPU IDs will cause the code to exit
|
|
294
|
-
- **`
|
|
283
|
+
- **`vram_mb (float)`**
|
|
295
284
|
- Value of the maximum amount of VRAM EQCCTPro can use
|
|
296
285
|
- Must be a real value that is based on your hardware's physical memory space, if it exceeds the space the code will break due to **OutOfMemoryError**
|
|
297
286
|
- **`specific_stations (str)`: default = None**
|
|
@@ -324,28 +313,6 @@ eqcct_runner.run_eqcctpro()
|
|
|
324
313
|
### **Evaluating Your Systems Runtime Performance Capabilites**
|
|
325
314
|
To evaluate your system’s runtime performance capabilites for both your CPU(s) and GPU(s), the **EvaluateSystem** class allows you to autonomously evaluate your system:
|
|
326
315
|
|
|
327
|
-
```python
|
|
328
|
-
from eqcctpro import EvaluateSystem
|
|
329
|
-
|
|
330
|
-
eval_gpu = EvaluateSystem(
|
|
331
|
-
mode='gpu',
|
|
332
|
-
intra_threads=1,
|
|
333
|
-
inter_threads=1,
|
|
334
|
-
input_dir='/path/to/mseed',
|
|
335
|
-
output_dir='/path/to/outputs',
|
|
336
|
-
log_filepath='/path/to/outputs/eqcctpro.log',
|
|
337
|
-
csv_dir='/path/to/csv',
|
|
338
|
-
P_threshold=0.001,
|
|
339
|
-
S_threshold=0.02,
|
|
340
|
-
p_model_filepath='/path/to/model_p.h5',
|
|
341
|
-
s_model_filepath='/path/to/model_s.h5',
|
|
342
|
-
cpu_id_list=[0,1],
|
|
343
|
-
set_vram_mb=24750,
|
|
344
|
-
selected_gpus=[0],
|
|
345
|
-
stations2use=2
|
|
346
|
-
)
|
|
347
|
-
eval_gpu.evaluate()
|
|
348
|
-
```
|
|
349
316
|
|
|
350
317
|
```python
|
|
351
318
|
from eqcctpro import EvaluateSystem
|
|
@@ -379,13 +346,36 @@ eval_cpu = EvaluateSystem(
|
|
|
379
346
|
eval_cpu.evaluate()
|
|
380
347
|
```
|
|
381
348
|
|
|
349
|
+
```python
|
|
350
|
+
from eqcctpro import EvaluateSystem
|
|
351
|
+
|
|
352
|
+
eval_gpu = EvaluateSystem(
|
|
353
|
+
mode='gpu',
|
|
354
|
+
intra_threads=1,
|
|
355
|
+
inter_threads=1,
|
|
356
|
+
input_dir='/path/to/mseed',
|
|
357
|
+
output_dir='/path/to/outputs',
|
|
358
|
+
log_filepath='/path/to/outputs/eqcctpro.log',
|
|
359
|
+
csv_dir='/path/to/csv',
|
|
360
|
+
P_threshold=0.001,
|
|
361
|
+
S_threshold=0.02,
|
|
362
|
+
p_model_filepath='/path/to/model_p.h5',
|
|
363
|
+
s_model_filepath='/path/to/model_s.h5',
|
|
364
|
+
cpu_id_list=[0,1],
|
|
365
|
+
vram_mb=24750,
|
|
366
|
+
selected_gpus=[0],
|
|
367
|
+
stations2use=2
|
|
368
|
+
)
|
|
369
|
+
eval_gpu.evaluate()
|
|
370
|
+
```
|
|
371
|
+
|
|
382
372
|
**EvaluateSystem** will iterate through different combinations of CPU(s), Concurrent Timechunk and Station Tasks, as well as GPU(s), and the amount of VRAM (MB) each Concurrent Prediction can use.
|
|
383
373
|
**EvaluateSystem** will take time, depending on the number of CPU/GPUs, the amount of VRAM available, and the total workload that needs to be tested. However, after doing the testing once for most if not all usecases,
|
|
384
|
-
the trial data will be available and can be used to identify the optimal input parallelization configurations for **
|
|
374
|
+
the trial data will be available and can be used to identify the optimal input parallelization configurations for **RunEQCCTPro** to use to get the maximum amount of processing out of your system in the shortest amonut of time.
|
|
385
375
|
|
|
386
376
|
The following input parameters need to be configurated for **EvaluateSystem** to evaluate your system based on your desired utilization of EQCCTPro:
|
|
387
377
|
|
|
388
|
-
- **`
|
|
378
|
+
- **`eval_mode (str)`**
|
|
389
379
|
- Can be either `cpu` or `gpu`
|
|
390
380
|
- Tells `EvaluateSystem` which computing approach the trials should it iterate with
|
|
391
381
|
- **`intra_threads (int)`: default = 1**
|
|
@@ -434,7 +424,7 @@ The following input parameters need to be configurated for **EvaluateSystem** to
|
|
|
434
424
|
- **`station_list_step_size (int)`: default = 1**
|
|
435
425
|
- You can set a step size for the station list that is generated
|
|
436
426
|
- For example if the stepsize is set to 10 and you start with 50 stations with a max of 100, then your list would be: [50, 60, 70, 80, 80, 100]
|
|
437
|
-
- Using 1 will use the default step size of 1-10, then step size of 5 up to
|
|
427
|
+
- Using 1 will use the default step size of 1-10, then step size of 5 up to stations2use
|
|
438
428
|
- **`min_conc_stations (int)`: default = 1**
|
|
439
429
|
- Is the minimum amount of concurrent stations predictions you want each trial iteration to start with
|
|
440
430
|
- By default, if `min_conc_predictions` and `conc_predictions_step_size` are set to 1, a custom step size iteration will be applied to test the 50 sample waveforms. The sequence follows: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, n+5, 50].
|
|
@@ -465,9 +455,10 @@ The following input parameters need to be configurated for **EvaluateSystem** to
|
|
|
465
455
|
- **`tmp_dir (str)`: default = 1**
|
|
466
456
|
- A temporary directory to store all temp files produced by EQCCTPro
|
|
467
457
|
- Used to help ease system cleanup and to not write to system's default temporary directory
|
|
468
|
-
- **`
|
|
469
|
-
-
|
|
470
|
-
- Must be a real value that is based on your
|
|
458
|
+
- **`vram_mb (float)`**
|
|
459
|
+
- Maximum amount of VRAM each Raylet can use (float).
|
|
460
|
+
- Must be a real value that is based on your GPU's physical VRAM space, if it exceeds the space the code will break due to OutOfMemoryError
|
|
461
|
+
- Good rule of thumb for calculating `vram_mb` = (GPU VRAM * .90 (to be safe)) / number_of_concurrent_station_predictions * number_of_concurrent_timechunk_predictions
|
|
471
462
|
- **`selected_gpus (list)`: default = None**
|
|
472
463
|
- List of GPU IDs on your computer you want to use if `mode = 'gpu'`
|
|
473
464
|
- Non-existing GPU IDs will cause the code to exit
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
eqcctpro/__init__.py,sha256=JK27ZrLxVDNHsdorp7UAislI8haH23rZhnEivVM7hgA,141
|
|
2
|
+
eqcctpro-0.6.4.dist-info/METADATA,sha256=kUpXBT3BRBfi8LTzH0Lncc7m2BdUp3LHCPc0W4cGD0s,31502
|
|
3
|
+
eqcctpro-0.6.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
4
|
+
eqcctpro-0.6.4.dist-info/top_level.txt,sha256=u0cu2JdF7Z0ob7y4XdUCLoSGp_xOudAYz-fbsQ-B1yY,9
|
|
5
|
+
eqcctpro-0.6.4.dist-info/RECORD,,
|
eqcctpro-0.6.2.dist-info/RECORD
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
eqcctpro/__init__.py,sha256=JK27ZrLxVDNHsdorp7UAislI8haH23rZhnEivVM7hgA,141
|
|
2
|
-
eqcctpro-0.6.2.dist-info/METADATA,sha256=lAvGe6qc2skJvJ65-4cMjS_ad8PxCN93vBvglb8XDmc,31595
|
|
3
|
-
eqcctpro-0.6.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
4
|
-
eqcctpro-0.6.2.dist-info/top_level.txt,sha256=u0cu2JdF7Z0ob7y4XdUCLoSGp_xOudAYz-fbsQ-B1yY,9
|
|
5
|
-
eqcctpro-0.6.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|