Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
Activity
• Jan 25 15:39
trichter commented #3033
• Jan 25 15:26
ThomasLecocq commented #3033
• Jan 25 15:23
lpk-py commented #3033
• Jan 25 09:46
filefolder edited #3261
• Jan 25 09:11
megies commented #3259
• Jan 25 09:09
megies commented #3259
• Jan 25 01:28
filefolder synchronize #3261
• Jan 25 01:23
filefolder synchronize #3261
• Jan 25 01:11
filefolder review_requested #3261
• Jan 25 01:11
filefolder review_requested #3261
• Jan 25 01:11
filefolder review_requested #3261
• Jan 25 01:11
filefolder opened #3261
• Jan 24 20:09
firstkingofrome commented #3259
• Jan 24 18:04
firstkingofrome commented #3259
• Jan 24 18:03
firstkingofrome commented #3259
• Jan 24 14:19
megies commented #3024
• Jan 24 11:38
megies edited #3260
• Jan 24 11:38
megies commented #3260
• Jan 24 11:37
megies labeled #3260
• Jan 24 11:37
megies unlabeled #3260
ankara17
@ankara17
Hai, how to plot psd in 3 components like that?
6 replies
ankara17
@ankara17
@megies @krischer
@boyoforex

Hello all,

I need help with instrument response removal using poles and zeros. All the information I have about the seismometer is stated here (https://www.gfz-potsdam.de/en/section/geophysical-imaging/infrastructure/geophysical-instrument-pool-potsdam-gipp/pool-components/poles-and-zeros/3d-geophone) and below:

No Damping Resistor
Gs = 28.8 V/(m/s); Ds = 0.56; fs = 4.5 Hz

2 Zeros
z1 = 0
z2 = 0

2 Poles
p1 = -15.88 23.43i
p2 = -15.88 -23.43i

Normalisation Factor
a = 1.0

I can see the code example using PAZ dictionary here: https://docs.obspy.org/tutorial/code_snippets/seismometer_correction_simulation.html#using-a-paz-dictionary but not sure which of these parameters correspond to the ones used in the example.

There is also a response file available here: https://www.gfz-potsdam.de/fileadmin/gfz/sec22/pdf_doc/GIPP/RESP.XX.NS532..SLZ.HG6.375.100000.4_5B.28_8.txt and also on IRIS NRL: http://ds.iris.edu/NRL/sensors/hgs/RESP.XX.NS532..SLZ.HG6.375.9090.4_5B.27_7 but didn't work with ObsPy.

I kept getting "ValueError: No matching response information found" error when I use these files (after modifying the channel name, station name and start and end dates).

Kindly provide me some guidance on using the parameters or response file successfully.

Thanks!

6 replies
shrrylee
@shrrylee
Hello all, I want to read a MSD file，Why is the running result displayed：“known blockette length for type 1002”“msr_unpack(GD_TST1_00_BHN_D): Unknown blockette length for type 1002”....Looking forward to the help of kind people
vpdmtb
@vpdmtb
Hello the Obspy community ! I don't know if it is the right place for that but I think we found a bug with the instrumental correction tool. The bug occur only with low waterlevel (<60 dB) and when a change from velocity to acceleration or inversely is requested. I have prepare a few plot to explain it more in detail...
tyt
@seismoprocess
Hello, I am able to write sac files to SEGY format, however while writing to SEGY network,station,channel and location information are getting lost. Can you please suggest some solution or how can be the header information be inserted in SEGY header.Thanks
6 replies
tyt
@seismoprocess
@megies @ThomasLecocq @calum-chamberlain @krischer , i am looking forward to hearing from you regarding my query.Thanks.
tyt
@seismoprocess
Hii, I need to see the real time recording on my computer screen, I am not finding any links to it on obspy tutorial.can you please suggest some example links...Thanks in advance.
2 replies
Munkhsaikhan Amarsanaa
@BoDoNgAhAi
Hello Obspy developers. I would like to know if there is an easy way in Obspy to remove instrument response using PAZ as the SAC program do. For example: read SAC file and read its paz then SAC.remove_response(paz, 'ACC'). If there is not it is possible to develop it in Obspy? I have a ton of SAC data with its paz. Thank you.
Calum Chamberlain
@calum-chamberlain
4 replies
HZeyen
@HZeyen
Hi, I am having problems reading seg2 files if the keyword 'NOTE' exists but has no contents behind. I would propose to change function "parse_free_form" near the end and add a try-except structure around line 327 in file seg2.py:
4 replies
        if key == 'NOTE':
try:
value = [cleanup_and_decode_string(line)
for line in value.split(self.line_terminator)
if line]
except:
value = ''
else:
value = cleanup_and_decode_string(value)
ankara17
@ankara17
Hello all, how to know availability percentage of data waveform from observation data?
sbrent88
@sbrent88
Hello! I am trying to use NLLOC but my events catalog is in a pandas DataFrame. Is there a way to convert it to the NLLOC format?
3 replies
MarcoEsposito890
@MarcoEsposito890
Hello, can someone explain to me how does the remove_sensitivity() function work? It just multiplies by the sensitivity value and gives me an output in m/s^2 (I have the sensitivity for channels that use accelerometers)?
22 replies
Munkhsaikhan Amarsanaa
@BoDoNgAhAi
Hello everyone. Does anyone know a seismology book related to python (explained, analyse, etc.)? I am sorry if maybe this is not a proper question for this chat group.
2 replies
Lalit Arya
Hi everyone, I am new to obspy. one of my station network name is missing in the headers. How can I place it throughout the data files? Data is in mseed format.

Can I save the network information in individual file and write it to all files?

3 replies
LessandroValente
@LessandroValente

Hello, I'm trying to process seismic data from MASW using the SWPROCESS library, it intrinsically uses some obspy libraries. Following the tutorial on the page, which loads a series of .dat data in SEG2 format separated by offset, I am not successful in inverting my data. I've already tried to use my data in SEG2, SEGY and SU format and still no success. With that, my last attempt was to try with the SEG2 format named the same as the one in the tutorial. However, I get the following error:

# Path (relative or full) to a folder containing the data files. Data files must be in either the SEG2 and/or SU data format.
path_to_folder = "data/wghs/"

set0 = [f"{path_to_folder}{x}.dat" for x in range(6, 7)]
fnames_set = [set0]
print(fnames_set)
for set_number, fnames in enumerate(fnames_set):
print(f"  set{set_number} includes {len(fnames)} files from {fnames[0]} to {fnames[-1]}")

names = None

workflow = "time-domain"

transform = "fdbf"

fmin, fmax = 3, 100

vmin, vmax, nvel, vspace = 100, 500, 400, "linear"

fdbf_weighting = "sqrt"

fdbf_steering = "cylindrical"

snr = True

noise_begin, noise_end =  -0.5, 0.
signal_begin, signal_end = 0., 0.5

%matplotlib qt5
settings = swprocess.Masw.create_settings_dict(workflow=workflow,
trim=trim, trim_begin=trim_begin, trim_end=trim_end,
mute=mute, method=method, window_kwargs=window_kwargs,
vmin=vmin, vmax=vmax, nvel=nvel, vspace=vspace,
weighting=fdbf_weighting, steering=fdbf_steering,
snr=snr, noise_begin=noise_begin, noise_end=noise_end,
signal_begin=signal_begin, signal_end=signal_end,

start = time.perf_counter()
wavefieldtransforms = []

for fnames in fnames_set:
wavefieldtransforms.append(swprocess.Masw.run(fnames=fnames, settings=settings))
print(wavefieldtransforms)

end = time.perf_counter()
print(f"Elapsed Time (s): {round(end-start,2)}")

From that I get the following error:

Could anyone help me to solve this problem? I would be extremely grateful!

2 replies
This message was deleted
tyt
@seismoprocess
hii, I have station lat lon, event depth and epicentral distance in my hand, I want to calculate event lat lon using obspy.Can you please suggest the proper solution for the same.Thanks.
8 replies
fontiela
@fontiela
It’s a side topic, however I’m curious to know if Obspy runs smooth in Mac OS Ventura. Any problem related?
ankara17
@ankara17
Hai @krischer @megies, how to calculate sn ratio in obspy?
walid06seismo
@walid06seismo:matrix.org
[m]

I am trying to analyse daily seismic recordings near a river to capture signals associated with river processes. It is new for me, and not sure if I am doing things right. I cut the signal in 6 hours windows and tried to plot spectrogram/PSD (not sure of the difference between Spectro and PSD).
Here is the basic python script I used.

import numpy as np
import matplotlib.pyplot as plt
import obspy
print(st)
tr=st[0]
print(tr.stats)
sps =int(st[0].stats.sampling_rate)
st.plot()
fig = plt.figure()
ax1 = fig.add_axes([0.1, 0.75, 0.7, 0.2]) #[left bottom width height]
ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.60], sharex=ax1)
ax3 = fig.add_axes([0.83, 0.1, 0.03, 0.6])
t = np.arange(tr.stats.npts) / tr.stats.sampling_rate
ax1.plot(t, tr.copy().data, 'k')
tr.spectrogram(wlen =2sps, per_lap=0.95, dbscale=True, log=True,cmap="rainbow")
print(st)
tr=st[0]
print(tr.stats)
sps =int(st[0].stats.sampling_rate)
st.plot()
fig = plt.figure()
ax1 = fig.add_axes([0.1, 0.75, 0.7, 0.2]) #[left bottom width height]
ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.60], sharex=ax1)
ax3 = fig.add_axes([0.83, 0.1, 0.03, 0.6])
t = np.arange(tr.stats.npts) / tr.stats.sampling_rate
ax1.plot(t, tr.copy().data, 'k')
tr.spectrogram(wlen =2
sps, per_lap=0.95, dbscale=True, log=True,cmap="rainbow")

