Details
-
Feature
-
Must have
-
None
-
Obs Mgt & Controls
-
-
-
3
-
3
-
20
-
6.667
-
REL-441 Sensitivity Calculator Back-End v4.2.0
-
Team_BUTTONS
-
Sprint 5
-
-
-
-
17.6
-
Demonstrated, Satisfies Acceptance Criteria, Accepted by FO
-
-
SYSTEM_DEMO_6 Team_BUTTONS
Description
Could you create the necessary software backend that will support the LOW sensitivity calculator? For now, the backend must accept the following fields as input, do some standard input validation and return Stokes I sensitivity.
The input fields are
- number of LOW stations,
- observation duration,
- pointing centre,
- central frequency, and
- bandwidth.
The backend should check for the following conditions:
- The number of LOW stations should be less than or equal to 512.
- The number of LOW stations cannot be less than 1.
- The specified pointing centre is valid and is observable from the SKA LOW site.
- The spectral window defined by "central frequency" and "bandwidth" lie within the 50 - 350 MHz frequency range.
- "Observation duration" is not 0 or negative.
The LOW sensitivity calculator should estimate Stokes I sensitivity following the procedure described in Sokolowski et al. (2022). We have a look-up table (as an SQLite database) containing SEFD corresponding to a coarse grid of LST, frequency, polarisation and pointing directions (azimuth and elevation). The backend must look up the appropriate values, interpolate as needed, and compute the Stokes I sensitivity.
The code snippet that implements input validation and sensitivity calculation is attached here (compute_sensitivity.py). You will need the following python packages to run this script: NumPy, SciPy, AstroPy, PyEphem, and sqlite3. You can download the look-up table using this link. The code snippet must be refactored to match the SKA coding style.