Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • emfollow/gwcelery
  • leo-singer/gwcelery
  • deep.chatterjee/gwcelery
  • michael-coughlin/gwcelery
  • brandon.piotrzkowski/gwcelery
  • geoffrey.mo/gwcelery
  • vinaya.valsan/gwcelery
  • patrick.godwin/gwcelery
  • john-veitch/gwcelery
  • roberto.depietri/gwcelery
  • veronica.villa/gwcelery
  • teresa.slaven-blair/gwcelery
  • cody.messick/gwcelery
  • sarah.antier/gwcelery
  • shreya.anand/gwcelery
  • ron.tapia/gwcelery
  • andrew.toivonen/gwcelery
  • adam-zadrozny/gwcelery
  • duncanmmacleod/gwcelery
  • sushant.sharma-chaudhary/gwcelery
  • manleong.chan/gwcelery
  • satyanarayan.raypitambarmohapatra/gwcelery
  • yu-kuang.chu/gwcelery
  • jacob.golomb/gwcelery
  • daniele.monteleone/gwcelery
  • albertcheng.zhang/gwcelery
  • colm.talbot/gwcelery
  • gaurav.waratkar/gwcelery
  • yun-jing.huang/gwcelery
29 results
Show changes
Commits on Source (4)
......@@ -4,8 +4,16 @@ Changelog
2.0.2 (unreleased)
------------------
- Add button to apply RAVEN alert labels to flask app. This will manually
trigger a RAVEN alert.
- Update messages from RAVEN alert pipeline to be more informative.
- Fix bug where updated GRB events couldn't create sky maps.
- Update SNEWS ingestion to use canvas structure. This also fixes a bug
where SNEWS tests events were not being ingested properly.
- Fix datetime format in Avro and JSON notices so that they conform to
ISO 8601. They were missing the ``T`` separating the date from the time
and the final ``Z`` denoting the UTC time zone.
......
......@@ -161,13 +161,6 @@ def get_upload_external_skymap(event, skymap_link=None):
graceid = event['graceid']
search = event['search']
try:
filename = get_skymap_filename(graceid)
if 'glg_healpix_all_bn_v00.fit' in filename:
return
except ValueError:
pass
if search == 'GRB':
external_skymap_canvas = (
external_trigger_heasarc.si(graceid)
......
......@@ -4,6 +4,7 @@ from celery import group
from celery.utils.log import get_logger
from ..import app
from .core import identity
from . import detchar
from . import gcn
from . import gracedb
......@@ -55,18 +56,16 @@ def handle_snews_gcn(payload):
assert len(events) == 1, 'Found more than one matching GraceDB entry'
event, = events
graceid = event['graceid']
gracedb.replace_event(graceid, payload)
return
canvas = gracedb.replace_event.s(graceid, payload)
else:
graceid = gracedb.create_event(filecontents=payload,
search='Supernova',
group=ext_group,
pipeline=event_observatory)
event = gracedb.get_event(graceid)
start, end = event['gpstime'], event['gpstime']
# Pre-start and post-end padding is applied by check_vectors
detchar.check_vectors(event, event['graceid'], start, end)
canvas = gracedb.create_event.s(filecontents=payload,
search='Supernova',
group=ext_group,
pipeline=event_observatory)
canvas |= _launch_external_detchar.s()
canvas.delay()
@gcn.handler(gcn.NoticeType.FERMI_GBM_ALERT,
......@@ -171,7 +170,9 @@ def handle_grb_gcn(payload):
# Prevent SubGRBs from appending GRBs
if search == 'GRB':
# Replace event and pass already existing event dictionary
canvas |= gracedb.replace_event.si(graceid, payload)
canvas |= identity.si(event)
else:
return
......
......@@ -253,6 +253,64 @@
</form>
</div>
</div>
<div class="card mb-3">
<div class=card-header>
Designate External Coincidence
</div>
<div class=card-body>
<form method=post action="{{ url_for('apply_raven_labels') }}">
<div class=form-row>
<div class=form-group>
<div class=form-text>Apply RAVEN alert labels. These will launch a public alert if none have been issued for the superevent.</div>
</div>
</div>
<div class="form-row">
<div class=form-group>
<p class="text-danger">Warning: this assumes a coincidence has been found, denoted by the presence of a EM_COINC label.</p>
</div>
</div>
<div class="form-row">
<div class="form-group col-md">
<label for=superevent_id>Superevent ID</label>
<input required name=superevent_id class="form-control typeahead">
</div>
<div class="form-group col-md">
<label for=ext_id>External event ID</label>
<input required name=ext_id class="form-control typeahead">
</div>
<div class="form-group col-md">
<label for=event_id>Preferred event ID</label>
<input required name=event_id class="form-control typeahead" data-typeahead-url-template="{{ url_for('typeahead_event_id', superevent_id='SUPEREVENT_ID') }}">
</div>
<div class="form-group col-md">
<label for=submit-button class=w-100>&nbsp;</label>
<button type=submit id=submit-button name=submit-button class="btn btn-primary">Submit</button>
</div>
</div>
<div class="modal fade" tabindex=-1 role=dialog aria-labelledby=apply_raven_labels>
<div class=modal-dialog role=document>
<div class=modal-content>
<div class=modal-header>
<h5 class=modal-title id=apply_raven_labels>
Really apply RAVEN alert label?
</h5>
<button type=button class=close data-dismiss=modal aria-label=Close>
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class=modal-body>
Are you sure that you want to apply RAVEN alert label?
</div>
<div class=modal-footer>
<button type=button class="btn btn-secondary" data-dismiss=modal>Cancel</button>
<button type=submit class="btn btn-danger">Submit</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="card mb-3">
<div class=card-header>
Issue Mock Event
......
......@@ -350,10 +350,10 @@ def test_handle_skymap_combine(mock_create_combined_skymap):
@patch('gwcelery.tasks.detchar.dqr_json', return_value='dqrjson')
@patch('gwcelery.tasks.gracedb.upload.run')
@patch('gwcelery.tasks.gracedb.get_event', return_value={
'graceid': 'E1', 'gpstime': 1, 'instruments': '', 'pipeline': 'SNEWS'})
@patch('gwcelery.tasks.gracedb.create_event')
def test_handle_create_snews_event(mock_create_event, mock_get_event,
@patch('gwcelery.tasks.gracedb.create_event.run', return_value={
'graceid': 'E1', 'gpstime': 1, 'instruments': '', 'pipeline': 'SNEWS',
'search': 'Supernova'})
def test_handle_create_snews_event(mock_create_event,
mock_upload, mock_json):
text = read_binary(data, 'snews_gcn.xml')
external_triggers.handle_snews_gcn(payload=text)
......@@ -384,7 +384,7 @@ def test_handle_create_snews_event(mock_create_event, mock_get_event,
mock_upload.assert_has_calls(calls, any_order=True)
@patch('gwcelery.tasks.gracedb.replace_event')
@patch('gwcelery.tasks.gracedb.replace_event.run')
@patch('gwcelery.tasks.gracedb.get_events', return_value=[{'graceid': 'E1'}])
def test_handle_replace_snews_event(mock_get_events, mock_replace_event):
text = read_binary(data, 'snews_gcn.xml')
......
......@@ -308,6 +308,27 @@ def create_update_gcn_circular():
return redirect(url_for('index'))
@app.route('/apply_raven_labels', methods=['POST'])
def apply_raven_labels():
"""Applying RAVEN alert label for the missed coincident alerts."""
keys = ('superevent_id', 'ext_id', 'event_id')
superevent_id, ext_id, event_id, *_ = tuple(request.form.get(key)
for key in keys)
if superevent_id and ext_id and event_id:
(
gracedb.create_label.si('RAVEN_ALERT', superevent_id)
|
gracedb.create_label.si('RAVEN_ALERT', ext_id)
|
gracedb.create_label.si('RAVEN_ALERT', event_id)
).delay()
flash('Applied RAVEN alert label for {}.'.format(superevent_id),
'success')
else:
flash('No alert sent. Please fill in all fields.', 'danger')
return redirect(url_for('index'))
@app.route('/send_mock_event', methods=['POST'])
def send_mock_event():
"""Handle submission of mock alert form."""
......
[tool.poetry]
name = "gwcelery"
version = "0.0.0"
description = "Hipster pipeline for annotating LIGO events"
description = "Low-latency pipeline for annotating IGWN events"
readme = "README.rst"
authors = ["Leo Singer <leo.singer@ligo.org>"]
authors = [
"Deep Chatterjee <deep.chatterjee@ligo.org>",
"Cody Messick <cody.messick@ligo.org>",
"Geoffrey Mo <geoffrey.mo@ligo.org>",
"Leo Singer <leo.singer@ligo.org>"
]
license = "GPL-2.0+"
classifiers = [
"Development Status :: 4 - Beta",
......