ska-sa / astrokat

General observation framework for the MeerKAT telescope
BSD 2-Clause "Simplified" License
2 stars 4 forks source link

Add "reverse scan" over RADEC area (intensity mapping) #106

Closed spassmoor closed 3 years ago

spassmoor commented 3 years ago

Here is the pull request for the HI intensity mapping function. "Reverse Scan" you give coordinates of an area on the sky that you want to scan and the telescopes do a drift like scan over it. Scanning in azimuth and maintaining constant elevation while the source rises or sets.

The code reads in a set of coordinates from the scan parameters e.g. "radec_p1" and works out a horizon that they will rise or set though. Once that horizon line is calculated the azimuth extent of these sources as they rise through that horizon line is determined and the furthest extent in azimuth. This will be the distance that the telescopes scan in azimuth . This distance is used to work out what the duration of the scan from the scan speed parameter. Note that this speed is scaled by 1/cos(el) to account for the projection effects. which means very slow scan speeds at high elevations as a 1 deg scan at 80 deg elevation would have a 5.7 deg azimuth movement. The scans move back and forth at a constant elevation until the lowest/highest coordinates from the scan parameters has risen/set through that elevation.

I have had issues with time zones and I hope that I have ensured that all the time calculations only use GMT/UTC

spassmoor commented 3 years ago

I will quickly fix the PEP-8 Stuff

spassmoor commented 3 years ago

I have Added unit test checks and test observation for the new functionality. While doing this I found a bug where the start time was not being passed through and instead changing to the current date/time. This has also been fixed.

spassmoor commented 3 years ago

I have updated the tests to have a second test that calls _get_scan_extents directly. I have also removed a few of the more useless tests.

spassmoor commented 3 years ago

I have made the requested changes.