array_layout¶
Tests for the functions in WODEN/src/array_layout.c. These functions handle
reading in array coords of e,n,h and converting them into X,Y,Z, used later
to calculate u,v,w. Also handles precession of the array layout and LST from the
simulation date back to J2000, so the array is in the same coord frame as the
sky model. Should be the equivalent to rotating the sky model forward to current
day and ensures the output visibilities are in the J2000 frame.
test_RTS_ENH2XYZ_local.c¶
array_layout::RTS_ENH2XYZ_local transforms a local east, north, height coord
into X,Y,Z coords, which can be used to calculate u,v,w. Tests here
generate some test e,n,h coords, and then tests for two latitude test cases:
- latitude = \(0^\circ\), should result in:
\(X = h\)
\(Y = e\)
\(Z = n\)
- latitude = \(-30^\circ\), should result in:
\(X = \frac{n}{2} + \frac{\sqrt(3)}{2}h\)
\(Y = e\)
\(Z = \frac{\sqrt(3)}{2}n - \frac{h}{2}\)
Both the FLOAT and DOUBLE compiled versions are 64 bit precision. Both are
tested to match a 64 bit C calculation of the above equations to within an
absolute tolerance of 1e-13.
test_RTS_PrecessXYZtoJ2000.c¶
array_layout::RTS_PrecessXYZtoJ2000 takes observation date X,Y,Z coords
and precesses them back to J2000, and updates the LST accordingly.
Test by giving a known set of X,Y,Z coordinates and julian date, and
checks output precessed X,Y,Z and LST match the expected values stored in
test_RTS_XYZ_common.h.
test_calc_XYX_diffs.c¶
Tests the function array_layout::calc_XYZ_diffs, which reads in an array
text file in e,n,h coords and transforms to X,Y,Z, precesses the locations
back to J2000 if requested, and then calculates the baseline length in X,Y,Z.
It also rotates the latitude of the array back to J2000 and in doing so
updates the LST.
These tests simply provide a set of known input coords (read in from
example_array_layout.txt), runs array_layout::calc_XYZ_diffs for both
the precession and no precession cases, and check the output values match the
expected values stored in test_RTS_XYZ_common.h.