Peak at zero in Q component receiver function

Hello everyone. I have made my receiver function using the rf package. According to my knowledge in the Q receiver function, there should not be any peak at zero but I got a peak at zero. What are the possible reasons for this error?
If this error is occurred due to imperfect rotation of coordinates then how did I make sure that my coordinates are perfectly rotated.
For rotation, we need back azimuth and inclination. If the inclination is calculated by this formula θ = arcsin (p*vp /re ), then can I use different Vp for inclination calculation.

Hi, welcome to the ObsPy forum!

Yes, this is mostly due to imperfect rotation. I think reasons to be considered are:

  • imprecise velocity model
  • free surface effects

At some point, I personally did ignore the peak at 0s on the Q component. Some people don’t even care to rotate into LQT coordinate system, but just use ZRT rotation. If you really want to get rid of the peak at Q, you could simply perform the processing for different inclination angles and check afterwards. Most elegant way would be to invert for the best inclination angle.

I think, due to the free surface effects, it is not possible to strictly separate P onset and Ps conversions with an orthogonal coordinate system.

You can search for articles from @FelixMSchneider, I know that he used to work on these issues.

Maybe others can contribute their opinion/expertise on this topic.

Thank you for your suggestion. To minimize the peak I decide to use the local model in the ‘rfstats’ function. How can I replace relace model iasp91 with the local model?
According to my understanding, I have to change the tt_model with the imprecise model to get the correct result. But I am confused to do so.
please give me the procedure to change the tt_model in the ‘rfstats’ function.

Correct. Incidence angle is calculated by taupy using the tt_model parameter.

You can simply specify the filename. The default is iasp91.dat (2.4 KB).