= KAGRA VIS Operations Manual - Guardian =
Link to the aLigo Guardian Introduction:
[[https://dcc.ligo.org/public/0111/G1400016/007/guardian-introduction.pdf|aLigo Guardian]].
[[http://klog.icrr.u-tokyo.ac.jp/osl/?r=906|first start guardian klog:906]]
== Guardian System-Level Installation ==
`/kagra/apps/guardian/bin` has shell scripts `guardctrl` etc.
* `guardian` Core guardian daemon program. Executes system state machines, or single states or graph paths.
* `guardmedm` Launch MEDM control interface for a Guardian node.
* `guardutil ` Utility program for displaying system information.
* `guardctrl ` Interface to the site Guardian infrastructure, for controlling nodes and accessing logs.
* `guardlog` Interface to view node logs.
These can be run directly on the machine `k1grd0`. If run from another computer they will still work but will ask for the `controls@k1grd0` password first.
`/kagra/apps/guardian/bin/guardian` ends up running guardian in `/kagra/apps/guardian/lib/python2.7/site-packages/guardian`.
All the scripts take a Guardian script name (less `.py`) as the primary argument, e.g., `VIS_BS`.
Once a Guardian has been set up for a system (with `guardutil create`), it is rarely necessary to use the scripts directly. Changes to a Guardian script can normally be applied using the `LOAD` button on the associated MEDM screen:<
>
[[attachment:SRM Guardian Screen.png|{{attachment:SRM Guardian Screen.png||width=400}}]]<
>
However if the names or numbering of the states in a Guardian script have been changed, it is sometimes necessary to stop and restart it with:
{{{
> guardctrl stop VIS_BS
> guardctrl start VIS_VIS
}}}
Note that this will send the Guardian back to the `SAFE` state, whereas the `LOAD` method normally won't.
== Type B ==
The main Python scripts for the VIS Guardians, including Type B, live in `/opt/rtcds/userapps/release/vis/k1/guardian`. `TYPEB.py` is the main file - `VIS_BS.py`, `VIS_SR2.py`, `VIS_SR3.py` and `VIS_SRM.py` are one-line programs which simply load it. (They could also point to test versions of `TYPEB.py`, e.g., `TYPEB_MB.py`.)
`TYPEB.py` adds `/opt/rtcds/userapps/release/vis/k1/scripts/` to the path, making available support packages including `burt.py`, `vistools.py` etc.
The Guardian makes use of various snapshot files in directories as follows. These are modified by commands in the `Take/Restore Snapshot` pop-up menu on the `VIS_CUST_TYPEB_OVERVIEW.adl` screen. The examples below are for BS, but apply equally to other Type B with obvious substitutions (BS->SR2/SR3/SRM and bs->sr2/sr3/srm).
When a model is run, the system looks for files like
* `/opt/rtcds/kamioka/k1/target/k1visbst/k1visbstepics/burt/safe.snap` # for the top model
* `/opt/rtcds/kamioka/k1/target/k1visbsp/k1visbspepics/burt/safe.snap` # for the payload model
These are symbolic links to the following files in the SVN-controlled userapps area:
* `/opt/rtcds/userapps/release/vis/k1/burtfiles/k1visbst_safe.snap` # for the top model
* `/opt/rtcds/userapps/release/vis/k1/burtfiles/k1visbsp_safe.snap` # for the payload model
The `Take Payload Model Safe Snapshot` and `Take Top Model Safe Snapshot` menu items create these snapshots using the request files automatically generated when the models are compiled:
* `/opt/rtcds/kamioka/k1/target/k1visbst/k1visbstepics/autoBurt.req` # for the top model
* `/opt/rtcds/kamioka/k1/target/k1visbsp/k1visbspepics/autoBurt.req` # for the payload model
The `Restore Safe Snapshots` menu item restores both of the above .snap files at once.
The system for making Guardian-related snaps is now divided into three sections, for IP, GAS and ALIGN/MISALIGN.
The IP setpoint is managed with the menu items `Take IP Setpoints Snapshot` and `Restore IP Setpoints Snapshot`, which use the files
* `/opt/rtcds/userapps/release/vis/k1/burtfiles/k1visbst_IP.req` # note "t" for the top model
* `/opt/rtcds/userapps/release/vis/k1/burtfiles/k1visbst_IP.snap`
The GAS setpoints are managed with the menu items `Take GAS Setpoints Snapshot` and `Restore GAS Setpoints Snapshot`, which use the files
* `/opt/rtcds/userapps/release/vis/k1/burtfiles/k1visbst_GAS.req` # note "t" for the top model
* `/opt/rtcds/userapps/release/vis/k1/burtfiles/k1visbst_GAS.snap`
The ALIGN setpoints are managed with the menu items `Take Align Setpoints Snapshot` and `Restore Align Setpoints Snapshot`, which use the files
* `/opt/rtcds/userapps/release/vis/k1/burtfiles/k1visbsp_align.req` # note "p" for the payload model
* `/opt/rtcds/userapps/release/vis/k1/burtfiles/k1visbsp_align.snap`
The MISALIGN setpoints are managed with the menu items `Take Misalign Setpoints Snapshot` and `Restore Misalign Setpoints Snapshot`, which use the files
* `/opt/rtcds/userapps/release/vis/k1/burtfiles/k1visbsp_align.req` # note "p" for the payload model, and plain "align" - this is the same file as above.
* `/opt/rtcds/userapps/release/vis/k1/burtfiles/k1visbsp_misalign.snap`