Telemetry Graph tool

The tool allows overcoming some deficits in plotting available to LBT users either on the web or in the other tools. A major starting point was to enable polynomial fitting of the time-series to plot the residuals in fit (see later for an explanation), and inability to plot data from more than 2 streams.

The tool needs the following non-standard Python modules:
  • h5py (h5py RPM)
  • astropy (python-astropy RPM)
  • matplotlib (python-matplotlib RPM)

The tool supports --help to get basic documentation of available features.

Examples

  • plot one value (nested) from for 1st April 2018 7:00 UT for 30 minutes:
[pkubanek@pkubanek-dev tools/python]$ ./telemetry-graph --from 2018-04-01T07:00 --for 30m psfr.primarymirror_collimation.collimation.x_value
Gtk-Message: Failed to load module "pk-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"

x_value.png

  • plot all collimtions values from for 1st April 2018 7:00 UT for 30 minutes, with custom marks (lines and X cross):
[pkubanek@pkubanek-dev tools/python]$ ./telemetry-graph --mark x --line - --from 2018-04-01T07:00 --for 30m psfr.primarymirror_collimation.collimation.*_value
Gtk-Message: Failed to load module "pk-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"

all_values.png

  • plot values for debugging NS jump problem (showing what the optics and mount does, with 2 deg polynomial removed from el/az position to show the jumps):
[pkubanek@pkubanek-dev tools/python]$ ./telemetry-graph -vvv --line - --mark x --from 2018-04-01T07:15 --to 2018-04-01T07:55 pcs.trajectories.azposition#2 pcs.trajectories.elposition#2 . pmcl.mirror.*pos . gcsl.agwprobe.nativeachieved* gcsl.agwprobe.nativerequested* . pmcr.mirror.*pos . gcsr.agwprobe.nativeachieved* gcsr.agwprobe.nativerequested* . pcs/sx.telescope.porigi* pcs/sx.guide.guide* . pcs/dx.telescope.porigi* pcs/dx.guide.guide*
Gtk-Message: Failed to load module "pk-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
DEBUG:root:Start time: 2018-04-01 07:15:00 end time: 2018-04-01 07:55:00
INFO:root:Added variable pcs.trajectories.azposition
INFO:root:Added variable pcs.trajectories.elposition
DEBUG:root:adding xpos to pmcl.mirror set
INFO:root:Added variable pmcl.mirror.xpos
DEBUG:root:adding ypos to pmcl.mirror set
INFO:root:Added variable pmcl.mirror.ypos
DEBUG:root:adding zpos to pmcl.mirror set
...

ns_1.png

  • same as above, but zoom onto troubled region (shows porigin* change preceeding jums in el/az position demands, hence points to them beeing responsible for the jump):

[pkubanek@pkubanek-dev tools/python]$ ./telemetry-graph -vv --line - --mark x --from 2018-04-01T07:18 --for 3m pcs.trajectories.azposition#2 pcs.trajectories.elposition#2 . pmcl.mirror.*pos . gcsl.agwprobe.nativeachieved* gcsl.agwprobe.nativerequested* . pmcr.mirror.*pos . gcsr.agwprobe.nativeachieved* gcsr.agwprobe.nativerequested* . pcs/sx.telescope.porigi* pcs/sx.guide.guide* . pcs/dx.telescope.porigi* pcs/dx.guide.guide*
Gtk-Message: Failed to load module "pk-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
INFO:root:Added variable pcs.trajectories.azposition
INFO:root:Added variable pcs.trajectories.elposition
INFO:root:Added variable pmcl.mirror.xpos
INFO:root:Added variable pmcl.mirror.ypos
INFO:root:Added variable pmcl.mirror.zpos
INFO:root:Added variable gcsl.agwprobe.nativeachievedx
INFO:root:Added variable gcsl.agwprobe.nativeachievedy
INFO:root:Added variable gcsl.agwprobe.nativerequestedx
INFO:root:Added variable gcsl.agwprobe.nativerequestedy
INFO:root:Added variable pmcr.mirror.xpos
INFO:root:Added variable pmcr.mirror.ypos
INFO:root:Added variable pmcr.mirror.zpos
INFO:root:Added variable gcsr.agwprobe.nativeachievedx
INFO:root:Added variable gcsr.agwprobe.nativeachievedy
INFO:root:Added variable gcsr.agwprobe.nativerequestedx
INFO:root:Added variable gcsr.agwprobe.nativerequestedy
INFO:root:Added variable pcs/sx.telescope.poriginx
....

ns_2.png

  • list all streams available for 1st April 2018 0:0 UT:
[pkubanek@pkubanek-dev tools/python]$ ./telemetry-graph --from 2018-04-01 --list "*"
** /lbt/telemetry_data/tcs/aosl/2018/04/01/201804010001.aosl.anemometer_data.h5 anemometer_data_01
  time_stamp
  tai_offset
  vx_1s_avg
  vy_1s_avg
  vz_1s_avg
  md_1s_avg
  vx_10s_avg
  vy_10s_avg
  vz_10s_avg
  md_10s_avg
  vx_1m_avg
  vy_1m_avg
  vz_1m_avg
  md_1m_avg
** /lbt/telemetry_data/tcs/aosl/2018/04/01/201804010000.aosl.metrics.h5 metrics_01
  time_stamp
....

Future upgrades

  • use eval for data sources. So one will be able to run:
telemetry-graph "(${pcs.trajectories.elposition} - polyfit(${pcs.trajectories.elposition}, 2)) * 3600"
to get residuals of elposition - 2 deg fit of elposition in arcseconds (instead of arcdegrees).

  • make regular expression parsing default (currently string has to contain * to be re matched to list of know variables)

  • fix axis displays (separate Y scales, mix two datasets if feasible (e.g. share similar Y/value range))

-- %USERSIG{PetrKubanek - 2018-04-09}%

Comments

 
I Attachment Action Size Date Who Comment
all_values.pngpng all_values.png manage 513 K 09 Apr 2018 - 19:36 PetrKubanek  
ns_1.pngpng ns_1.png manage 691 K 09 Apr 2018 - 19:48 PetrKubanek  
ns_2.pngpng ns_2.png manage 622 K 09 Apr 2018 - 19:48 PetrKubanek  
x_value.pngpng x_value.png manage 69 K 09 Apr 2018 - 19:35 PetrKubanek  
Topic revision: r3 - 20 Nov 2018, MatthieuBec
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback