Fluid-solid interface with bathymetry¶
This example (see benchmarks/src/dim2/fluid-solid-bathymetry)
simulates wave propagation in a tele-seismic plane wave scenario within a
fluid-solid domain with complex bathymetry. This example demonstrates the use of
the xmeshfem2D mesher to generate interface between 2 conforming material
systems with realistic seafloor topography and the setting up absorbing boundary
conditions. This example is contributed by Sirawich Pipatprathanporn and is part
of the publication Pipatprathanporn et al.
(2024).
Setting up the workspace¶
Let’s start by creating a workspace from where we can run this example.
mkdir -p ~/specfempp-examples/fluid-solid-bathymetry
cd ~/specfempp-examples/fluid-solid-bathymetry
We also need to check that the SPECFEM++ executable directory is added to the
PATH.
which specfem2d
If the above command returns a path to the specfem2d executable, then the
executable directory is added to the PATH. If not, you need to add the
executable directory to the PATH using the following command.
export PATH=$PATH:<PATH TO SPECFEM++ DIRECTORY/bin>
Note
Make sure to replace <PATH TO SPECFEM++ DIRECTORY/bin> with the actual
path to the SPECFEM++ directory on your system.
Now let’s create the necessary directories to store the input files and output artifacts.
mkdir -p OUTPUT_FILES
mkdir -p OUTPUT_FILES/seismograms
mkdir -p OUTPUT_FILES/results
mkdir -p OUTPUT_FILES/display
touch specfem_config.yaml
touch line_source.yaml
touch topography_file.dat
touch Par_file
Meshing the domain¶
We first start by generating a mesh for our simulation domain using
xmeshfem2D. To do this, we first define our simulation domain and the
meshing parameters in a parameter file.
Parameter file¶
#-----------------------------------------------------------
#
# Simulation input parameters
#
#-----------------------------------------------------------
# title of job
title = fluid-solid-bathymetry
# parameters concerning partitioning
NPROC = 1 # number of processes
# Output folder to store mesh related files
OUTPUT_FILES = OUTPUT_FILES
#-----------------------------------------------------------
#
# Mesh
#
#-----------------------------------------------------------
# Partitioning algorithm for decompose_mesh
PARTITIONING_TYPE = 3 # SCOTCH = 3, ascending order (very bad idea) = 1
# number of control nodes per element (4 or 9)
NGNOD = 9
# location to store the mesh
database_filename = OUTPUT_FILES/database.bin
#-----------------------------------------------------------
#
# Receivers
#
#-----------------------------------------------------------
# use an existing STATION file found in ./DATA or create a new one from the receiver positions below in this Par_file
use_existing_STATIONS = .false.
# number of receiver sets (i.e. number of receiver lines to create below)
nreceiversets = 2
# orientation
anglerec = 0.d0 # angle to rotate components at receivers
rec_normal_to_surface = .false. # base anglerec normal to surface (external mesh and curve file needed)
# first receiver set (repeat these 6 lines and adjust nreceiversets accordingly)
nrec = 1 # number of receivers
xdeb = 1.000d+04 # first receiver x in meters
zdeb = 8.082d+03 # first receiver z in meters
xfin = 1.000d+04 # last receiver x in meters (ignored if only one receiver)
zfin = 8.082d+03 # last receiver z in meters (ignored if only one receiver)
record_at_surface_same_vertical = .false. # receivers inside the medium or at the surface
# second receiver set (repeat these 6 lines and adjust nreceiversets accordingly)
nrec = 1 # number of receivers
xdeb = 1.000d+04 # first receiver x in meters
zdeb = 5.472d+03 # first receiver z in meters
xfin = 1.000d+04 # last receiver x in meters (ignored if only one receiver)
zfin = 5.472d+03 # last receiver z in meters (ignored if only one receiver)
record_at_surface_same_vertical = .false. # receivers inside the medium or at the surface
# filename to store stations file
stations_filename = OUTPUT_FILES/STATIONS
#-----------------------------------------------------------
#
# Velocity and density models
#
#-----------------------------------------------------------
# number of model materials
nbmodels = 2
# available material types (see user manual for more information)
# acoustic: model_number 1 rho Vp 0 0 0 QKappa Qmu 0 0 0 0 0 0
# elastic: model_number 1 rho Vp Vs 0 0 QKappa Qmu 0 0 0 0 0 0
# anistoropic: model_number 2 rho c11 c13 c15 c33 c35 c55 c12 c23 c25 0 0 0
# poroelastic: model_number 3 rhos rhof phi c kxx kxz kzz Ks Kf Kfr etaf mufr Qmu
# tomo: model_number -1 0 9999 9999 A 0 0 9999 9999 0 0 0 0 0
1 1 2500.d0 3400.d0 1963.d0 0 0 9999 9999 0 0 0 0 0 0
2 1 1020.d0 1500.d0 0.d0 0 0 9999 9999 0 0 0 0 0 0
# external tomography file
TOMOGRAPHY_FILE = ./DATA/tomo_file.xyz
# use an external mesh created by an external meshing tool or use the internal mesher
read_external_mesh = .false.
#-----------------------------------------------------------
#
# PARAMETERS FOR EXTERNAL MESHING
#
#-----------------------------------------------------------
# data concerning mesh, when generated using third-party app (more info in README)
# (see also absorbing_conditions above)
mesh_file = ./DATA/Mesh_canyon/canyon_mesh_file # file containing the mesh
nodes_coords_file = ./DATA/Mesh_canyon/canyon_nodes_coords_file # file containing the nodes coordinates
materials_file = ./DATA/Mesh_canyon/canyon_materials_file # file containing the material number for each element
free_surface_file = ./DATA/Mesh_canyon/canyon_free_surface_file # file containing the free surface
axial_elements_file = ./DATA/axial_elements_file # file containing the axial elements if AXISYM is true
absorbing_surface_file = ./DATA/Mesh_canyon/canyon_absorbing_surface_file # file containing the absorbing surface
acoustic_forcing_surface_file = ./DATA/MSH/Surf_acforcing_Bottom_enforcing_mesh # file containing the acoustic forcing surface
absorbing_cpml_file = ./DATA/absorbing_cpml_file # file containing the CPML element numbers
tangential_detection_curve_file = ./DATA/courbe_eros_nodes # file containing the curve delimiting the velocity model
#-----------------------------------------------------------
#
# PARAMETERS FOR INTERNAL MESHING
#
#-----------------------------------------------------------
# file containing interfaces for internal mesh
interfacesfile = topography_file.dat
# geometry of the model (origin lower-left corner = 0,0) and mesh description
xmin = 0.d0 # abscissa of left side of the model
xmax = 2.000d+04 # abscissa of right side of the model
nx = 250 # number of elements along X
STACEY_ABSORBING_CONDITIONS = .true. # use Stacey absorbing boundary conditions
# absorbing boundary parameters (see absorbing_conditions above)
absorbbottom = .true.
absorbright = .true.
absorbtop = .false.
absorbleft = .true.
# define the different regions of the model in the (nx,nz) spectral-element mesh
nbregions = 2 # then set below the different regions and model number for each region
1 250 1 62 1
1 250 63 120 2
#-----------------------------------------------------------
#
# DISPLAY PARAMETERS
#
#-----------------------------------------------------------
# meshing output
output_grid_Gnuplot = .false. # generate a GNUPLOT file containing the grid, and a script to plot it
output_grid_ASCII = .false. # dump the grid in an ASCII text file consisting of a set of X,Y,Z points or not
Key features of this parameter file:
Line 74: Defines 2 material systems (
nbmodels = 2)Lines 81-82: Material definitions for elastic (2500 kg/m³, Vp=3400 m/s, Vs=1963 m/s) and acoustic (1020 kg/m³, Vp=1500 m/s) domains
Lines 122-128: Stacey absorbing boundary conditions on bottom, right, and left edges, with free surface on top
Line 115: References the topography file for complex bathymetry interface
Defining the bathymetry¶
The bathymetry is a critical component of this simulation as it defines the complex seafloor interface between the acoustic (water) and elastic (solid) domains. The topography file uses SPECFEM2D’s internal meshing format to describe three interfaces and their mesh discretization.
Topography file structure¶
#
# number of interfaces
#
3
#
# for each interface below, we give the number of points and then x,z for each point
#
#
# interface number 1 (bottom of the mesh)
#
2
0 0
20000 0
#
# interface number 2
#
501
0 4441
40 4446
80 4451
120 4456
160 4461
200 4466
240 4470
280 4475
320 4480
360 4485
400 4490
440 4494
480 4498
520 4502
560 4506
600 4510
640 4514
680 4518
720 4522
760 4526
800 4530
840 4534
880 4539
920 4545
960 4550
1000 4556
1040 4561
1080 4567
1120 4573
1160 4578
1200 4584
1240 4590
1280 4595
1320 4600
1360 4602
1400 4603
1440 4604
1480 4605
1520 4606
1560 4607
1600 4608
1640 4609
1680 4610
1720 4611
1760 4612
1800 4616
1840 4621
1880 4626
1920 4631
1960 4636
2000 4641
2040 4647
2080 4652
2120 4657
2160 4663
2200 4668
2240 4674
2280 4680
2320 4685
2360 4691
2400 4697
2440 4702
2480 4708
2520 4713
2560 4719
2600 4724
2640 4730
2680 4735
2720 4734
2760 4734
2800 4733
2840 4733
2880 4732
2920 4732
2960 4731
3000 4731
3040 4730
3080 4730
3120 4729
3160 4731
3200 4732
3240 4734
3280 4736
3320 4738
3360 4740
3400 4742
3440 4743
3480 4745
3520 4747
3560 4749
3600 4751
3640 4754
3680 4756
3720 4759
3760 4761
3800 4764
3840 4767
3880 4769
3920 4772
3960 4775
4000 4777
4040 4780
4080 4786
4120 4792
4160 4798
4200 4804
4240 4810
4280 4817
4320 4823
4360 4829
4400 4835
4440 4842
4480 4848
4520 4854
4560 4859
4600 4864
4640 4870
4680 4875
4720 4880
4760 4886
4800 4891
4840 4897
4880 4902
4920 4907
4960 4913
5000 4921
5040 4928
5080 4935
5120 4943
5160 4950
5200 4957
5240 4965
5280 4972
5320 4979
5360 4986
5400 4993
5440 5004
5480 5014
5520 5024
5560 5035
5600 5045
5640 5055
5680 5066
5720 5076
5760 5087
5800 5097
5840 5107
5880 5113
5920 5116
5960 5118
6000 5121
6040 5124
6080 5126
6120 5129
6160 5131
6200 5134
6240 5137
6280 5139
6320 5143
6360 5147
6400 5152
6440 5156
6480 5161
6520 5166
6560 5170
6600 5175
6640 5179
6680 5184
6720 5189
6760 5193
6800 5200
6840 5207
6880 5213
6920 5220
6960 5227
7000 5235
7040 5242
7080 5249
7120 5256
7160 5264
7200 5271
7240 5280
7280 5290
7320 5300
7360 5309
7400 5319
7440 5329
7480 5339
7520 5349
7560 5359
7600 5369
7640 5379
7680 5387
7720 5382
7760 5376
7800 5371
7840 5365
7880 5359
7920 5354
7960 5348
8000 5343
8040 5337
8080 5331
8120 5325
8160 5324
8200 5324
8240 5323
8280 5323
8320 5323
8360 5322
8400 5322
8440 5321
8480 5321
8520 5320
8560 5319
8600 5323
8640 5331
8680 5339
8720 5347
8760 5354
8800 5362
8840 5370
8880 5378
8920 5385
8960 5393
9000 5400
9040 5407
9080 5410
9120 5413
9160 5416
9200 5419
9240 5421
9280 5424
9320 5427
9360 5429
9400 5432
9440 5434
9480 5437
9520 5440
9560 5443
9600 5446
9640 5449
9680 5452
9720 5455
9760 5458
9800 5461
9840 5463
9880 5466
9920 5468
9960 5470
10000 5472
10040 5475
10080 5477
10120 5479
10160 5481
10200 5483
10240 5485
10280 5487
10320 5490
10360 5492
10400 5493
10440 5492
10480 5491
10520 5489
10560 5488
10600 5487
10640 5485
10680 5484
10720 5483
10760 5481
10800 5481
10840 5480
10880 5473
10920 5464
10960 5455
11000 5445
11040 5436
11080 5427
11120 5418
11160 5409
11200 5400
11240 5391
11280 5382
11320 5376
11360 5374
11400 5372
11440 5370
11480 5368
11520 5366
11560 5363
11600 5361
11640 5359
11680 5357
11720 5354
11760 5352
11800 5349
11840 5345
11880 5341
11920 5338
11960 5334
12000 5331
12040 5327
12080 5324
12120 5320
12160 5317
12200 5314
12240 5311
12280 5309
12320 5307
12360 5305
12400 5302
12440 5300
12480 5298
12520 5296
12560 5294
12600 5291
12640 5289
12680 5285
12720 5277
12760 5269
12800 5261
12840 5253
12880 5245
12920 5237
12960 5229
13000 5221
13040 5213
13080 5205
13120 5197
13160 5191
13200 5184
13240 5178
13280 5171
13320 5165
13360 5158
13400 5152
13440 5145
13480 5138
13520 5132
13560 5125
13600 5120
13640 5115
13680 5111
13720 5107
13760 5103
13800 5099
13840 5095
13880 5090
13920 5086
13960 5082
14000 5078
14040 5071
14080 5057
14120 5043
14160 5029
14200 5015
14240 5001
14280 4987
14320 4973
14360 4959
14400 4946
14440 4932
14480 4919
14520 4910
14560 4903
14600 4896
14640 4888
14680 4881
14720 4874
14760 4867
14800 4860
14840 4852
14880 4845
14920 4838
14960 4833
15000 4831
15040 4829
15080 4827
15120 4824
15160 4822
15200 4820
15240 4818
15280 4815
15320 4813
15360 4811
15400 4809
15440 4807
15480 4805
15520 4804
15560 4802
15600 4800
15640 4799
15680 4797
15720 4795
15760 4793
15800 4791
15840 4789
15880 4784
15920 4777
15960 4770
16000 4763
16040 4757
16080 4750
16120 4743
16160 4736
16200 4729
16240 4722
16280 4715
16320 4710
16360 4707
16400 4703
16440 4700
16480 4696
16520 4693
16560 4690
16600 4686
16640 4683
16680 4680
16720 4677
16760 4673
16800 4670
16840 4667
16880 4664
16920 4660
16960 4657
17000 4654
17040 4651
17080 4647
17120 4644
17160 4641
17200 4637
17240 4635
17280 4633
17320 4631
17360 4629
17400 4627
17440 4625
17480 4623
17520 4621
17560 4619
17600 4617
17640 4616
17680 4615
17720 4617
17760 4620
17800 4622
17840 4624
17880 4626
17920 4628
17960 4630
18000 4632
18040 4634
18080 4636
18120 4637
18160 4636
18200 4634
18240 4633
18280 4632
18320 4630
18360 4629
18400 4627
18440 4626
18480 4624
18520 4623
18560 4621
18600 4620
18640 4619
18680 4618
18720 4616
18760 4615
18800 4614
18840 4612
18880 4611
18920 4609
18960 4607
19000 4606
19040 4606
19080 4610
19120 4615
19160 4619
19200 4623
19240 4628
19280 4632
19320 4636
19360 4640
19400 4644
19440 4648
19480 4653
19520 4650
19560 4647
19600 4644
19640 4641
19680 4638
19720 4635
19760 4632
19800 4629
19840 4626
19880 4623
19920 4620
19960 4610
20000 4596
#
# interface number 3 (topography, top of the mesh)
#
2
0 9600
20000 9600
#
# for each layer, we give the number of spectral elements in the vertical direction
#
#
# layer number 1 (bottom layer)
#
## The original 2000 Geophysics paper used nz = 90 but NGLLZ = 6
## here I rescale it to nz = 108 and NGLLZ = 5 because nowadays we almost always use NGLLZ = 5
62
#
# layer number 2 (top layer)
#
58
The topography file defines three interfaces:
Interface 1 (bottom boundary): A simple horizontal line at z=0 defining the bottom of the computational domain:
2 points: (0,0) and (20000,0)
Serves as the bottom absorbing boundary
Interface 2 (seafloor bathymetry): The complex seafloor topography with 501 points spanning from x=0 to x=20000 meters:
Points are spaced every 40 meters horizontally
Depth varies from ~4441m to ~4653m, creating realistic seafloor relief
This interface separates the elastic solid (below) from acoustic fluid (above)
The bathymetry shows gradual depth variations typical of abyssal seafloor
Interface 3 (free surface): A flat horizontal surface at z=9600m representing the ocean surface:
2 points: (0,9600) and (20000,9600)
Acts as the free surface boundary for acoustic waves
Layer discretization: The file also specifies the number of spectral elements in each layer:
Layer 1 (seafloor to bottom): 62 elements vertically
Layer 2 (seafloor to surface): 58 elements vertically
This creates a mesh where the acoustic domain (water) sits above the complex bathymetry, and the elastic domain (solid earth) lies below it. The varying seafloor depth creates realistic wave scattering and conversion effects at the fluid-solid interface.
Running xmeshfem2D¶
To execute the mesher run:
xmeshfem2D -p Par_file
Note
Make sure either you are in the build directory of SPECFEM2D kokkos or the
../path/to/specfempp/bin directory is added to your PATH.
Note the path of the database file and a stations file generated after successfully running the mesher.
Running the solver¶
After successfully meshing the domain, we can now define the source and run the solver.
Defining the source¶
This example simulates a tele-seismic plane wave by creating a distributed source system using 234 moment-tensor sources. This technique, developed by Pipatprathanporn et al. (2024), allows for realistic simulation of distant earthquake waves as they would appear at the seafloor. The methodology is based on the approach described in the MERMAID waveform repository.
Line source methodology¶
The plane wave is created by distributing sources in both horizontal and vertical arrays, with carefully calculated timing and amplitudes:
Horizontal source array (197 sources):
Located at depth z=720m in the elastic domain
Spaced every 100m horizontally from x=200m to x=19800m
Time shifts increment by 5.309 ms between adjacent sources
Moment tensor factor: 9.836e-10
Vertical source array (37 sources):
Located at x=200m in the elastic domain
Spaced every 100m vertically from z=820m to z=4420m
Time shifts calculated to maintain plane wave coherence
Moment tensor factor: 1.805e-10 (scaled for vertical component)
Source generation algorithm¶
The line source is designed to simulate a plane wave by distributing multiple moment tensor sources with carefully calculated time delays. The methodology is based on wave propagation physics and follows the implementation in the SPECFEM++ Python utilities and MERMAID waveform setup.
Physical basis for time delay calculation:
The time shifts are computed from the wave propagation geometry:
import numpy as np
# Physical parameters (derived from actual implementation)
angle = 10.4 # Effective incidence angle in degrees
vp = 3400.0 # P-wave velocity in m/s
dx = 100.0 # Horizontal source spacing in m
dz = 100.0 # Vertical source spacing in m
# Horizontal source array (197 sources)
for i in range(197):
x_pos = 200 + i * dx
z_pos = 720
# Time delay: tshift = i * 5309e-6 seconds
tshift = i * dx * np.sin(angle * np.pi / 180) / vp
# Result: tshift ≈ i * 5.309e-3 seconds
# Vertical source array (37 sources)
for i in range(37):
x_pos = 200
z_pos = 820 + i * dz
# Time delay: tshift = i * 28930e-6 seconds
tshift = i * dz * np.cos(angle * np.pi / 180) / vp
# Result: tshift ≈ i * 28.9e-3 seconds
Mathematical derivation:
Starting from the physical parameters of a tele-seismic plane wave, we can compute the required time delays to create coherent wave propagation.
Given parameters:
Incidence angle: θ = 10.4° (typical for regional/tele-seismic arrivals)
P-wave velocity in elastic domain: Vp = 3400 m/s
Source spacing: Δx = Δz = 100 m
Horizontal array time delays:
For sources distributed horizontally, the time delay accounts for the horizontal component of wave propagation:
Therefore: tshift = i × 5309 μs for horizontal sources.
Vertical array time delays:
For sources distributed vertically, the time delay accounts for the vertical component of wave propagation:
The implementation uses 28930 μs, which closely matches our calculation.
Therefore: tshift = i × 28930 μs for vertical sources.
Final implementation values:
Horizontal sources: tshift = i × 5309 μs
Vertical sources: tshift = i × 28930 μs
Wave propagation geometry:
The time delays ensure that all sources contribute constructively to form a coherent plane wave. The horizontal delays account for the projection of the wave vector onto the x-axis (sin θ), while vertical delays account for the z-component (cos θ). This creates a wavefront that propagates at the specified incidence angle through both the elastic solid and acoustic fluid domains.
number-of-sources: 234
sources:
- moment-tensor:
x: 200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 0e-6
f0: 1.0
- moment-tensor:
x: 300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 5309e-6
f0: 1.0
- moment-tensor:
x: 400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 10618e-6
f0: 1.0
- moment-tensor:
x: 500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 15927e-6
f0: 1.0
- moment-tensor:
x: 600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 21236e-6
f0: 1.0
- moment-tensor:
x: 700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 26545e-6
f0: 1.0
- moment-tensor:
x: 800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 31854e-6
f0: 1.0
- moment-tensor:
x: 900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 37163e-6
f0: 1.0
- moment-tensor:
x: 1000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 42472e-6
f0: 1.0
- moment-tensor:
x: 1100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 47781e-6
f0: 1.0
- moment-tensor:
x: 1200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 53090e-6
f0: 1.0
- moment-tensor:
x: 1300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 58399e-6
f0: 1.0
- moment-tensor:
x: 1400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 63708e-6
f0: 1.0
- moment-tensor:
x: 1500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 69017e-6
f0: 1.0
- moment-tensor:
x: 1600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 74326e-6
f0: 1.0
- moment-tensor:
x: 1700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 79635e-6
f0: 1.0
- moment-tensor:
x: 1800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 84944e-6
f0: 1.0
- moment-tensor:
x: 1900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 90253e-6
f0: 1.0
- moment-tensor:
x: 2000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 95562e-6
f0: 1.0
- moment-tensor:
x: 2100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 100871e-6
f0: 1.0
- moment-tensor:
x: 2200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 106180e-6
f0: 1.0
- moment-tensor:
x: 2300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 111489e-6
f0: 1.0
- moment-tensor:
x: 2400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 116798e-6
f0: 1.0
- moment-tensor:
x: 2500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 122107e-6
f0: 1.0
- moment-tensor:
x: 2600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 127416e-6
f0: 1.0
- moment-tensor:
x: 2700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 132725e-6
f0: 1.0
- moment-tensor:
x: 2800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 138034e-6
f0: 1.0
- moment-tensor:
x: 2900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 143343e-6
f0: 1.0
- moment-tensor:
x: 3000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 148652e-6
f0: 1.0
- moment-tensor:
x: 3100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 153961e-6
f0: 1.0
- moment-tensor:
x: 3200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 159270e-6
f0: 1.0
- moment-tensor:
x: 3300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 164579e-6
f0: 1.0
- moment-tensor:
x: 3400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 169888e-6
f0: 1.0
- moment-tensor:
x: 3500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 175197e-6
f0: 1.0
- moment-tensor:
x: 3600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 180506e-6
f0: 1.0
- moment-tensor:
x: 3700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 185815e-6
f0: 1.0
- moment-tensor:
x: 3800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 191124e-6
f0: 1.0
- moment-tensor:
x: 3900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 196433e-6
f0: 1.0
- moment-tensor:
x: 4000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 201742e-6
f0: 1.0
- moment-tensor:
x: 4100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 207051e-6
f0: 1.0
- moment-tensor:
x: 4200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 212360e-6
f0: 1.0
- moment-tensor:
x: 4300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 217669e-6
f0: 1.0
- moment-tensor:
x: 4400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 222978e-6
f0: 1.0
- moment-tensor:
x: 4500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 228287e-6
f0: 1.0
- moment-tensor:
x: 4600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 233596e-6
f0: 1.0
- moment-tensor:
x: 4700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 238905e-6
f0: 1.0
- moment-tensor:
x: 4800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 244214e-6
f0: 1.0
- moment-tensor:
x: 4900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 249523e-6
f0: 1.0
- moment-tensor:
x: 5000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 254832e-6
f0: 1.0
- moment-tensor:
x: 5100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 260141e-6
f0: 1.0
- moment-tensor:
x: 5200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 265450e-6
f0: 1.0
- moment-tensor:
x: 5300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 270759e-6
f0: 1.0
- moment-tensor:
x: 5400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 276068e-6
f0: 1.0
- moment-tensor:
x: 5500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 281377e-6
f0: 1.0
- moment-tensor:
x: 5600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 286686e-6
f0: 1.0
- moment-tensor:
x: 5700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 291995e-6
f0: 1.0
- moment-tensor:
x: 5800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 297304e-6
f0: 1.0
- moment-tensor:
x: 5900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 302613e-6
f0: 1.0
- moment-tensor:
x: 6000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 307922e-6
f0: 1.0
- moment-tensor:
x: 6100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 313231e-6
f0: 1.0
- moment-tensor:
x: 6200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 318540e-6
f0: 1.0
- moment-tensor:
x: 6300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 323849e-6
f0: 1.0
- moment-tensor:
x: 6400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 329158e-6
f0: 1.0
- moment-tensor:
x: 6500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 334467e-6
f0: 1.0
- moment-tensor:
x: 6600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 339776e-6
f0: 1.0
- moment-tensor:
x: 6700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 345085e-6
f0: 1.0
- moment-tensor:
x: 6800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 350394e-6
f0: 1.0
- moment-tensor:
x: 6900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 355703e-6
f0: 1.0
- moment-tensor:
x: 7000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 361012e-6
f0: 1.0
- moment-tensor:
x: 7100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 366321e-6
f0: 1.0
- moment-tensor:
x: 7200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 371630e-6
f0: 1.0
- moment-tensor:
x: 7300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 376939e-6
f0: 1.0
- moment-tensor:
x: 7400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 382248e-6
f0: 1.0
- moment-tensor:
x: 7500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 387557e-6
f0: 1.0
- moment-tensor:
x: 7600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 392866e-6
f0: 1.0
- moment-tensor:
x: 7700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 398175e-6
f0: 1.0
- moment-tensor:
x: 7800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 403484e-6
f0: 1.0
- moment-tensor:
x: 7900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 408793e-6
f0: 1.0
- moment-tensor:
x: 8000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 414102e-6
f0: 1.0
- moment-tensor:
x: 8100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 419411e-6
f0: 1.0
- moment-tensor:
x: 8200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 424720e-6
f0: 1.0
- moment-tensor:
x: 8300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 430029e-6
f0: 1.0
- moment-tensor:
x: 8400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 435338e-6
f0: 1.0
- moment-tensor:
x: 8500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 440647e-6
f0: 1.0
- moment-tensor:
x: 8600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 445956e-6
f0: 1.0
- moment-tensor:
x: 8700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 451265e-6
f0: 1.0
- moment-tensor:
x: 8800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 456574e-6
f0: 1.0
- moment-tensor:
x: 8900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 461883e-6
f0: 1.0
- moment-tensor:
x: 9000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 467192e-6
f0: 1.0
- moment-tensor:
x: 9100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 472501e-6
f0: 1.0
- moment-tensor:
x: 9200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 477810e-6
f0: 1.0
- moment-tensor:
x: 9300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 483119e-6
f0: 1.0
- moment-tensor:
x: 9400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 488428e-6
f0: 1.0
- moment-tensor:
x: 9500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 493737e-6
f0: 1.0
- moment-tensor:
x: 9600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 499046e-6
f0: 1.0
- moment-tensor:
x: 9700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 504355e-6
f0: 1.0
- moment-tensor:
x: 9800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 509664e-6
f0: 1.0
- moment-tensor:
x: 9900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 514973e-6
f0: 1.0
- moment-tensor:
x: 10000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 520282e-6
f0: 1.0
- moment-tensor:
x: 10100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 525591e-6
f0: 1.0
- moment-tensor:
x: 10200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 530900e-6
f0: 1.0
- moment-tensor:
x: 10300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 536209e-6
f0: 1.0
- moment-tensor:
x: 10400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 541518e-6
f0: 1.0
- moment-tensor:
x: 10500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 546827e-6
f0: 1.0
- moment-tensor:
x: 10600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 552136e-6
f0: 1.0
- moment-tensor:
x: 10700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 557445e-6
f0: 1.0
- moment-tensor:
x: 10800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 562754e-6
f0: 1.0
- moment-tensor:
x: 10900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 568063e-6
f0: 1.0
- moment-tensor:
x: 11000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 573372e-6
f0: 1.0
- moment-tensor:
x: 11100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 578681e-6
f0: 1.0
- moment-tensor:
x: 11200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 583990e-6
f0: 1.0
- moment-tensor:
x: 11300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 589299e-6
f0: 1.0
- moment-tensor:
x: 11400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 594608e-6
f0: 1.0
- moment-tensor:
x: 11500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 599917e-6
f0: 1.0
- moment-tensor:
x: 11600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 605226e-6
f0: 1.0
- moment-tensor:
x: 11700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 610535e-6
f0: 1.0
- moment-tensor:
x: 11800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 615844e-6
f0: 1.0
- moment-tensor:
x: 11900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 621153e-6
f0: 1.0
- moment-tensor:
x: 12000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 626462e-6
f0: 1.0
- moment-tensor:
x: 12100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 631771e-6
f0: 1.0
- moment-tensor:
x: 12200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 637080e-6
f0: 1.0
- moment-tensor:
x: 12300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 642389e-6
f0: 1.0
- moment-tensor:
x: 12400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 647698e-6
f0: 1.0
- moment-tensor:
x: 12500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 653007e-6
f0: 1.0
- moment-tensor:
x: 12600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 658316e-6
f0: 1.0
- moment-tensor:
x: 12700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 663625e-6
f0: 1.0
- moment-tensor:
x: 12800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 668934e-6
f0: 1.0
- moment-tensor:
x: 12900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 674243e-6
f0: 1.0
- moment-tensor:
x: 13000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 679552e-6
f0: 1.0
- moment-tensor:
x: 13100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 684861e-6
f0: 1.0
- moment-tensor:
x: 13200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 690170e-6
f0: 1.0
- moment-tensor:
x: 13300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 695479e-6
f0: 1.0
- moment-tensor:
x: 13400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 700788e-6
f0: 1.0
- moment-tensor:
x: 13500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 706097e-6
f0: 1.0
- moment-tensor:
x: 13600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 711406e-6
f0: 1.0
- moment-tensor:
x: 13700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 716715e-6
f0: 1.0
- moment-tensor:
x: 13800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 722024e-6
f0: 1.0
- moment-tensor:
x: 13900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 727333e-6
f0: 1.0
- moment-tensor:
x: 14000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 732642e-6
f0: 1.0
- moment-tensor:
x: 14100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 737951e-6
f0: 1.0
- moment-tensor:
x: 14200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 743260e-6
f0: 1.0
- moment-tensor:
x: 14300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 748569e-6
f0: 1.0
- moment-tensor:
x: 14400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 753878e-6
f0: 1.0
- moment-tensor:
x: 14500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 759187e-6
f0: 1.0
- moment-tensor:
x: 14600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 764496e-6
f0: 1.0
- moment-tensor:
x: 14700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 769805e-6
f0: 1.0
- moment-tensor:
x: 14800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 775114e-6
f0: 1.0
- moment-tensor:
x: 14900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 780423e-6
f0: 1.0
- moment-tensor:
x: 15000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 785732e-6
f0: 1.0
- moment-tensor:
x: 15100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 791041e-6
f0: 1.0
- moment-tensor:
x: 15200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 796350e-6
f0: 1.0
- moment-tensor:
x: 15300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 801659e-6
f0: 1.0
- moment-tensor:
x: 15400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 806968e-6
f0: 1.0
- moment-tensor:
x: 15500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 812277e-6
f0: 1.0
- moment-tensor:
x: 15600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 817586e-6
f0: 1.0
- moment-tensor:
x: 15700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 822895e-6
f0: 1.0
- moment-tensor:
x: 15800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 828204e-6
f0: 1.0
- moment-tensor:
x: 15900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 833513e-6
f0: 1.0
- moment-tensor:
x: 16000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 838822e-6
f0: 1.0
- moment-tensor:
x: 16100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 844131e-6
f0: 1.0
- moment-tensor:
x: 16200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 849440e-6
f0: 1.0
- moment-tensor:
x: 16300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 854749e-6
f0: 1.0
- moment-tensor:
x: 16400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 860058e-6
f0: 1.0
- moment-tensor:
x: 16500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 865367e-6
f0: 1.0
- moment-tensor:
x: 16600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 870676e-6
f0: 1.0
- moment-tensor:
x: 16700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 875985e-6
f0: 1.0
- moment-tensor:
x: 16800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 881294e-6
f0: 1.0
- moment-tensor:
x: 16900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 886603e-6
f0: 1.0
- moment-tensor:
x: 17000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 891912e-6
f0: 1.0
- moment-tensor:
x: 17100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 897221e-6
f0: 1.0
- moment-tensor:
x: 17200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 902530e-6
f0: 1.0
- moment-tensor:
x: 17300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 907839e-6
f0: 1.0
- moment-tensor:
x: 17400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 913148e-6
f0: 1.0
- moment-tensor:
x: 17500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 918457e-6
f0: 1.0
- moment-tensor:
x: 17600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 923766e-6
f0: 1.0
- moment-tensor:
x: 17700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 929075e-6
f0: 1.0
- moment-tensor:
x: 17800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 934384e-6
f0: 1.0
- moment-tensor:
x: 17900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 939693e-6
f0: 1.0
- moment-tensor:
x: 18000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 945002e-6
f0: 1.0
- moment-tensor:
x: 18100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 950311e-6
f0: 1.0
- moment-tensor:
x: 18200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 955620e-6
f0: 1.0
- moment-tensor:
x: 18300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 960929e-6
f0: 1.0
- moment-tensor:
x: 18400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 966238e-6
f0: 1.0
- moment-tensor:
x: 18500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 971547e-6
f0: 1.0
- moment-tensor:
x: 18600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 976856e-6
f0: 1.0
- moment-tensor:
x: 18700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 982165e-6
f0: 1.0
- moment-tensor:
x: 18800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 987474e-6
f0: 1.0
- moment-tensor:
x: 18900
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 992783e-6
f0: 1.0
- moment-tensor:
x: 19000
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 998092e-6
f0: 1.0
- moment-tensor:
x: 19100
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 1003401e-6
f0: 1.0
- moment-tensor:
x: 19200
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 1008710e-6
f0: 1.0
- moment-tensor:
x: 19300
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 1014019e-6
f0: 1.0
- moment-tensor:
x: 19400
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 1019328e-6
f0: 1.0
- moment-tensor:
x: 19500
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 1024637e-6
f0: 1.0
- moment-tensor:
x: 19600
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 1029946e-6
f0: 1.0
- moment-tensor:
x: 19700
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 1035255e-6
f0: 1.0
- moment-tensor:
x: 19800
z: 720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 9.836e-10
tshift: 1040564e-6
f0: 1.0
- moment-tensor:
x: 200
z: 820
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 2893e-05
f0: 1.0
- moment-tensor:
x: 200
z: 920
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 5786e-05
f0: 1.0
- moment-tensor:
x: 200
z: 1020
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 8679e-05
f0: 1.0
- moment-tensor:
x: 200
z: 1120
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 11572e-05
f0: 1.0
- moment-tensor:
x: 200
z: 1220
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 14465e-05
f0: 1.0
- moment-tensor:
x: 200
z: 1320
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 17358e-05
f0: 1.0
- moment-tensor:
x: 200
z: 1420
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 20251e-05
f0: 1.0
- moment-tensor:
x: 200
z: 1520
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 23144e-05
f0: 1.0
- moment-tensor:
x: 200
z: 1620
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 26037e-05
f0: 1.0
- moment-tensor:
x: 200
z: 1720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 28930e-05
f0: 1.0
- moment-tensor:
x: 200
z: 1820
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 31823e-05
f0: 1.0
- moment-tensor:
x: 200
z: 1920
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 34716e-05
f0: 1.0
- moment-tensor:
x: 200
z: 2020
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 37609e-05
f0: 1.0
- moment-tensor:
x: 200
z: 2120
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 40502e-05
f0: 1.0
- moment-tensor:
x: 200
z: 2220
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 43395e-05
f0: 1.0
- moment-tensor:
x: 200
z: 2320
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 46288e-05
f0: 1.0
- moment-tensor:
x: 200
z: 2420
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 49181e-05
f0: 1.0
- moment-tensor:
x: 200
z: 2520
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 52074e-05
f0: 1.0
- moment-tensor:
x: 200
z: 2620
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 54967e-05
f0: 1.0
- moment-tensor:
x: 200
z: 2720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 57860e-05
f0: 1.0
- moment-tensor:
x: 200
z: 2820
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 60753e-05
f0: 1.0
- moment-tensor:
x: 200
z: 2920
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 63646e-05
f0: 1.0
- moment-tensor:
x: 200
z: 3020
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 66539e-05
f0: 1.0
- moment-tensor:
x: 200
z: 3120
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 69432e-05
f0: 1.0
- moment-tensor:
x: 200
z: 3220
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 72325e-05
f0: 1.0
- moment-tensor:
x: 200
z: 3320
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 75218e-05
f0: 1.0
- moment-tensor:
x: 200
z: 3420
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 78111e-05
f0: 1.0
- moment-tensor:
x: 200
z: 3520
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 81004e-05
f0: 1.0
- moment-tensor:
x: 200
z: 3620
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 83897e-05
f0: 1.0
- moment-tensor:
x: 200
z: 3720
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 86790e-05
f0: 1.0
- moment-tensor:
x: 200
z: 3820
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 89683e-05
f0: 1.0
- moment-tensor:
x: 200
z: 3920
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 92576e-05
f0: 1.0
- moment-tensor:
x: 200
z: 4020
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 95469e-05
f0: 1.0
- moment-tensor:
x: 200
z: 4120
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 98362e-05
f0: 1.0
- moment-tensor:
x: 200
z: 4220
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 101255e-05
f0: 1.0
- moment-tensor:
x: 200
z: 4320
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 104148e-05
f0: 1.0
- moment-tensor:
x: 200
z: 4420
Mxx: 1.0
Mzz: 1.0
Mxz: 0.0
angle: 0.0
Ricker:
factor: 1.805e-10
tshift: 107041e-05
f0: 1.0
Physical interpretation¶
This distributed source approach simulates how tele-seismic waves from distant earthquakes appear as approximately planar wavefronts when they reach the seafloor. The method allows for:
Realistic wavefront geometry: Maintains proper phase relationships across the domain
Proper energy distribution: Sources are scaled to represent appropriate amplitudes
Computational efficiency: Uses existing moment-tensor source infrastructure
Flexible incident angles: Time delays can be adjusted for different wave arrival angles
This technique is particularly valuable for studying how seismic waves interact with complex seafloor bathymetry, as it provides a controlled yet realistic source mechanism for marine seismology applications.
Running the simulation¶
To run the solver, we first need to define a configuration file specfem_config.yaml.
parameters:
header:
## Header information is used for logging. It is good practice to give your simulations explicit names
title: fluid-solid-bathymetry # name for your simulation
# A detailed description for your simulation
description: |
Material systems : Elastic domain (1), Acoustic domain (1)
Interfaces : Acoustic-elastic interface (1) (orientation horizontal with acoustic domain on top)
Sources : Moment-tensor (234)
Boundary conditions : Neumann BCs on all edges
simulation-setup:
## quadrature setup
quadrature:
quadrature-type: GLL4
## Solver setup
solver:
time-marching:
type-of-simulation: forward
time-scheme:
type: Newmark
dt: 1.000e-3
nstep: 32500
simulation-mode:
forward:
writer:
seismogram:
format: ascii
directory: OUTPUT_FILES/seismograms
display:
format: PNG
directory: OUTPUT_FILES/display
field: displacement
simulation-field: forward
time-interval: 500
receivers:
stations: OUTPUT_FILES/STATIONS
angle: 0.0
seismogram-type:
- pressure
nstep_between_samples: 1
## Runtime setup
run-setup:
number-of-processors: 1
number-of-runs: 1
## databases
databases:
mesh-database: OUTPUT_FILES/database.bin
## sources
sources: line_source.yaml
Key configuration features:
Forward simulation using Newmark time scheme
Time step dt = 1.0e-3 s with 32,500 time steps
Wavefield snapshots saved every 500 time steps for visualization
Seismograms recorded at two receiver locations
Pressure recordings for the acoustic domain
With the configuration file in place, we can run the solver using the following command:
specfem2d -p specfem_config.yaml
[Optional] Visualizing the results¶
The simulation generates seismograms at the stations defined in the
specfem_config.yaml file and wavefield snapshots for visualization.
You can visualize the seismograms using the following python script.
import os
import numpy as np
import obspy
def get_traces(directory):
traces = []
# Iterate over all pressure seismogram files
for filename in os.listdir(directory):
if filename.endswith(".semp"):
f = os.path.join(directory, filename)
network, station, location, channel = filename.split(".")[:4]
trace = np.loadtxt(f, delimiter=" ")
starttime = trace[0, 0]
dt = trace[1, 0] - trace[0, 0]
traces.append(
obspy.Trace(
trace[:, 1],
{
"network": network,
"station": station,
"location": location,
"channel": channel,
"starttime": starttime,
"delta": dt,
},
)
)
stream = obspy.Stream(traces)
return stream
# Load pressure seismograms from acoustic domain
directory = "OUTPUT_FILES/seismograms"
stream = get_traces(directory)
# Plot pressure recordings (acoustic domain)
# Note: Since receivers are in water, we expect pressure recordings
stream.plot(size=(1000, 800))
The output image is should look like this:
[Optional] Creating animated visualization¶
To create an animated gif of the wavefield evolution, you can use ImageMagick (if available):
magick OUTPUT_FILES/display/wavefield*.png -trim +repage -delay 10 -loop 0 fluid-solid-bathymetry.gif
The output animated gif will show the wavefield evolution over time, illustrating the interaction of seismic waves with the complex bathymetry and fluid-solid interfaces. The animation captures how the waves propagate through the acoustic and elastic domains, reflecting and refracting at the seafloor interface.
This example demonstrates how SPECFEM++ can handle complex bathymetry and fluid-solid interfaces, making it suitable for seismic wave propagation studies in marine environments.