RadioAstronomySoftwareGroup/pyuvsim

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.

The effect varies throughout the year. For a zenith phase centre or tracking antenna on 3km baselines (the effect is linear in baseline length) it looks like this

EDIT: previous uploads excluded som bigger solar system objects. This one includes all the planets and Earth's moon and Sun.
delay_error_3km_01_Apr_2024
delay_error_3km_01_Jan_2024
delay_error_3km_01_Jul_2024
delay_error_3km_01_Oct_2024

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.