Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sucorrpilot

A C-based controlled-source seismic data cross-correlation program with Seismic Unix (SU) format support.

The program provides serial and OpenMP parallel implementations for efficient waveform cross-correlation using FFT-based methods.

The program reads seismic data in Seismic Unix (SU) format and performs waveform cross-correlation between seismic records and pilot signals using FFT-based methods.

Implementations

Two implementations are provided:

Dependencies

sucorrpilot uses several functions provided by Seismic Unix (SU).

The program is developed and tested with:

  • Seismic Unix (SU) release 44R24
  • GCC compiler
  • Linux operating system

The program uses SU components including:

  • SU trace data structure (segy)
  • SU trace input/output functions
  • SU FFT routines
  • SU mathematical libraries

Before compilation, please install Seismic Unix and set the environment variable:

export CWPROOT=/path/to/cwp

The Makefile uses:

SU header files:

${CWPROOT}/include

SU libraries:

${CWPROOT}/lib

Compilation

Serial version

Compile the serial implementation:

cd sucorrpilot
make

The executable will be generated as:

../bin/sucorrpilot

OpenMP version

Compile the OpenMP parallel implementation:

cd sucorrpilot_omp
make

The executable will be generated as:

../bin/sucorrpilot_omp

The OpenMP version requires OpenMP support:

-fopenmp

Usage

After successful compilation, run the executable without arguments to display the usage information.

Serial version:

sucorrpilot

OpenMP version:

sucorrpilot_omp

The program provides detailed parameter descriptions and runtime information through the built-in help message.

Examples

Two ready-to-run examples are provided in the example directory:

  • Numerical-Example: a small, fast dataset for verifying the installation and correlation result
  • Actual-Example: a field-data shot gather that demonstrates a realistic processing workflow

After compiling either implementation, run an example from the repository root. For example, with the serial executable:

./bin/sucorrpilot \
  input_dir=example/Numerical-Example/01_raw_data \
  output_dir=example/Numerical-Example/04_generated_corr \
  pilot_dir=example/Numerical-Example/03_control_signal \
  outtime=0.004 clean=1 verbose=1

The generated result can be checked against the included reference output:

cmp example/Numerical-Example/04_generated_corr/rawdata.su \
    example/Numerical-Example/02_corr_data/rawdata_corr.su

See example/README.md for the complete directory layout, commands for both datasets, and OpenMP usage.

License

This project is released under the MIT License.

About

A C-based controlled-source seismic data cross-correlation program with SU format support. Includes serial and OpenMP parallel implementations for efficient waveform correlation using FFT-based methods.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages