{{{#!wiki caution '''Information on this page is outdated because it is LVAlert for python2.''' This page was separated from [[KAGRA/Subgroups/DET/LVAlert |LVAlert]], because the latest LVAlert can deal with python 3. }}} == Install == * We can't install lvalert by [[https://computing.docs.ligo.org/conda/environments/igwn-py37/|igwn]] on conda environment. (see [[https://git.ligo.org/lscsoft/lvalert/-/issues/19|lvalert_admin broken on both conda igwn-py2 and igwn-py37 environments]]) * because lvalert depends on legacy package (`pyxmpp`) * To install lvalert on python2, {{{ sudo apt install python-ligo-lvalert }}} == Setting in advance == * see [[https://gracedb.ligo.org/documentation/responding_to_lvalert.html|this document]] * visit [[https://lvalert-test.cgca.uwm.edu]] and activate your account. * prepare `$HOME/.netrc` * albert.einstein should be your KAGRA account. * `PASSWORD` should be the password you set at Account Activation site. {{{ $ echo 'machine lvalert.cgca.uwm.edu login albert.einstein password PASSWORD' >> ~/.netrc $ echo 'machine lvalert-playground.cgca.uwm.edu login albert.einstein password PASSWORD' >> ~/.netrc $ echo 'machine lvalert-test.cgca.uwm.edu login albert.einstein password PASSWORD' >> ~/.netrc $ chmod 0600 ~/.netrc }}} == Usage of lvalert_admin == * get a list of existing nodes {{{ $ lvalert_admin -s lvalert-playground.cgca.uwm.edu --get-nodes }}} * create a test node {{{ $ lvalert_admin -s lvalert-playground.cgca.uwm.edu --create --node test_k1det Creating node test_k1det Successfully completed operation }}} * subscribe a node {{{ $ lvalert_admin -s lvalert-playground.cgca.uwm.edu --subscribe --node test_k1det Successfully subscribed to node test_k1det }}} * remove a note {{{ $ lvalert_admin -s lvalert-playground.cgca.uwm.edu --delete --node test_k1det }}} * check current subscriptions {{{ $ lvalert_admin -s lvalert-playground.cgca.uwm.edu --subscriptions }}} * unsubscribe * This works only a node which you created. {{{ $ lvalert_admin --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu --node "tagoshi-testnode" }}} == Usage of lvalert_listen and lvalert_send == * launch the lvalert_listern * this should run in the background {{{ % lvalert_listen -s lvalert-playground.cgca.uwm.edu -c /users/yuzu/work/lvalert/setting/my_l isten.ini -r listener1 & }}} * prepare the dummy alert * the real alert will be sent as JSON format. (But, I don't know the actual keys.) {{{ $ cat test1.txt {"uid": "G12345", "alert_type": "new", "far": 1e-8, "gps_time": 1301640384} $ cat test2.txt {"uid": "G12345", "alert_type": "new", "far": 1e-8} }}} * prepare configuration file * when we got the alert, the following shell script will run. (Note that this shell script can't use option.) * the details of shell script at `/users/yuzu/work/lvalert` in the Kamioka workstation. * the details of configuration files at `/users/yuzu/work/lvalert/setting` in the Kamioka workstation. {{{ $ cat my_listen.ini [test_k1det] executable = ./run_test_k1det.sh }}} * send the test alert * Although test1.txt has gps_time, test2.txt has no gps_time. {{{ $ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test1.txt $ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test2.txt }}}