eqcctpro 0.6.3__tar.gz → 0.6.5__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.

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
3
+ Version: 0.6.5
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/
@@ -155,7 +155,7 @@ There are three main capabilities of EQCCTPro:
155
155
 
156
156
  These capabilities are achieved using the following core functions:
157
157
 
158
- - **EQCCTMSeedRunner** (for processing mSEED data)
158
+ - **RunEQCCTPro** (for processing mSEED data)
159
159
 
160
160
  - **EvaluateSystem** (for system evaluation)
161
161
 
@@ -164,9 +164,9 @@ These capabilities are achieved using the following core functions:
164
164
  - **OptimalGPUConfigurationFinder** (for GPU configuration optimization)
165
165
 
166
166
  ---
167
- ### **Processing mSEED data using EQCCTPro (EQCCTMSeedRunner)**
168
- To process mSEED from various seismic stations, use the **EQCCTMSeedRunner** class.
169
- **EQCCTMSeedRunner** enables users to process multiple mSEED from a given input directory, which consists of station directories formatted as follows:
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:
170
170
 
171
171
  ```sh
172
172
  [skevofilaxc 230_stations_1_min_dt]$ ls
@@ -199,12 +199,12 @@ TX.PB35.00.HH2__20241215T115800Z__20241215T120100Z.mseed
199
199
  ```
200
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.
201
201
 
202
- After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **EQCCTMseedRunner** as show below:
202
+ After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **RunEQCCTPro** as show below:
203
203
 
204
204
  ```python
205
- from eqcctpro import EQCCTMSeedRunner
205
+ from eqcctpro import RunEQCCTPro
206
206
 
207
- eqcct_runner = EQCCTMSeedRunner(
207
+ eqcct_runner = RunEQCCTPro(
208
208
  use_gpu=False,
209
209
  intra_threads=1,
210
210
  inter_threads=1,
@@ -221,7 +221,7 @@ eqcct_runner = EQCCTMSeedRunner(
221
221
  best_usecase_config=True,
222
222
  csv_dir='/path/to/csv',
223
223
  selected_gpus=[0],
224
- set_vram_mb=24750,
224
+ vram_mb=24750,
225
225
  specific_stations='AT01, BP01, DG05',
226
226
  start_time='2024-12-14 12:00:00',
227
227
  end_time='2024-12-15 12:00:00',
@@ -231,7 +231,7 @@ eqcct_runner = EQCCTMSeedRunner(
231
231
  eqcct_runner.run_eqcctpro()
232
232
  ```
233
233
 
234
- **EQCCTMseedRunner** has multiple input parameters that need to be configured and are defined below:
234
+ **RunEQCCTPro** has multiple input parameters that need to be configured and are defined below:
235
235
 
236
236
  - **`use_gpu (bool)`: True or False**
237
237
  - Tells Ray to use either the GPU(s) (True) or CPUs (False) on your computer to process the waveforms in the entire workflow
@@ -280,7 +280,7 @@ eqcct_runner.run_eqcctpro()
280
280
  - **`selected_gpus (list)`: default = None**
281
281
  - List of GPU IDs on your computer you want to use if `use_gpu = True`
282
282
  - None existing GPU IDs will cause the code to exit
283
- - **`set_vram_mb (float)`**
283
+ - **`vram_mb (float)`**
284
284
  - Value of the maximum amount of VRAM EQCCTPro can use
285
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**
286
286
  - **`specific_stations (str)`: default = None**
@@ -313,28 +313,6 @@ eqcct_runner.run_eqcctpro()
313
313
  ### **Evaluating Your Systems Runtime Performance Capabilites**
314
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:
315
315
 
316
- ```python
317
- from eqcctpro import EvaluateSystem
318
-
319
- eval_gpu = EvaluateSystem(
320
- mode='gpu',
321
- intra_threads=1,
322
- inter_threads=1,
323
- input_dir='/path/to/mseed',
324
- output_dir='/path/to/outputs',
325
- log_filepath='/path/to/outputs/eqcctpro.log',
326
- csv_dir='/path/to/csv',
327
- P_threshold=0.001,
328
- S_threshold=0.02,
329
- p_model_filepath='/path/to/model_p.h5',
330
- s_model_filepath='/path/to/model_s.h5',
331
- cpu_id_list=[0,1],
332
- set_vram_mb=24750,
333
- selected_gpus=[0],
334
- stations2use=2
335
- )
336
- eval_gpu.evaluate()
337
- ```
338
316
 
339
317
  ```python
340
318
  from eqcctpro import EvaluateSystem
@@ -368,9 +346,32 @@ eval_cpu = EvaluateSystem(
368
346
  eval_cpu.evaluate()
369
347
  ```
