DAS-VSP-data-process is a Python-based source code package developed by Dr. Xu Shibo from ENEOS Xplora. It provides an end-to-end framework for processing Distributed Acoustic Sensing Vertical Seismic Profiling (DAS-VSP) data, from source wavelet estimation and DAS data conditioning to numerical forward modeling, Full Waveform Inversion (FWI), and Reverse Time Migration (RTM) imaging.
The toolkit follows a practical DAS-VSP workflow: estimate the source from geophone VSP data, build subsurface models from sonic logs, process raw DAS traces into clean up-going wavefields, invert for the velocity model using FWI, and generate depth images with RTM around the observation well.
To install DAS-VSP-data-process, first clone the repository:
git clone https://github.com/XU-SB/DAS-VSP-data-process.git
cd DAS-VSP-data-process
The package is designed to run on Linux systems, typically from Python scripts or Jupyter notebooks.
Core dependencies
numpyscipymatplotlibpandas
Optional (workflow dependent)
lasio– LAS well log readingpyseis– seismic modeling / inversion backend for forward modeling, FWI, and RTM
Install the required packages using pip inside your preferred virtual environment.
FWI and RTM are computationally intensive. A GPU-capable backend (e.g., using pyseis with CUDA-enabled hardware) is strongly recommended, especially for large models or 2D/3D experiments.
The repository is organized into several top-level modules, each corresponding to a key stage in the DAS-VSP workflow:
- Reads geophone VSP records.
- Computes autocorrelation to estimate the effective source wavelet.
- Outputs a source function that can be reused in forward modeling, FWI, and RTM.
- Builds 1D/2D velocity and density models from sonic logs (and density logs if available).
- Uses the estimated source wavelet to generate synthetic VSP or DAS-VSP data.
- Provides reference synthetic data sets and initial models for testing the processing and inversion flow.
Implements the main DAS-VSP data-processing sequence (corresponding to the “Workflow for Data-Processing_ENEOS” figure):
- Trim raw DAS data and apply demean.
- Apply band-limited filtering (e.g., 5–80 Hz).
- Pick first arrivals using sonic-log-based timing.
- Estimate the down-going wavefield (corridor-style median or similar approach).
- Subtract the down-going estimate to obtain the up-going residual.
- Optionally apply FK separation to further separate up-going and down-going energy.
- Mute first arrivals and rescale near traces to stabilize amplitudes.
The output is a cleaned up-going DAS wavefield suitable for inversion and imaging.
- Takes the processed DAS up-going data and an initial velocity model (from sonic logs or forward modeling).
- Runs FWI to refine the subsurface velocity structure near the well.
- Produces updated velocity models for use in RTM.
A GPU-based modeling engine is assumed for practical run times.
- Uses the FWI-updated velocity model and processed DAS-VSP data.
- Performs RTM to compute depth-domain reflectivity images around the receiver well.
- Generates migrated images that can be compared with well information and reservoir models.
A standard end-to-end use of DAS-VSP-data-process:
- Estimate the source wavelet from geophone VSP data in
Source/. - Build velocity/density models from sonic logs and generate synthetic data in
ForwardModeling/. - Process field DAS-VSP data in
DAS-Data-Processing/(trim, filter, first picks, down-going estimation, subtraction, FK, mute, rescale). - Run FWI in
FWI/to obtain an updated velocity model constrained by the DAS-VSP data. - Run RTM in
RTM/to obtain migrated images using the FWI velocity model.
Each module is independent, so users can replace or extend individual components without modifying the entire workflow.
Developer: Dr. Xu Shibo, ENEOS Xplora
For questions or bug reports, please contact: