SPECFEM / specfem3d

SPECFEM3D_Cartesian simulates acoustic (fluid), elastic (solid), coupled acoustic/elastic, poroelastic or seismic wave propagation in any type of conforming mesh of hexahedra (structured or not).
GNU General Public License v3.0
390 stars 223 forks source link

Same seismogram for different stations at different location #1606

Closed visruthac closed 1 year ago

visruthac commented 1 year ago

I am getting the same seismigrams for all the stations which are at different locations while using SPECFEM3D Cartesian for different 1D , 2D and 3D models I have tried. What could be the reason for this. How can I obrain the station specific seismograms?

In the EXAMPLES folder also, the seismograms given are the same for each staions.

bch0w commented 1 year ago

Hi @visruthac, this might depend on a few things, such as your source mechanism, station geometry, and station locations. SPECFEM outputs synthetics for each station listed in the DATA/STATIONS file.

Can you provide the source (CMTSOLUTION) and station (STATIONS) file that you are using for your simulation?

It would also be useful if you could note which example you are referring to when you mention all seismograms are the same.

visruthac commented 1 year ago

@bch0w Thank you for your reply.

If you consider the CMTSOLUTION and STATION file given in the EXAMPLES/homogeneous halfspace. I am getting the same seismogram at station for any component , say Z.

The reference seismograms given in the above folder also shows the same.

bch0w commented 1 year ago

That's interesting. I see that the stations are all placed in a line for that example, so for a homogeneous domain I might expect them to have similar waveforms. However, when I plot all the synthetic seismograms together, they do clearly show differences. Can you confirm this is what you're seeing?

Figure_1

Small Python script to plot the output seismograms in the OUTPUT_FILES directory

import numpy
import matplotlib.pyplot as plt

for i in [2,3,4,5]:
    fid = f"DB.X{i}0.BXZ.semd"
    data = np.loadtxt(fid)
    plt.plot(data[:,0], data[:,1], label=fid)
    plt.legend()
    plt.show()
visruthac commented 1 year ago

Hi @bch0w I realised that it was my mistake in reading the output files. Thank you for your help.