adjtomo/pyatoa

time offset, synthetic USERT0 and t=0 in waveform plots do not agree

Closed this issue · 1 comments

bch0w commented

There are a few different time shifts that need to be considered during a Pyatoa workflow, and a few different quantities that constitute 'time offset'. To put some definitions to names:

  1. Time Offset: Time difference between trace starttime (tr.stats.starttime) and event origin time (event.preferred_origin().time). This is necessary for windowing as it will be used for things like rejection based on travel times compared to 1D ray tracing (TauPy). It also is used to set t=0 on the Y-axis of waveform plots. If no event metadata is provided to the Manager, we don't really have any way to calculate this

  2. USERT0: A SPECFEM supplied parameter that zero pads before the origin time. This only needs to be considered when reading in synthetics and writing adjoint sources. Once synthetics are read in as Stream objects, they are stored in memory with absolute time. USERT0 needs to be applied when writing adjoint sources (.adj files) to match the synthetic streams so we need to carry this information around

  3. Waveform plot t=0. This should be the event origin time, but currently it represents the start of the waveforms (maybe timeshifted by USERT0).

Currently Pyatoa has some confusion about which values are which and which are important. This needs to be sorted out in the core objects and the waveform plotter.

bch0w commented

Closing as data reading has now been fully migrated to PySEP and Pyatoa is no longer responsible for determining correct values for time offsets