Add resampled responses as functions of the TPSs
Following discussions on instrument#18 (closed), in order to use the GW responses expressed in the correct frames, we need to
- write the existing datasets (TCB responses) to a group
/tcb
(currently written at the root) - create another group
/tps
, and write the TPS responses
The TPS responses can be computed either
- by resampling the GW responses for each link expressed in the TCB to the receiving spacecraft TCB
- or by calling
compute_gw_response()
witht
as the TCB times corresponding to the receiving spacecraft TPS; note that these times correspond to the quantities/tps/sc_i/t
from the orbit file
Issues with stochastic backgrounds
The second option raises an issue for stochastic background: we need to call compute_gw_response()
independently for each pair of links (since the time arrays passed as argument are different for each spacecraft), and we loose the sky coherence when optimizations are enabled. To solve this, we could either
- not care and let the class raise a warning when that happens
- or allow the
t
argument ofcompute_gw_response()
to be a 2-dim array, with the first dimension size equal to the number of links (size oflinks
argument), and associated each subarray to the links so that we can use a single call.
Option to opt out
This increases significantly the runtime and the size resulting GW files. For optimization purposes, we can add an argument (say neglect_tps
) to remove the writing of these TPS responses. In this case, neither options discussed above are performed, and no /tps
group is written to the GW file.
Note that LISA Instrument with relativity enabled (neglect_tps=False
) provided with a GW file that does not have TPS responses will
- issue a warning
- fallback to the current behavior, and use the TCB responses