I don't know how to include the colour scale too. Any advice will be great.

Thx.

Calum Chamberlain
@calum-chamberlain
@ankara17 and @walid06seismo:matrix.org - these questions would be better on the obspy discourse forum: https://discourse.obspy.org/
walid06seismo
@walid06seismo:matrix.org
[m]
thx @ankara17
petrrr
@petrrr
Dear community!
petrrr
@petrrr

We would like to inform you about a public beta release of a new FDSNWS station service at the Italian EIDA node (@INGV). This new services implementation should remove some important performance limitation of the currently used version. The service is available at the following URL: https://webservices.ingv.it/beta/fdsnws/station/1/.

We also would very much appreciate any feedback, bug reports or other comments, in order to catch any issue before the production release occurs which is planned within the next few weeks. Thanks!

tyt
@seismoprocess
Dear developers, I want to write sac formatted data to SEISAN format, however I am not getting any programme for the same in obspy. can you please suggest what to do in order to write the file to seisan.Thanks in advance.
Ch_song
@Chsongcumt
Hello eveyone. What command should I use to complete the baseline correction of the waveform?
2 replies
Ch_song
@Chsongcumt
2 replies
Qian-Zhou3
@Qian-Zhou3
Hello dear colleges. I am using iasp91 velocity model, but I am wondering what the n column means? If I want to modify it, how I could compute the n values for the new velocity model?