Repository navigation
BUG: fix triangular interferometer coordinates - #1016
ColmTalbot merged 1 commit into
Conversation
|
Thanks @filippo-santoliquido how does this compare with #894? |
|
Hi Colm, Thanks for pointing me to #894 The coordinates produced by the two methods are essentially identical though the method implemented in #894 yields slightly more precise results, as it also updates the elevation. This level of precision is, of course, important for the null stream. At this point, I think the choice of which PR to accept is up to you. My PR applies minimal changes to the current implementation, while #894 version is more precise and may be useful for specific studies. In any case, the testing bug should be fixed regardless. Cheers, |
|
We discussed this on a development call and the initial consensus is to get this simpler fix in soon and revist the more complex implementation at a later time. |
Follow upstream bilby (bilby-dev/bilby#1016): each next vertex is at the end of the current channel's x arm, a great-circle step of the arm length along bearing 90 - xarm_azimuth. The former flat step along the next channel's x arm gave a non-equilateral triangle (6.5-9.7 km sides for ET-EMR) with the second and third vertices on the wrong side, and changed the ET-EMR2/3 optimal SNRs by up to ~1% with respect to runs made with upstream bilby. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Since bilby-dev/bilby#1016 each next channel sits at the end of the current channel's x arm, but the arm azimuths are still rotated by 240 degrees, so the second and third channels have one arm 60 degrees off the triangle (and swapped labels with respect to LAL). Follow LAL (LIGO-T1400308) and bilby-dev/bilby#894 instead: step along the straight x arm on the WGS84 ellipsoid and rotate both arms by 120 degrees about the detector normal, with azimuths, tilts and elevation recomputed in the next vertex's local frame. The colocated option rotates the arms in the same way about the first vertex. The geocentric-to-geodetic inversion uses |z| and real cube roots, so it also holds in the southern hemisphere, where #894's version returns NaN. For the ET-EMR v70 injection this swaps the ET-EMR2/3 SNRs and changes the weaker one from 162.30 to 160.84. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Hi,
I believe I have found two bugs in the implementation of the triangular-shaped interferometer.
The first issue concerns this test, where the angles passed to this function should be given in radians, as also stated in [1]. However, in the current implementation, the last two latitude values are passed in degrees.
When the angles are passed correctly, the test fails. For example, if the position of the first vertex is set to
(40.516°, 9.416°)withx_arm_azimuth = 70.5674°, the distances between the vertices are:ET-1↔️ ET-2: 9.06 km↔️ ET-3: 9.76 km↔️ ET-3: 7.70 km
ET-1
ET-2
I believe this test failure is due to an incorrect implementation of the functions updating latitude and longitude, which differ from those provided in [1]:
The only difference to keep in mind is the definition of the bearing angle: in bilby it is defined counterclockwise from east, whereas in [1] it is clockwise from north. This leads to the following conversion:
Using the above expressions, the coordinates are recovered correctly.
I also include a map illustrating this result: the blue dots represent the incorrect coordinates, while the red dots show the corrected ones.
I believe this also resolves this issue, since, when using the Virgo site coordinates as the starting point, it becomes possible to recover the positions of the other two vertices correctly, as defined in LAL.
I don’t think this bug has any practical effect on previously obtained parameter estimation results.
I’m opening this pull request to contribute to fixing this bug.
I am tagging a few people who might be interested in the matter @jacopo.tissino @sylvia.biscoveanu
Thanks a lot in advance.
Kind regards,
Filippo
[1] https://www.movable-type.co.uk/scripts/latlong.html