Ali Geo
Ali Geo
Research paper
ARTICLE INFO
ABSTRACT
Keywords:
Geophysical data processing We introduce the open-source library formikoj, which provides a flexible framework for managing and
Seismic refraction processing geophysical data collected in environmental and engineering investigations. To account for the
First break picking substantial changes regarding the market shares of operating systems within the last two decades, the library
Seismic waveform modeling is specifically implemented and tested for cross-platform usage. We illustrate the applicability of the formikoj
Cross-platform application library for the forward modeling of seismic refraction waveform data with the SeismicWaveformModeler
Geophysical python library
based on a custom subsurface model and survey geometry. We use these synthetic seismic data set to demon-
Flexible open-source library
strate the fundamental seismic refraction processing capabilities of the SeismicRefractionManager;
Wave based methods
thus, illustrating the ability to combine modeling and processing tasks in a single workflow. Based on real
3D field measurements we present the available range of possibilities provided by the formikoj library for
the processing of seismic refraction survey data. In particular, we explore different visualization techniques
of the seismic traveltime readings to enhance their consistency prior to the inversion with the third-party
library pyGIMLi. The low-level access provided by the formikoj library aims at enabling users to implement
novel modeling, visualization and processing tools specifically designed for their objectives as well as other
geophysical methods.
1. Introduction
et al., 2010) and Pyrocko (Heimann et al., 2017) for seismological
The ability to collect spatially quasi-continuous data in a non- data. Other packages provide frameworks for the inversion and
invasive manner makes geophysical methods suitable for subsurface permit the inclusion of forward models for different geophysical
engineering and environmental investigations (e.g., Parsekian et al., methods, e.g., SimPEG (Cockett et al., 2015), Fatiando a Terra (Uieda
2015; Nguyen et al., 2018; Romero-Ruiz et al., 2018). However, the et al., 2013) or pyGIMLi (Rü cker et al., 2017).
processing of geophysical data often relies on commercial software The seismic refraction tomography (SRT) is a standard technique in
solutions and the associated licensing costs might render their use environmental and engineering investigations. Often applied together
prohibitively expensive, e.g., for academic projects or institutions as with other geophysical methods, the SRT is routinely used, e.g., in
well as for teaching in developing countries. A common limitation of permafrost studies (e.g., Draebing, 2016; Steiner et al., 2021), for the
existing software solutions refers to their specific platform requirements investigation of landfills (e.g., Nguyen et al., 2018; Steiner et al., 2022),
mainly related to the type and version of the operating system; more- or for hydrogeological characterizations (e.g., Bü cker et al., 2021).
over, the possibility to adapt the code are limited if possible at all. The market for seismic processing software has long been dominated
Considering the substantial changes regarding the market shares of op- by software packages designed for the processing of large datasets,
erating systems within the last two decades, platform-specific software e.g., associated to oil or gas exploration. Accordingly, these seismic
packages are becoming particularly obstructive for academic research processing solutions may not be suited for small-scale projects in envi-
and teaching. The increasing popularity of the Python programming ronmental and engineering studies, or for teaching activities. ReflexW
language led to the development of various cross-platform open-source overcomes such limitations by providing processing tools specifically
software packages for processing, modeling and inverting geophysical designed for near-surface investigations at substantially lower costs.
data. Available packages can focus on specific geophysical methods, for In terms of licensing costs, Stockwell (1999) went a step further by
instance, ResIPy (Blanchy et al., 2020) for electrical data, GPRPy (Plat-
making the Seismic Unix framework available entirely free of charge;
tner, 2020) for ground-penetrating radar data, or ObsPy (Beyreuther
whereas Guedes et al. (2022) recently presented RefraPy, a python
∗ Corresponding author.
E-mail address: [Link]@[Link] (M. Steiner).
[Link]
Received 23 July 2022; Received in revised form 11 March 2023; Accepted 28 March 2023
Available online 31 March 2023
0098-3004/© 2023 The Authors. Published by Elsevier Ltd. This is an open access article under the CC BY license ([Link]
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Fig. 1. General architecture of the formikoj library comprising a utility, modeling and processing module. The base classes DataModeler and MethodManager can be used to
build tools for specific geophysical methods, e.g., seismic refraction.
2
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Fig. 2. Fundamental use case illustrating the modeling of seismic P-wave waveform data within the formikoj ecosystem.
Fig. 3. Typical formikoj workflow for the picking of first break traveltimes from seismic waveform data.
1 """ Table 1
2 Import the SeismicWaveformModeler from the Description of the information to be provided in the columns of a measurement scheme
3
formikoj library in csv format.
4 """ Column Content Data type Description
5 from formikoj import SeismicWaveformModeler 1 x coordinate float Station x coordinate, e.g., given in (m)
6 2 y coordinate float Station y coordinate, e.g., given in (m)
7 """ 3 z coordinate float Station z coordinate, e.g., given in (m)
8
Create an instance of the 4 Geophone bool 1 in case of a receiver station, 0 otherwise
9
SeismicWaveformModeler """ 5 Shot bool 1 in case of a shot station, 0 otherwise
10 swm = SeismicWaveformModeler(’.’)
11
wavelet:
length: 1.024
frequency: 100
sampling_rate: 2000
INFO : Created instance of SeismicWaveformModeler pretrigger: 0.02
model:
In the working directory, the required input files are provided via the velmap: [[1, 750], [2, 2500], [3, 4000]]
subdirectory in, whereas the modeling output will be stored in the layers: [[1, 3], [2, 5], [3, 15]]
quality: 32
automatically created subdirectory out. area: 10
The key input file is the measurement scheme as it contains informa- smooth: [1, 10]
sec_nodes: 3
tion regarding the distribution of the shot and geophone stations. If pro-
vided in the unified data format, the measurement scheme is imported dataset:
directly into a pyGIMLi DataContainer. In case the measurement number: 1
names: [syn_data]
scheme is provided as a csv file, the SeismicWaveformModeler noise: 1
reads the information and stores it in a pyGIMLi DataContainer noise_level: 1e-4
missing_shots: 1
object. In the csv format, the measurement scheme contains a single broken_geophones: 1
line for each station in the survey layout, where a station either hosts wrong_polarity: 1
a geophone or a shot, or both (see Table 1). The values provided in traveltimes:
each line need to be separated by a unique delimiter, and the file must noise_relative: 0.
not contain a header. noise_absolute: 0.
For the modeling of the seismic waveform data, the parameters
characterizing the base wavelet, the synthetic subsurface model and the In this exemplary configuration, the first block ( wavelet) contains the
resulting waveform datasets are provided (see Table 2) in a configura- parameterization of the base wavelet, which controls the modeling of
tion file following the yaml format: the seismic waveforms (see Table 2).
3
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
8 # Load the mesh into the workflow In particular, the subdirectory data contains a separate file for each
9 swm. load( type=’ mesh’) shot position in the miniseed format (Ahern et al., 2012; Ringler and
Evans, 2015), where the file extension syn indicates that the shot files
contain forward modeled seismic waveform data. The measurement
INFO : Mesh loaded protocol ([Link]) and the station coordinates provided as a csv file
(station_coords.csv) are also stored in this directory. The header of the
3
measurement protocol contains the survey parameters, e.g., sampling
[Link]
rate, recording length, number of geophones and geophone spacing.
html#[Link], last accessed March 11, 2023.
Moreover, the protocol associates each shot file of the dataset with a
4
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Table 2
Description of the parameters, which can be defined in a configuration file used for the modeling of the synthetic seismic data.
dataset
number
names int (string)
list Numberofofthe
Names datasets to be created
datasets
noise bool 1 in case noise should be added to the synthetic
waveforms, 0 otherwise
noise_level – Level of the seismic background noise
missing_shots bool 1 in case the datasets should be affected by missing
shot files, 0 otherwise
broken_geophones bool 1 in case the datasets should comprise broken
geophones (i.e., no data in the corresponding
seismograms), 0 otherwise
wrong_polarity bool 1 in case the datasets should contain traces with
inverse polarity, 0 otherwise
model
velmap list For each layer the first value defines the marker and
(float/int) the second one the seismic velocity within the layer
layers list For each layer the first value defines the marker and
(float/int) the second one the thickness
traveltimes
noise_relative %/100 Relative noise to be added to the forward modeled
seismic traveltimes
noise_absolute s Absolute noise to be added to the forward modeled
seismic traveltimes
5
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
6
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Table 3
Description of the information to be provided in the columns of the geometry file.
Col Content Data type Description
1 x coordinate float Station x coordinate, e.g., given in (m)
2 y coordinate float Station y coordinate, e.g., given in (m)
3 z coordinate float Station z coordinate, e.g., given in (m)
4 Geophone bool 1 if a geophone was deployed at station, 0 otherwise
5 Shot int The numerical part of the file name, e.g., 1001, if a shot was conducted
at this station, −1 otherwise
6 First geophone int First active geophone (−1 if no shot was conducted at the station)
7 Number of geophones int Number of active geophones (−1 if no shot was conducted at the station)
working_directory
01_data
inversion can resolve subsurface models in both 2D or 3D. To aid in raw
the evaluation of this inversion result we superimposed the known 02_geom
inter- faces between the different subsurface units of the synthetic 03_proc
model. As can be seen from this plot, the imaging result resolves the
fundamental structural features and reflects the P-wave velocity In this directory structure, the seismic shot files are stored in 01_data/raw
distribution of the synthetic subsurface model. Deviations from the and the geometry file ([Link]) is provided in
true velocity model are due to the smoothness-constraint inversion 02_geom.
scheme applied by pyGIMLi. To obtain sharper contrasts between the The geometry file is a csv file that provides an abstract repre-
different subsurface units in the imaging result structural constraints sentation of the survey layout and must not contain a header. The
could be incorporated in the inversion, e.g., as demonstrated by fundamental element for the description of the survey layout is the
Steiner et al. (2021); yet, the exploration of different inversion station, which refers either to a geophone position, a shot position
strategies is beyond the scope of this study. We consider Fig. 4 to or a position with co-located shot and geophone. For each station the
demonstrate the applicability of the SeismicWaveformModeler geometric and semantic information described in Table 3 are
class for generating synthetic seismic waveform data to be used in provided column-wise, i.e., each line in the geometry file corresponds
numerical P-wave refraction seismic investigations. to a single station with a unique position within the survey layout.
For the synthetic dataset considered in this study, the 2D station
2.2. Processing of seismic refraction datasets coordinates are provided in the geometry file, whereas the z coordinate
is assumed to be 0 m along the entire profile, as illustrated in Table 4;
The SR method measures the traveltimes of seismic waves based thus, reflecting the lack of surface topography in the synthetic model
on the first onset of the seismic energy recorded by geophones. In the (see Fig. 4a). In the column Geo the geometry file contains the value
SRT, the inversion of traveltimes gathered from tens to thousands of 1 (True) for each station except the station located at 24 m referring to
seismograms permits the computation of variations in the subsurface the broken geophone modeled by the SeismicWaveformModeler.
seismic velocities in an imaging framework. Measuring the traveltimes When compiling the geometry file we also need to take into account the
in seismograms (i.e., first break picking) is commonly done manually missing shot at station 11, i.e., the station located at 20 m along profile
(or semi-automatically) in an iterative process. The signal-to-noise ratio direction, and set the corresponding value to −1. The column 1st Geo
in the recorded seismograms substantially influences the quality of the indicates the first active geophone along the profile for each shot file.
traveltimes picked in the seismograms, and thus the seismic velocity For the synthetic dataset considered here this refers to the geophone
model obtained through the inversion. Accordingly, a proper enhance- deployed at the first station of the profile. In particular, the column
ment of the perceptibility of the first onsets is crucial for the first break 1st Geo allows the reproduction of roll-along survey geometries, where
picking. in the first segment the first active geophone is always the geophone at
The SeismicRefractionManager class provides functionali- station 1. Considering 48 geophones deployed in each segment, and an
ties that permit the processing of seismic waveform data for a refraction overlap of 50 %, the first geophone for the consecutive segments would
seismic analysis. These functionalities involve the reading of seismic be 25, 49, 73, 97, and so on.
waveform data, combining the data with the survey geometry informa- An instance of the SeismicRefractionManager can be cre-
tion, processing of the waveforms as well as the picking of first break ated by providing the path to the working directory as parameter to
traveltimes. Since the first break picking is a highly interactive process, the constructor. Depending on the content of the working directory,
the SeismicRefractionManager is designed primarily for usage the SeismicRefractionManager automatically decides whether
from within an ipython shell. (i) to start in the data preview mode (first break picking not possi-
The first break traveltimes determined with the ble), (ii) create a new project, or (iii) load an existing project from
SeismicRefrac- tionManager represent the input data, e.g., for disk. In case the shot files as well as the geometry file are provided
the TravelTimeM- anager of pyGIMLi (Rü cker et al., 2017). This
is particularly relevant
7
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Fig. 5. Entity-relationship diagram illustrating the SQLite database used in a SeismicRefractionManager project to store an manage processing related information.
and a basic sanity check of the geometry file was successful, the
SeismicRefractionManager creates a new project: 6 # Select traces with common absolute offset
7 srm. select(by=’ aoffset’, num=6)
1 """
2 Import the SeismicRefractionManager from the INFO : 88 traces selected
3 formikoj library
4 """ 8 # Select traces with receiver
5 from formikoj import SeismicRefractionManager 9 srm. select(by=’rin’, num=10)
6
7 """
8
Create an instance of the INFO : 48 traces selected
9
SeismicRefractionManager
""" 10 # Select traces with receiver
10
srm = SeismicRefractionManager(’.’)
11 11 srm. select(by=’sin’, num=23)
8
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Fig. 6. The SeismicRefractionManager addresses the stations through consecutive station numbers based on the sort order in the geometry file. The shot index numbers
(SIN) and receiver index numbers (RIN) are assigned to the shot and receiver stations separately to allow for an intuitive data handling for the user.
Fig. 7. The frequency spectrum illustrates the frequency content of the currently selected traces, which allows for the identification of frequency ranges associated to noise allowing
for the definition of corresponding frequency filter settings.
16 # Apply lowpass filter visualization of the seismograms, e.g., associated to broken geophones
17 srm. filter( type=’ lowpass’, freq=200 , or seismograms with wrong polarity. The ‘m’ key activates the trace
18 onhold=True) mute mode (‘Trc mute’), which allows to set the amplitude of a trace
to zero by clicking with the left mouse button; clicking again on the
same trace restores the amplitude information. The trace reverse mode
INFO : Applied 200.0 Hz lowpass filter
INFO : Set filter hold on (‘Trc rev’) is activated by pressing the ‘r’ key and enables the user to
toggle the polarity of a trace by clicking on it with the left mouse
button.
The currently selected traces can be visualized by calling the plot
The default data scaling mode is ‘Zoom’, which allows the scaling
method without passing any parameter:
of the 𝑦-axis by turning the mouse wheel. By pressing the ‘a’ key the
amplitude scaling mode (‘Amp scal’) is activated. Turning the mouse
18 # Plot selected traces
wheel increases or decreases the amplitudes of the traces currently
19 srm. plot()
shown in the seismogram plot, and thus might help to enhance the
perceptibility of the first onsets. By pressing the key of the currently
By default, the seismogram plot visualizes the seismic waveforms in a active mode again, the SeismicRefractionManager returns to the
combination of wiggle trace and variable area mode, i.e., the trace data default mode; yet, the different modes can be activated in any arbitrary
are shown as curves. The area of the curves is colored red for negative order (as illustrated in Fig. 9).
and blue for positive amplitudes, respectively (not shown for brevity).
Pressing the up or down arrow key on the keyboard toggles between 2.2.3. Analysis of the seismic waveforms and first break traveltime picking
variable area and variable density mode, with the latter reflecting the In the seismogram plot, the waveforms can be analyzed and pro-
strength of the amplitudes by the color saturation, i.e., high amplitudes cessed to obtain information about the subsurface conditions. Activat-
refer to a stronger shade than low amplitudes (see Fig. 8). ing the velocity estimation mode (‘Vel est’) by pressing the ‘v’ key on
The currently activated processing mode and data scaling mode are the keyboard, enables the user to estimate velocities for different wave
reported in the status bar of the seismogram plot window together with
phases (e.g., originating from a refractor) by pressing the left mouse
the traveltime at the current cursor position (see Fig. 9). The initial
button and moving the cursor. Once the left mouse button is released,
processing mode is ‘Fb pick’, i.e., first break picking is possible. Addi-
a line between the start and end point is drawn and labeled with the
tional modes, accessible through the keyboard, allow for an enhanced
corresponding velocity (estimates can be deleted by clicking with the
right mouse button).
9
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Fig. 8. The seismogram plot presents the currently selected traces along the 𝑥 axis, where the sort order is determined through the geometry. The corresponding trace data are
illustrated as a function of time along the 𝑦 axis (solid curves), with positive and negative amplitudes depicted in blue and red, respectively. The selection criterion and the applied
filter are shown in the upper left corner of the plot. Green crosses refer to the picked traveltimes stored in the currently active pickset.
If the processing mode ‘Fb pick’ is activated, picking of first break Making the formikoj library publicly available under an open-source
traveltimes is done individually by clicking with the left mouse button license allows the addition of supplementary functionalities tailored for
on the respective trace. Clicking again on the same trace will set the the specific requirements of the users. The concept of formikoj suggest
first break pick to the new location as there can only be one traveltime
that such custom extensions should be implemented either as internal
for each SIN-RIN pair; whereas clicking with the right mouse button
methods or as functions in the utilities module, which are then executed
deletes the pick. Alternatively, first break picks can be set for multiple
through the compute method.
traces by pressing the left mouse button and moving the cursor. Once
We illustrate this possibility for customization by implementing
the left mouse button is released, first break picks are defined at
a simplified version of an automatic first break picking algorithm
the intersections between the line and the seismograms. In the same
based on the short- and long-time window average ratio (STA/LTA)
way, multiple picks can be deleted if a line is drawn with the right
method (Allen, 1978), which determines the traveltimes following the
mouse button pressed. The first break traveltimes determined in the
energy ratio approach (e.g., Earle and Shearer, 1994). In particular,
seismogram plot are automatically written to the project database when
our implementation computes the envelope 𝐸 (𝑡) of the seismogram 𝑠 (𝑡)
the window is closed or another set of traces is loaded by pressing the
as (e.g., Duan and Zhang, 2020)
‘left’ or ‘right’ arrow keys on the keyboard. (
The traveltime diagram for the currently active pickset can be 𝐸 (𝑡) = )𝑠 (𝑡)2 + 𝑠̃ (𝑡) 1∕2 , (7)
created through the plot method:
where 𝑠̃ (𝑡) is the Hilbert transform of 𝑠 (𝑡). The energy ratio 𝐸 𝑅 is then
computed as 𝐸 𝑅 = 𝑆 𝑇 𝐴∕𝐿𝑇 𝐴 with
1 ∑𝑖
20
# Plot traveltime diagram 𝑆 𝑇 𝐴 (𝑖) = 𝐸 (𝑗) , (8)
21 srm. plot( type=’ traveltimes’) 𝑛𝑆𝑇 𝐴 𝑗=𝑖−
𝑆𝑇 𝐴
1
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Fig. 10. The traveltime diagram shows the first break traveltimes stored in the currently active pickset along the 𝑦 axis (x symbols), where solid lines connect traveltimes assigned
to a common shot. The sort order of the stations along the 𝑥 axis reflects the geometry. Filled circles indicate stations with co-located shot and geophone (receiver), triangles refer
to receiver stations (no shot) and stars refer to shot stations (no geophone).
In Fig. 11, we compare the automatically determined first break 3. Application to field data: Processing a 3D seismic refraction
picks with the forward modeled traveltimes computed above to allow dataset
for a basic evaluation of autopicking performance. The inset plot in
Fig. 11 presents the histogram of the autopicked traveltimes, which To demonstrate the applicability of the SeismicRefraction-
shows that three traveltimes should be considered outliers, and thus Manager for the processing of real field data, we present the analysis
are removed from the dataset. After the outlier removal the correlation and inversion results for a seismic refraction survey conducted in a
coefficient between forward modeled and autopicked traveltimes is 0.99 soda lake located in the national park Neusiedler See–Seewinkel close
1
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
to Vienna. The seismic survey aims at solving for the geometry of
the
1
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Fig. 11. Comparison of forward modeled synthetic and automatically picked first break traveltimes for the synthetic seismic waveform data created in this study.
confined aquifer below this soda lake with the required information
referring to the thickness of the aquifer and the depth of the groundwa- Due to the 3D survey geometry, a 2D pseudosection is not suitable
ter table. As shown in Fig. 12, the seismic data were collected with 48 for assessing the quality of the first break traveltimes. Since the
geophones deployed along the North-East to South-West oriented line, Seis- micRefractionManager project is configured for 3D
and 48 geophones along the North-West to South-East oriented line, processing the apparent velocity values are illustrated in an interactive
with a spacing of 2 m between the geophones. Shots were generated 3D pseudosec- tion. This plot can be rotated and the image section
with an 8 kg sledgehammer at the geophone positions as well as at can be zoomed and panned allowing the user to easily investigate the
positions along the diagonals to obtain a sufficient coverage. data quality for 3D geometries. Fig. 14 shows a screenshot of the
As in case of the synthetic dataset presented above, the geometry 3D pseudosection for the salt lake dataset; yet, such a screenshot
file contains the coordinates of the survey stations, yet for the soda cannot reveal the full capabilities implemented in the
lake dataset 3D coordinates we provided as illustrated in Table 5. Since SeismicRefractionManger for the interactive analysis and
geophones were not deployed at each survey station the column Geo visualization of 3D pseudosections.
contains the value 1 (True) for the first 96 stations and 0 (False) for To review the data quality for the entire dataset it is possible
the remaining 20 stations. Based on the shot files and the geometry to visualize the picking percentage, i.e., the ratio of actually picked
file stored in the required directory structure the SeismicRefrac- traveltimes and total number of SIN-RIN pairs:
tionManager creates the project database, automatically infers the 10 # Plot the picking percentage
3D survey layout from the 3D survey geometry, and thus configures 11 srm. plot( type=’ pickperc’)
the
project for 3D processing. Then we can select seismograms the same Fig. 15 presents the picking percentage visualized separately for each
way as for the synthetic data presented above. For this example we SIN. Accordingly, a low picking percentage indicates shots affected
select seismic waveform data recorded for SIN 1, i.e., the shot position co- by a low signal-to-noise ratio, whereas clear first onsets yield a cor-
located with the first geophone (Station 01 in Fig. 12): respondingly high picking percentage. For the soda lake dataset we
observe a consistently high picking percentage for all shot positions;
10 # Select traces with receiver thus, indicating a good data quality. Moreover, the picking percentage
11 srm. select(by=’sin’, num=1) plot can be used to track the picking progress, for instance, in case the
traveltimes cannot be determined in frame of one session or to identify
single shots that might have been forgotten during the first break
INFO : 96 traces selected picking. Accordingly, it is advisable to check the picking percentage
prior to exporting the traveltimes for the inversion.
In Fig. 13, we can see that the data for RIN 1 to 48 appear familiar
Once the first break picking is finished, the corresponding pickset
as the corresponding SIN-RIN layout refers to the one of conventional
can be exported for the inversion. We inverted the first break trav-
2D profiles; whereas the seismic waveforms for RIN 49 to 96 show eltimes with pyGIMLi and present the resolved 3D subsurface model
an entirely different pattern. To understand this visualization, we need in Fig. 16a. From this representation we can see, that the inversion
to take into account that RIN 49 to 96 are deployed perpendicular to
solves for low seismic velocities (600 to 800 m s−1) in the near-surface
the direction of propagation of the wavefront originating from SIN 1.
in the center of the investigated area, which corresponds to the still
Accordingly, the observed curvature in the first onsets is due to the
intact part of the soda lake, i.e., the part that is covered by water
varying offset of the different SIN-RIN pairs.
on a seasonal basis. Seismic velocity values above 800 m s−1 are
1
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
resolved at depth as well as outside of the soda lake. To facilitate
the
1
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Fig. 12. The soda lakes field dataset was collected in a 3D survey layout with stations (co-located geophones and shots indicated by filled dots) deployed in form of a cross.
Additional shots (yellow stars) were conducted in from of a cross rotated by 45◦ to increase the coverage of the dataset.
Fig. 13. Examplary seismic waveforms from the soda lakes dataset shown for shot index number (SIN) 1 with a 100 Hz lowpass filter applied to suppress high frequency noise. The
recorded seismic waveforms clearly reflect the geometry of the geophones with RIN 1 to 48 deployed along the direction of wave propagation, while RIN 49 to 96 are deployed
perpendicular to the propagating wavefront.
1
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Fig. 14. 3D pseudosection showing the apparent seismic velocities determined from the first break traveltimes obtained from the soda lakes dataset and the corresponding absolute
offset between the shot and receiver stations. The apparent velocity for each shot-receiver pair is illustrated at the corresponding 2D midpoint and pseudodepth (1/3 of the absolute
offset), thus yielding a 3D representation.
Fig. 15. Picking percentage for each shot in the soda lakes dataset indicating a high signal-to-noise ratio allowing for the picking of first break traveltimes for nearly all shot-receiver
pairs.
1
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
other wave-based geophysical methods used in frame of our
research
1
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
Fig. 16. Subsurface model of the soda lake in terms of the seismic P-wave velocity. (a) 3D representation of orthogonal slices through the resolved subsurface model. (b) 2D
representation of the NE–SW slice. (c) 2D representation of the NW–SE slice.
1
M. Steiner and A. Flores Computers and Geosciences 176 (2023)
16 [[0 , -2], [20 , -2], Dijkstra, E.W., 1959. A note on two problems in connexion with graphs. Numer. Math.
17 [22 , -6], [70 , -6], 269–271. [Link]
18 [72 , -3.5], [94 , -3.5], Draebing, D., 2016. Application of refraction seismics in alpine permafrost studies: A
19 [94 , -10], [0, -10]], review. Earth-Sci. Rev. 155, 136–152. [Link]
20 isClosed=True , marker=3, area=0.1) 02.006.
21 Duan, X., Zhang, J., 2020. Multitrace first-break picking using an integrated seismic
22 # - anomaly/ infill and machine learning methodpicking based on machine learning. Geophysics 85
23 infill = mt. (4), WA269–WA277. [Link]
24 createPolygon( [[20 , Earle, P.S., Shearer, P.M., 1994. Characterization of global seismograms using an
25 -2], [72 , -3.5], automatic-picking algorithm. Bull. Seismol. Soc. Am. 84 (2), 366–376.
26
[70 , -6], [22 , -6]], Guedes, V.J.C.B., Maciel, S.T.R., Rocha, M.P., 2022. Refrapy: A python program
27
isClosed=True , marker=2, area=0.1) for seismic refraction data analysis. Comput. Geosci. 159, 105020. [Link]
org/10.1016/[Link].2021.105020, URL: [Link]
28
geom = top + infill + bottom article/pii/S0098300421003022.
29
Harris, C.R., Millman, K.J., van der Walt, S.J., Gommers, R., Virtanen, P., Cour-
30
napeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N.J., Kern, R., Picus, M.,
31 """
32
Define shot and receiver stations and Hoyer, S., van Kerkwijk, M.H., Brett, M., Haldane, A., del Río, J.F., Wiebe, M.,
create corresponding nodes Peterson, P., Gé rard-Marchant, P., Sheppard, K., Reddy, T., Weckesser, W., Ab-
33
""" basi, H., Gohlke, C., Oliphant, T.E., 2020. Array programming with NumPy. Nature
34
nstats = 48 585 (7825), 357–362. [Link]
35 Heimann, S., Kriegerowski, M., Isken, M., Cesca, S., Daout, S., Grigoli, F., Juretzek, C.,
spc = 2
36 Megies, T., Nooshiri, N., Steinberg, A., Sudhaus, H., Vasyura-Bathke, H., Willey, T.,
37 stations = np. Dahm, T., 2017. Pyrocko - An Open-Source Seismology Toolbox and Library. GFZ
38 vstack(( np. Data Services, [Link]
39 linspace(0, Hunter, J.D., 2007. Matplotlib: A 2D graphics environment. Comput. Sci. Eng. 9 (3), 90–
40 ( nstats -1)*spc, nstats), 95. [Link]
41 np. zeros( nstats))).T McKinney, W., 2010. Data structures for statistical computing in Python. In: Stéfan
42 van der Walt, Jarrod Millman (Eds.), Proceedings of the 9th Python in Science
for p in stations: Conference. pp. 56–61. [Link]
43
geom. Nguyen, F., Ghose, R., Isunza Manrique, I., Robert, T., Dumont, G., 2018. Managing past
44
createNode(p) landfills for future site development: A review of the contribution of geophysical
45
methods. In: Proceedings of the 4th International Symposium on Enhanced Landfill
46 # Create mesh for the finite element modeling
47 mesh = mt. createMesh(geom , quality=34) Mining. pp. 27–36.
48
Parsekian, A., Singha, K., Minsley, B.J., Holbrook, W.S., Slater, L., 2015. Multiscale
""" geophysical imaging of the critical zone. Rev. Geophys. 53 (1), 1–26. [Link]
49
50 Save the mesh in the binary mesh format for [Link]/10.1002/2014RG000465.
51 later use with the SeismicWaveformModeler Plattner, A.M., 2020. GPRPy: Open-source ground-penetrating radar processing and
52
""" visualization software. Lead. Edge 39 (5), 332–337. [Link]
mesh. save(’ mesh. bms’) tle39050332.1.
Ringler, A.T., Evans, J.R., 2015. A quick SEED tutorial. Seismol. Res. Lett. 86 (6), 1717–
1725. [Link]
Romero-Ruiz, A., Linde, N., Keller, T., Or, D., 2018. A review of geophysical methods
References for soil structure characterization. Rev. Geophys. 56 (4), 672–697. [Link]
org/10.1029/2018RG000611.
Ahern, T., Casey, R., Barnes, D., Benson, R., Knight, T., Trabant, C., 2012. SEED
Rü cker, C., Gü nther, T., Wagner, F.M., 2017. pyGIMLi: An open-source library for
reference manual, version 2.4. URL: [Link]
modelling and inversion in geophysics. Comput. Geosci. 109, 106–123. [Link]
pdf.
[Link]/10.1016/[Link].2017.07.011.
Allen, R.V., 1978. Automatic earthquake recognition and timing from single traces. Bull.
Steiner, M., Katona, T., Fellner, J., Flores Orozco, A., 2022. Quantitative water content
Seismol. Soc. Am. 68 (5), 1521–1532. [Link]
Beyreuther, M., Barsch, R., Krischer, L., Megies, T., Behr, Y., Wassermann, J., 2010. estimation in landfills through joint inversion of seismic refraction and electrical
ObsPy: A python toolbox for seismology. Seismol. Res. Lett. 81 (3), 530–533. resistivity data considering surface conduction. Waste Manage. 149, 21–32. http://
[Link] [Link]/10.1016/[Link].2022.05.020, URL: [Link]
Blanchy, G., Saneiyan, S., Boyd, J., McLachlan, P., Binley, A., 2020. ResIPy, an intu- science/article/pii/S0956053X22002793.
itive open source software for complex geoelectrical inversion/modeling. Comput. Steiner, M., Wagner, F.M., Maierhofer, T., Schö ner, W., Flores Orozco, A., 2021.
Geosci. 137, 104423. [Link] URL: https: Improved estimation of ice and water contents in alpine permafrost through con-
//[Link]/science/article/pii/S0098300419308192. strained petrophysical joint inversion: The Hoher Sonnblick case study. Geophysics
Bü cker, M., Flores Orozco, A., Gallistl, J., Steiner, M., Aigner, L., Hoppenbrock, J., 86 (5), 1–84. [Link]
Glebe, R., Morales Barrera, W., Pita de la Paz, C., García García, C.E., et al., 2021. Stockwell, J.W., 1999. The CWP/SU: seismic unix package. Comput. Geosci. 25 (4), 415–
Integrated land and water-borne geophysical surveys shed light on the sudden
419. [Link] URL: [Link]
drying of large karst lakes in southern Mexico. Solid Earth 12 (2), 439–461.
[Link]/science/article/pii/S0098300498001459.
[Link]
Sullivan, C.B., Kaszynski, A., 2019. PyVista: 3D plotting and mesh analysis through a
Cockett, R., Kang, S., Heagy, L.J., Pidlisecky, A., Oldenburg, D.W., 2015. SimPEG: An
open source framework for simulation and gradient based parameter estimation streamlined interface for the visualization toolkit (VTK). J. Open Source Softw. 4
in geophysical applications. Comput. Geosci. 85, 142–154. [Link] (37), 1450. [Link]
1016/[Link].2015.09.015, URL: [Link] Uieda, L., Oliveira, Jr., V.C., Barbosa, V.C., 2013. Modeling the earth with fatiando a
pii/S009830041530056X. terra. In: Proceedings of the 12th Python in Science Conference. pp. 96–103.