A modular-based Python package for shallow diving-wave analysis of hammer seismics
Project description
SPIce is a modular-based Python package for performing shallow diving-wave analysis of node-type data from hammer seismics. SPIce was developed to study the firn and shallow ice structures in ice sheets and permafrost. Every step in the seismic refraction workflow is included, beginning with data handling and processing, first break picking of diving waves, travel-time curve fitting and seismic velocity analysis, and various plot operations. Data visualisation provides an interactive graphical platform for users if they wish to manually pick and export first breaks while viewing the detailed shape of waveforms.
SPIce Class Modules:
- spice is the main class for performing data extraction, handling and processing whilst calling upon the other embedded classes.
- inversion is the class that employs the analytic Herglotz-Wiechert inversion (HWI) algorithm to calculate the 1-D depth-velocity and depth-density profiles from the diving waves
- spicey_plotter is the class that contains our interactive platform for data visualisation.
- pykonal_plotter is an optional class for users who would like to visualise the travel-time field using seismic ray tracing algorithms from PyKonal (White et al., 2022).
Include text file with list of files needed to run SPIce.
- Path to seismic waveform data
- Path to seismic node metadata with locations
- Path to hammer shot metadata containing any information about hammer shot times and number of strikes
- Option to include path to tilt angles of seismic nodes
The following section provides information on how to call the main method, trace_lineup_plot.
trace_lineup_plot(stream, outfile=None, stackedchannel=None, newchannel=None,
scale_factor=1.0, input_points=None, input_csv=None, traveltime_df=None):
stream - Obspy stream of traces
outfile - filename to save CSV clicked points and seismic wiggle figure
stackedchannel - name of channel of stacked traces (e.g. 'GPZS')
channel - name of channel to display in black (e.g. 'GPZ')
scale_factor - scaling factor for traces to fit in trace lineup plot
input_points - tuples list of (distance_km, travel_time_s) or (distance_km, offset_m, travel_time_s, station)
input_csv - path to load CSV file with seismic-derived traveltime points with column format, (distance_km, travel_time_s) or (distance_km, offset_m, travel_time_s, station)
traveltime_df - pandas dataframe of seismic-derived traveltimes to input_points or input_csv
Example run:
from seismic_wiggle_plotter import SeismicWigglePlotter
plotter = SeismicWigglePlotter()
outfile = '/figures/stacked-tracelineup-plot-channelGPZ.png'
""" Tuples column format (distance_km, offset_m, travel_time_s, station)
where each row represents a station or trace in ObsPy stream, stacked_traces """
points_list = [[0.0, 0.0, 0.081, 0],
[0.009, 9.0, 0.091, 1],
[0.02, 20.0, 0.099, 2],
[0.025, 25.0, 0.101, 3],
[0.04, 40.0, 0.106, 4],
[0.05, 50.0, 0.11, 5]]
""" Initialise traveltime dataframe with required columns """
traveltime_df = pd.DataFrame(columns=['xmodel (m)', 'ttmodel (ms)'])
points_df = plotter.trace_lineup_plot(
stacked_traces,
outfile=outfile,
stackedchannel='GPZ',
channel=None,
scale_factor=1.0,
input_points=points_list,
input_csv=None,
traveltime_df=traveltime_df
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spice_shyla-0.1.0.tar.gz.
File metadata
- Download URL: spice_shyla-0.1.0.tar.gz
- Upload date:
- Size: 31.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cde7b05edcf83729b32d3b8b57711866278f301f1e4dbabef4b6b309d618ae08
|
|
| MD5 |
7e6199a2a3d9a57068698ad18416c5bc
|
|
| BLAKE2b-256 |
2da5c8be3c7aeb293c4f62f76a0d626890072caf6176e3e9341a3a49d9648681
|
File details
Details for the file spice_shyla-0.1.0-py3-none-any.whl.
File metadata
- Download URL: spice_shyla-0.1.0-py3-none-any.whl
- Upload date:
- Size: 34.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73ddda2e7c94055e19d2037eb14a54db2f411bfb1dfdfc9e9993c435086682b3
|
|
| MD5 |
d9933fbd6bb8f39a7d19ce9a3d903d17
|
|
| BLAKE2b-256 |
50500dab7a45cbaa620f36f9f8ae5f0be1b4ec7ab9f4e9247713216a0c7dc078
|