xumi1993 / seispy

Python module of seismology and receiver functions

Home Page:https://seispy.xumijian.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Does seispy support to calculate RFs using PP phase signals ?

LevCarlo opened this issue · comments

I tried to use the earthquakes with epicental distance of 25°-150° to calculate RFs as the short-period seismic observation time is limited, but failed for ValueError: The phase of P is not exists. I have successfully calculated RFs using earthquakes with epicental distance of 30°-90° by seispy before. So I want to ask what could lead to this failure and whether seispy support to use PP phase signals.

2022-10-10 16:19:57,143 [RF] INFO: 160 earthquakes are found
2022-10-10 16:19:57,144 [RF] INFO: Match SAC files
2022-10-10 16:19:57,981 [RF] INFO: 73 earthquakes are matched
2022-10-10 16:19:57,981 [RF] INFO: Detrend all data
2022-10-10 16:19:59,682 [RF] INFO: Filter all data from 0.05 to 2.0
2022-10-10 16:20:00,284 [RF] INFO: Calculate P arrivals and ray parameters for all data
Traceback (most recent call last):
File "/raid/mengjie/SouthChina/RFs/run.py", line 46, in
pjt.cal_phase()
File "/raid/mengjie/anaconda3/envs/seis/lib/python3.10/site-packages/seispy/rf.py", line 354, in cal_phase
row['data'].get_arrival(self.model, row['evdp'], row['dis'], phase=self.para.phase)
File "/raid/mengjie/anaconda3/envs/seis/lib/python3.10/site-packages/seispy/eq.py", line 108, in get_arrival
raise ValueError('The phase of {} is not exists'.format(phase))
ValueError: The phase of P is not exists

I didn't try to use PP phase.
Because the green's function of PP in Z component cannot be approximated to a pulse, the deconvolution of R by Z is not valid.

Thanks for your quick reply. Do you have any sugeestions to alleviate the problem that the events number is not enough to perform RFs analysis for the short-period seismic observation?

Sorry. There may not be a good solution to that.