Skip to main content

No project description provided

Project description

EQCCTPro: powerful seismic event detection toolkit

EQCCTPro is a machine-learning based seismic event detection and processing framework designed for efficient execution on CPU and GPU architectures. It leverages machine learning models to analyze mSEED seismic data files and optimize computational resources based on the system's configuration.

Features

  • Supports both CPU and GPU execution
  • Configurable parallelism for optimized performance
  • Automatic selection of best-use-case configurations
  • Efficient handling of large-scale seismic data
  • Includes tools for evaluating system performance

Installation

To install the necessary dependencies, create a conda environment using:

conda env create -f environment.yml
conda activate eqcctpro

Usage

Running EQCCTPro

To run EQCCTPro with a specified mSEED input directory and output directory:

from eqcctpro import EQCCTMSeedRunner

eqcct_runner = EQCCTMSeedRunner(
    use_gpu=True,
    intra_threads=1,
    inter_threads=1,
    cpu_id_list=[0,1,2,3,4],
    input_dir='/path/to/mseed',
    output_dir='/path/to/outputs',
    log_filepath='/path/to/outputs/eqcctpro.log',
    P_threshold=0.001,
    S_threshold=0.02,
    p_model_filepath='/path/to/model_p.h5',
    s_model_filepath='/path/to/model_s.h5',
    number_of_concurrent_predictions=5,
    best_usecase_config=True,
    csv_dir='/path/to/csv',
    selected_gpus=[0],
    set_vram_mb=24750,
    specific_stations='AT01, BP01, DG05'
)
eqcct_runner.run_eqcctpro()

Evaluating System Performance

To evaluate the system’s GPU performance:

from eqcctpro import EvaluateSystem

eval_gpu = EvaluateSystem(
    mode='gpu',
    intra_threads=1,
    inter_threads=1,
    input_dir='/path/to/mseed',
    output_dir='/path/to/outputs',
    log_filepath='/path/to/outputs/eqcctpro.log',
    csv_dir='/path/to/csv',
    P_threshold=0.001,
    S_threshold=0.02,
    p_model_filepath='/path/to/model_p.h5',
    s_model_filepath='/path/to/model_s.h5',
    stations2use=2,
    cpu_id_list=[0,1],
    set_vram_mb=24750,
    selected_gpus=[0]
)
eval_gpu.evaluate()

Finding Optimal CPU/GPU Configurations

To determine the best CPU or GPU configuration:

from eqcctpro import OptimalCPUConfigurationFinder, OptimalGPUConfigurationFinder

csv_filepath = '/path/to/csv'

cpu_finder = OptimalCPUConfigurationFinder(csv_filepath)
best_cpu_config = cpu_finder.find_best_overall_usecase()
print(best_cpu_config)

optimal_cpu_config = cpu_finder.find_optimal_for(cpu=3, station_count=2)
print(optimal_cpu_config)

gpu_finder = OptimalGPUConfigurationFinder(csv_filepath)
best_gpu_config = gpu_finder.find_best_overall_usecase()
print(best_gpu_config)

optimal_gpu_config = gpu_finder.find_optimal_for(num_cpus=1, gpu_list=[0], station_count=1)
print(optimal_gpu_config)

Configuration

The environment.yml file specifies the dependencies required to run EQCCTPro. Ensure you have the correct versions installed by using the provided conda environment setup.

License

EQCCTPro is provided under an open-source license. See LICENSE for details.

Contact

For inquiries or issues, please contact [your email or organization link].

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eqcctpro-0.4.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eqcctpro-0.4-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file eqcctpro-0.4.tar.gz.

File metadata

  • Download URL: eqcctpro-0.4.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for eqcctpro-0.4.tar.gz
Algorithm Hash digest
SHA256 1d5043acdcbdc43842b19bd77d17bc92612edc989020ed6f66fc9aab007ca9ac
MD5 67849e399b498e0512710389c9a9ff2d
BLAKE2b-256 536b74b4bdd67cc45fa65bbd532e2db106ea87bc99c43b8cfee359b53d690b5f

See more details on using hashes here.

File details

Details for the file eqcctpro-0.4-py3-none-any.whl.

File metadata

  • Download URL: eqcctpro-0.4-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for eqcctpro-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f6c0eb00d41a1131d9f8b1ff921b1a80e381d40532e111919e341add5d3f4978
MD5 47a2159cf9ac5d2be230915f6debd56b
BLAKE2b-256 1320e8452b38ccb994b8cd681d920a3d8b527d833096edbfd48fe59cd01f11ce

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page