Slide 1

Slide 1 text

www.ska.ac.za PRESENTER: Toufeeq Ockards Martin Slabber Control and Monitoring of the Karoo Telescope Arrays Using Python 5 Years later

Slide 2

Slide 2 text

www.ska.ac.za Overview What we will cover

Slide 3

Slide 3 text

www.ska.ac.za SKA SA Location HCD Human Capital Development MeerKAT World Class Telescope SKA Project International Participation SKA SA Who we are and What are our goals?

Slide 4

Slide 4 text

www.ska.ac.za KAT-7 7-dish Precursor ● ● ● ● ● ● ● ●

Slide 5

Slide 5 text

www.ska.ac.za MeerKAT 64-dish Instrument ● ● ● ● ●

Slide 6

Slide 6 text

www.ska.ac.za SKA1-mid 200-dish Instrument ● ● ● ● ● ● ●

Slide 7

Slide 7 text

www.ska.ac.za MeerKAT each Dish ● ● ● ● ● ● ● ● ● ● ● ●

Slide 8

Slide 8 text

www.ska.ac.za Control And Monitoring (CAM) Subsystem High level telescope control system with scheduling, alarms and monitoring

Slide 9

Slide 9 text

www.ska.ac.za Control And Monitoring Subsystem diagram CAM CBF SDP BMS Data plane SPEAD (UDP Multicast) (big data) TFR WX USE Control plane KATCP (non-http) (little data) FPGA GPU

Slide 10

Slide 10 text

www.ska.ac.za Hardware device control Observation script Antenna Positioner Antenna Proxy point (az,el) target (az,el) ● ● ● ● ● ●

Slide 11

Slide 11 text

www.ska.ac.za Engineers Scientists Operators Who uses CAM

Slide 12

Slide 12 text

www.ska.ac.za How do we use Python (not all use cases) nose Engineers

Slide 13

Slide 13 text

www.ska.ac.za How do we use Python (not all use cases) Operators

Slide 14

Slide 14 text

www.ska.ac.za How do we use Python (not all use cases) Scientists

Slide 15

Slide 15 text

www.ska.ac.za Why did we choose Python? Operators need low level interface for root cause analysis, easy to learn, easy to extend Commissioning Scientists need a scripting framework that allow full control of different subsystems Engineers needed an interface to get the job done Software development had to integrate to everything imaginable Cost of innovation should be low “Life is too short to write C++ code” - David Beazley Zen of Python Poster by ewjoachim Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)

Slide 16

Slide 16 text

www.ska.ac.za SKA SA and Python Codebase PYPI Packages KAT Packages Files Lines of Comments Lines of Code

Slide 17

Slide 17 text

www.ska.ac.za KATCP ● ● ● ● ● ● ● ● ● ● Control protocol used for all internal Control And Monitoring communications

Slide 18

Slide 18 text

www.ska.ac.za Monitoring and archiving Distributing and storing sensors values ● ● ● ● ● ● ● ● ● ● ●

Slide 19

Slide 19 text

www.ska.ac.za Simulation and testing ● ● ● ● ● ● ● ● ● ● ●

Slide 20

Slide 20 text

www.ska.ac.za Lessons learnt (Curated from senior engineers)

Slide 21

Slide 21 text

www.ska.ac.za DEMO

Slide 22

Slide 22 text

www.ska.ac.za MeerKAT joins the ranks of the world’s great scientific instruments through its First Light image

Slide 23

Slide 23 text

www.ska.ac.za Questions? Thank you

Slide 24

Slide 24 text

www.ska.ac.za Interfaces ipython

Slide 25

Slide 25 text

www.ska.ac.za In [30]: kat.print_sensors('m06.*epoch', strategy='period', params='2') Print filtered sensors on .m06.*epoch : period : @ 22:21:16 - Page 1 of 1 ack ext Items:4 Per page:50 (+/-) Q to quit ------------------------------ Update strategy: period ------------------------------------ Name Unit Status Value time Update time Value m060.dig.l-band.time.synchronisation-epoch s inactive 10:08:37.79 22:21:15.23 0.0 m061.dig.l-band.time.synchronisation-epoch s nominal 17:41:20.50 22:21:15.28 1507131597.0 m062.dig.l-band.time.synchronisation-epoch s inactive 10:22:14.63 22:21:15.29 0.0 m063.dig.l-band.time.synchronisation-epoch s nominal 17:41:24.50 22:21:15.29 1507131597.0 {a.name:a.sensor.rsc_rsc_he_compressor_supply_pressure.get_value() for a in kat.ants if a.sensor.rsc_device_status.get_status() == 'nominal'}

Slide 26

Slide 26 text

www.ska.ac.za Interfaces GUI

Slide 27

Slide 27 text

www.ska.ac.za

Slide 28

Slide 28 text

www.ska.ac.za

Slide 29

Slide 29 text

www.ska.ac.za

Slide 30

Slide 30 text

www.ska.ac.za

Slide 31

Slide 31 text

www.ska.ac.za

Slide 32

Slide 32 text

www.ska.ac.za

Slide 33

Slide 33 text

www.ska.ac.za