mtuq icon indicating copy to clipboard operation
mtuq copied to clipboard

user_supplied arrivals at selected stations

Open vsilwal opened this issue 2 years ago • 2 comments

MTUQ has four options for handling the arrival times (pick_type):

- ``'taup'``
  calculates P, S arrival times from Tau-P model (uses `obspy.taup.TauPyModel.get_arrival_times`)

- ``'FK_metadata'``
  reads P, S arrival times from FK metadata

- ``'SAC_metadata'``
  reads P, S arrival times from SAC metadata fields `t5`, `t6`

- ``'user_supplied'``
  reads P, S arrival times from columns 8, 10 of `capuaf_file`

At present MTUQ cannot accommodate the case when we want to provide (user_supplied) arrival time information at only selected stations. If we update the arrival time in weight files for only a few stations, leaving others unchanged, it will take the arrival times for other stations as 0. It will be good to have a fallback_option (say 'taup'). In such a case, one can use user_supplied arrival times when available in weight file, and falling back to taup if not supplied.

vsilwal avatar Aug 23 '23 13:08 vsilwal

Agreed that we could improve how user-supplied picks and statics are handled. Perhaps two overall priorities might be

  • improve how the capuaf file is handled, e.g. by reading it into a pandas DataFrame
  • try to manage the complexity of the process_data module; keep it from becoming more complicated

For adjusting arrival times, perhaps the following might work?

  • perform the taup calls in the script that writes the capuaf file
  • make adjustments using statics rather than picks
  • for specialized cases, implement your own custom data processing function

rmodrak avatar Aug 23 '23 16:08 rmodrak

Hi @rmodrak, @vsilwal, I have been working a couple of times locally with a mixed or auto mode that uses user-supplied origin time unless the origin time in the weight file is zero (it then defaults back to using tau-p). If there is a real need for this, I can add it to the main branch. (Suggestions for a better mode name are welcome we do it this way).

As a second option, I would do as @rmodrak proposed and use statics.

thurinj avatar Aug 23 '23 18:08 thurinj