370
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
+
371
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.
372
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,
373
- the trial data will be available and can be used to identify the optimal input parallelization configurations for **EQCCTMSeedRunner** to use to get the maximum amount of processing out of your system in the shortest amonut of time.
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.
374
375
 
375
376
  The following input parameters need to be configurated for **EvaluateSystem** to evaluate your system based on your desired utilization of EQCCTPro:
376
377
 
@@ -454,10 +455,10 @@ The following input parameters need to be configurated for **EvaluateSystem** to
454
455
  - **`tmp_dir (str)`: default = 1**
455
456
  - A temporary directory to store all temp files produced by EQCCTPro
456
457
  - Used to help ease system cleanup and to not write to system's default temporary directory
457
- - **`set_vram_mb (float)`**
458
+ - **`vram_mb (float)`**
458
459
  - Maximum amount of VRAM each Raylet can use (float).
459
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
460
- - Good rule of thumb for calculating `set_vram_mb` = (GPU VRAM * .90 (to be safe)) / number_of_concurrent_station_predictions * number_of_concurrent_timechunk_predictions
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
461
462
  - **`selected_gpus (list)`: default = None**
462
463
  - List of GPU IDs on your computer you want to use if `mode = 'gpu'`
463
464
  - Non-existing GPU IDs will cause the code to exit
@@ -123,7 +123,7 @@ There are three main capabilities of EQCCTPro:
123
123
 
124
124
  These capabilities are achieved using the following core functions:
125
125
 
126
- - **EQCCTMSeedRunner** (for processing mSEED data)
126
+ - **RunEQCCTPro** (for processing mSEED data)
127
127
 
128
128
  - **EvaluateSystem** (for system evaluation)
129
129
 
@@ -132,9 +132,9 @@ These capabilities are achieved using the following core functions:
132
132
  - **OptimalGPUConfigurationFinder** (for GPU configuration optimization)
133
133
 
134
134
  ---
135
- ### **Processing mSEED data using EQCCTPro (EQCCTMSeedRunner)**
136
- To process mSEED from various seismic stations, use the **EQCCTMSeedRunner** class.
137
- **EQCCTMSeedRunner** enables users to process multiple mSEED from a given input directory, which consists of station directories formatted as follows:
135
+ ### **Processing mSEED data using EQCCTPro (RunEQCCTPro)**
136
+ To process mSEED from various seismic stations, use the **RunEQCCTPro** class.
137
+ **RunEQCCTPro** enables users to process multiple mSEED from a given input directory, which consists of station directories formatted as follows:
138
138
 
139
139
  ```sh
140
140
  [skevofilaxc 230_stations_1_min_dt]$ ls
@@ -167,12 +167,12 @@ TX.PB35.00.HH2__20241215T115800Z__20241215T120100Z.mseed
167
167
  ```
168
168
  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.
169
169
 
170
- After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **EQCCTMseedRunner** as show below:
170
+ After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **RunEQCCTPro** as show below:
171
171
 
172
172
  ```python
173
- from eqcctpro import EQCCTMSeedRunner
173
+ from eqcctpro import RunEQCCTPro
174
174
 
175
- eqcct_runner = EQCCTMSeedRunner(
175
+ eqcct_runner = RunEQCCTPro(
176
176
  use_gpu=False,
177
177
  intra_threads=1,
178
178
  inter_threads=1,
@@ -189,7 +189,7 @@ eqcct_runner = EQCCTMSeedRunner(
189
189
  best_usecase_config=True,
190
190
  csv_dir='/path/to/csv',
191
191
  selected_gpus=[0],
192
- set_vram_mb=24750,
192
+ vram_mb=24750,
193
193
  specific_stations='AT01, BP01, DG05',
194
194
  start_time='2024-12-14 12:00:00',
195
195
  end_time='2024-12-15 12:00:00',
@@ -199,7 +199,7 @@ eqcct_runner = EQCCTMSeedRunner(
199
199
  eqcct_runner.run_eqcctpro()
200
200
  ```
201
201
 
202
- **EQCCTMseedRunner** has multiple input parameters that need to be configured and are defined below:
202
+ **RunEQCCTPro** has multiple input parameters that need to be configured and are defined below:
203
203
 
204
204
  - **`use_gpu (bool)`: True or False**
205
205
  - Tells Ray to use either the GPU(s) (True) or CPUs (False) on your computer to process the waveforms in the entire workflow
@@ -248,7 +248,7 @@ eqcct_runner.run_eqcctpro()
248
248
  - **`selected_gpus (list)`: default = None**
