Are the uvw coordinates taking into account gravitational delay?
Closed this issue · 6 comments
From the docs it looks like you UVW are ENU. However, typically the uvw are defined as
delay(l,m) ~ u l + v m + w sqrt(1 - l^2 - m^2)
which includes many effects from GR using PPN, from which it follows:
w = delay(l=0, m=0)
u = d/dl delay(l=0, m=0)
v = d/dm delay(l=0, m=0)
The delay error based on this approximation when used in the standard RIME is then:
error(l,m) = delay(l,m) - (u l + v m + w sqrt(1 - l^2 - m^2))
Hi @Joshuaalbert -- Our coordinate definitions are strictly geometric, and don't take into account GR effects. UVW coordinates are the baseline vector projected in the direction of the phase center, though the documentation of pyuvdata should be more precise on that. I'll note that this is motivated by the parameters available to the simulator. We don't know delay a priori, only the source position (in ICRS coords) and the baseline vector (in ITRS). Can you show what you get for error(l,m)
?
Since the main applications of pyuvsim
so far have been in simulating short baselines in connected arrays, we didn't account for the much higher-order effects relevant to VLBI. I can point you to my package pycalc11, which provides a python interface to the CALC11 VLBI delay model. I'm still experimenting with providing access to the UVWs it computes, but can push on that if you need.
How are you generating delay(l,m)
?
Some code I wrote myself that computes the delay taking into account effects down to 0.1 ps
pyuvsim isn't currently designed with that specification in mind, but if you're interested in sharing your code we can try to include higher-order effects. I'd also be interested in seeing a comparison between your delay model and pycalc11
Sounds good. Let's close this issue, but open another one related to comparing with calc11. After that if the results are favorable we can discuss contributing.