249
249
  - List of GPU IDs on your computer you want to use if `use_gpu = True`
250
250
  - None existing GPU IDs will cause the code to exit
251
- - **`set_vram_mb (float)`**
251
+ - **`vram_mb (float)`**
252
252
  - Value of the maximum amount of VRAM EQCCTPro can use
253
253
  - 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**
254
254
  - **`specific_stations (str)`: default = None**
@@ -281,28 +281,6 @@ eqcct_runner.run_eqcctpro()
281
281
  ### **Evaluating Your Systems Runtime Performance Capabilites**
282
282
  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:
283
283
 
284
- ```python
285
- from eqcctpro import EvaluateSystem
286
-
287
- eval_gpu = EvaluateSystem(
288
- mode='gpu',
289
- intra_threads=1,
290
- inter_threads=1,
291
- input_dir='/path/to/mseed',
292
- output_dir='/path/to/outputs',
293
- log_filepath='/path/to/outputs/eqcctpro.log',
294
- csv_dir='/path/to/csv',
295
- P_threshold=0.001,
296
- S_threshold=0.02,
297
- p_model_filepath='/path/to/model_p.h5',
298
- s_model_filepath='/path/to/model_s.h5',
299
- cpu_id_list=[0,1],
300
- set_vram_mb=24750,
301
- selected_gpus=[0],
302
- stations2use=2
303
- )
304
- eval_gpu.evaluate()
305
- ```
306
284
 
307
285
  ```python
308
286
  from eqcctpro import EvaluateSystem
@@ -336,9 +314,32 @@ eval_cpu = EvaluateSystem(
336
314
  eval_cpu.evaluate()
337
315
  ```
338
316
 
317
+ ```python
318
+ from eqcctpro import EvaluateSystem
319
+
320
+ eval_gpu = EvaluateSystem(
321
+ mode='gpu',
322
+ intra_threads=1,
323
+ inter_threads=1,
324
+ input_dir='/path/to/mseed',
325
+ output_dir='/path/to/outputs',
326
+ log_filepath='/path/to/outputs/eqcctpro.log',
327
+ csv_dir='/path/to/csv',
328
+ P_threshold=0.001,
329
+ S_threshold=0.02,
330
+ p_model_filepath='/path/to/model_p.h5',
331
+ s_model_filepath='/path/to/model_s.h5',
332
+ cpu_id_list=[0,1],
333
+ vram_mb=24750,
334
+ selected_gpus=[0],
335
+ stations2use=2
336
+ )
337
+ eval_gpu.evaluate()
338
+ ```
339
+
339
340
  **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.
340
341
  **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,
341
- the trial data will be available and can be used to identify the optimal input parallelization configurations for **EQCCTMSeedRunner** to use to get the maximum amount of processing out of your system in the shortest amonut of time.
342
+ 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.
342
343
 
343
344
  The following input parameters need to be configurated for **EvaluateSystem** to evaluate your system based on your desired utilization of EQCCTPro:
344
345
 
@@ -422,10 +423,10 @@ The following input parameters need to be configurated for **EvaluateSystem** to
422
423
  - **`tmp_dir (str)`: default = 1**
423
424
  - A temporary directory to store all temp files produced by EQCCTPro
424
425
  - Used to help ease system cleanup and to not write to system's default temporary directory
425
- - **`set_vram_mb (float)`**
426
+ - **`vram_mb (float)`**
426
427
  - Maximum amount of VRAM each Raylet can use (float).
427
428
  - 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
428
- - Good rule of thumb for calculating `set_vram_mb` = (GPU VRAM * .90 (to be safe)) / number_of_concurrent_station_predictions * number_of_concurrent_timechunk_predictions
429
+ - Good rule of thumb for calculating `vram_mb` = (GPU VRAM * .90 (to be safe)) / number_of_concurrent_station_predictions * number_of_concurrent_timechunk_predictions
429
430
  - **`selected_gpus (list)`: default = None**
430
431
  - List of GPU IDs on your computer you want to use if `mode = 'gpu'`
431
432
  - Non-existing GPU IDs will cause the code to exit
@@ -0,0 +1,14 @@
1
+ # eqcctpro/__init__.py
2
+ from .functionality import (
3
+ RunEQCCTPro,
4
+ EvaluateSystem,
5
+ OptimalCPUConfigurationFinder,
6
+ OptimalGPUConfigurationFinder,
7
+ )
8
+ __all__ = [
9
+ "RunEQCCTPro",
10
+ "EvaluateSystem",
11
+ "OptimalCPUConfigurationFinder",
12
+ "OptimalGPUConfigurationFinder",
13
+ ]
14
+ __version__ = "0.6.5"