From dc47b1713b935247d67ebdb3d148dc8e53ac2f09 Mon Sep 17 00:00:00 2001 From: dakota002 Date: Tue, 15 Oct 2024 14:59:39 -0400 Subject: [PATCH] Fermi gbm --- gcn/notices/fermi/gbm/alert.example.json | 43 +++++ gcn/notices/fermi/gbm/alert.schema.json | 51 +++++ gcn/notices/fermi/gbm/detectors.schema.json | 18 ++ .../fermi/gbm/strict/alert.1.example.json | 43 +++++ .../gbm/strict/alert.1strict.example.json | 43 +++++ .../fermi/gbm/strict/alert.2.example.json | 34 ++++ .../gbm/strict/alert.2strict.example.json | 34 ++++ .../fermi/gbm/strict/alert.schema.json | 174 ++++++++++++++++++ 8 files changed, 440 insertions(+) create mode 100644 gcn/notices/fermi/gbm/alert.example.json create mode 100644 gcn/notices/fermi/gbm/alert.schema.json create mode 100644 gcn/notices/fermi/gbm/detectors.schema.json create mode 100644 gcn/notices/fermi/gbm/strict/alert.1.example.json create mode 100644 gcn/notices/fermi/gbm/strict/alert.1strict.example.json create mode 100644 gcn/notices/fermi/gbm/strict/alert.2.example.json create mode 100644 gcn/notices/fermi/gbm/strict/alert.2strict.example.json create mode 100644 gcn/notices/fermi/gbm/strict/alert.schema.json diff --git a/gcn/notices/fermi/gbm/alert.example.json b/gcn/notices/fermi/gbm/alert.example.json new file mode 100644 index 00000000..bc9e95f4 --- /dev/null +++ b/gcn/notices/fermi/gbm/alert.example.json @@ -0,0 +1,43 @@ +{ + "$schema": "https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/alert.schema.json", + "additional_info": "Lightcurve and other quicklook files will not be created until about 15 minutes after the trigger.", + "alert_datetime": "2024-08-24T02:14:54", + "alert_tense": "current", + "alert_type": "initial", + "data_archive_page": "http://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2024/bn240812094", + "detectors_status": [ + "triggered", + "on", + "triggered", + "triggered", + "on", + "on", + "triggered", + "on", + "on", + "on", + "on", + "on", + "on", + "on" + ], + "event_name": ["GRB240824A"], + "hitl": false, + "id": ["745121685", "bn240812094"], + "instrument": "GBM", + "latitude": 23.83, + "light_curve_url": "http://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2024/bn240812094/quicklook/glg_lc_medres34_bn240812094.gif", + "longitude": 257.4, + "messenger": "EM", + "mission": "Fermi", + "notice_type": "FERMI_GBM_ALERT", + "rate_duration": 2.048, + "rate_energy_range": [47, 291], + "rate_snr": 4.9, + "record_number": 1, + "spectrum": "energy", + "trigger_algorithm_number": 14, + "trigger_time": "2024-08-24T02:14:40.43", + "trigger_type": "rate", + "units": "keV" +} diff --git a/gcn/notices/fermi/gbm/alert.schema.json b/gcn/notices/fermi/gbm/alert.schema.json new file mode 100644 index 00000000..efd6b338 --- /dev/null +++ b/gcn/notices/fermi/gbm/alert.schema.json @@ -0,0 +1,51 @@ +{ + "$id": "https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/alert.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "GCN Schema for Fermi GBM Alert Notices", + "description": "This schema is used to report Fermi GBM Alerts.", + "type": "object", + "allOf": [ + { + "$ref": "../../core/AdditionalInfo.schema.json" + }, + { + "$ref": "../../core/Alert.schema.json" + }, + { + "$ref": "../../core/DateTime.schema.json" + }, + { + "$ref": "../../core/Event.schema.json" + }, + { + "$ref": "../../core/GeoLocBase.schema.json" + }, + { + "$ref": "../../core/Reporter.schema.json" + }, + { + "$ref": "../../core/Statistics.schema.json" + }, + { + "$ref": "detectors.schema.json" + } + ], + "properties": { + "notice_type": { + "type": "string", + "description": "Notice title" + }, + "hitl": { + "type": "boolean", + "description": "\"Human in the loop\". When false, the notice was generated entirely automatically. A value of true means that a human had an input, while the notice was being prepared. The latter includes notices, which weren't altered by the human input, i.e. simply confirmed or approved by a human for further processing." + }, + "trigger_algorithm_number": { + "type": "number", + "description": "The criterion number that caused the flight software to trigger. Not to be confused with flight software or any other version number." + }, + "light_curve_url": { + "type": "string", + "description": "URL of the quicklook light curve plot" + } + } +} diff --git a/gcn/notices/fermi/gbm/detectors.schema.json b/gcn/notices/fermi/gbm/detectors.schema.json new file mode 100644 index 00000000..0a91d050 --- /dev/null +++ b/gcn/notices/fermi/gbm/detectors.schema.json @@ -0,0 +1,18 @@ +{ + "$id": "https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/detectors.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "", + "description": "", + "type": "object", + "properties": { + "detectors_status": { + "type": "array", + "items": { + "$ref": "../../core/DetectorStatus.schema.json" + }, + "minItems": 14, + "maxItems": 14, + "description": "Triggered detectors" + } + } +} diff --git a/gcn/notices/fermi/gbm/strict/alert.1.example.json b/gcn/notices/fermi/gbm/strict/alert.1.example.json new file mode 100644 index 00000000..2ea094b9 --- /dev/null +++ b/gcn/notices/fermi/gbm/strict/alert.1.example.json @@ -0,0 +1,43 @@ +{ + "$schema": "https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/alert.schema.json", + "additional_info": "*** PREFACE TO THIS EXAMPLE: This is an example of a Fermi GBM Alert GCN notice. All possible properties are present. This preface uses a field reserved for free-text comments to the notice. The preface is not going to be part of a real-life notice but here might be other comments. This field may be missing or empty in case of no comments. An example of a typical notice comment follows. ***\n\nLightcurve and other quicklook files will not be created until about 15 minutes after the trigger.", + "alert_datetime": "2024-08-24T02:14:54", + "alert_tense": "current", + "alert_type": "initial", + "data_archive_page": "http://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2024/bn240812094", + "detectors_status": [ + "triggered", + "on", + "triggered", + "triggered", + "on", + "on", + "triggered", + "on", + "on", + "on", + "on", + "on", + "on", + "on" + ], + "event_name": ["GRB240824A"], + "hitl": false, + "id": ["745121685", "bn240812094"], + "instrument": "GBM", + "latitude": 23.83, + "light_curve_url": "http://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2024/bn240812094/quicklook/glg_lc_medres34_bn240812094.gif", + "longitude": 257.4, + "messenger": "EM", + "mission": "Fermi", + "notice_type": "FERMI_GBM_ALERT", + "rate_duration": 2.048, + "rate_energy_range": [47, 291], + "rate_snr": 4.9, + "record_number": 1, + "spectrum": "energy", + "trigger_algorithm_number": 14, + "trigger_time": "2024-08-24T02:14:40.43", + "trigger_type": "rate", + "units": "keV" +} diff --git a/gcn/notices/fermi/gbm/strict/alert.1strict.example.json b/gcn/notices/fermi/gbm/strict/alert.1strict.example.json new file mode 100644 index 00000000..16ed6531 --- /dev/null +++ b/gcn/notices/fermi/gbm/strict/alert.1strict.example.json @@ -0,0 +1,43 @@ +{ + "$schema": "https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/strict/alert.schema.json", + "additional_info": "*** ABOUT THIS EXAMPLE: This is an example of a Fermi GBM Alert GCN notice. Only stricly necessary fields are present. The 'about' note is not going to be part of a real-life notice. This field may be missing or empty in case of no comments. An example of a typical notice comment follows. ***\n\nLightcurve and other quicklook files will not be created until about 15 minutes after the trigger.", + "alert_datetime": "2024-08-24T02:14:54", + "alert_tense": "current", + "alert_type": "initial", + "data_archive_page": "http://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2024/bn240812094", + "detectors_status": [ + "triggered", + "on", + "triggered", + "triggered", + "on", + "on", + "triggered", + "on", + "on", + "on", + "on", + "on", + "on", + "on" + ], + "event_name": ["GRB240824A"], + "hitl": false, + "id": ["745121685", "bn240812094"], + "instrument": "GBM", + "latitude": 23.83, + "light_curve_url": "http://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2024/bn240812094/quicklook/glg_lc_medres34_bn240812094.gif", + "longitude": 257.4, + "messenger": "EM", + "mission": "Fermi", + "notice_type": "FERMI_GBM_ALERT", + "rate_duration": 2.048, + "rate_energy_range": [47, 291], + "rate_snr": 4.9, + "record_number": 1, + "spectrum": "energy", + "trigger_algorithm_number": 14, + "trigger_time": "2024-08-24T02:14:40.43", + "trigger_type": "rate", + "units": "keV" +} diff --git a/gcn/notices/fermi/gbm/strict/alert.2.example.json b/gcn/notices/fermi/gbm/strict/alert.2.example.json new file mode 100644 index 00000000..7c219bb3 --- /dev/null +++ b/gcn/notices/fermi/gbm/strict/alert.2.example.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/alert.schema.json", + "additional_info": "*** PREFACE TO THIS EXAMPLE: This is an example of a Fermi GBM Alert GCN notice. Only stricly necessary fields are present. This preface uses a field reserved for free-text comments to the notice. The preface is not going to be part of a real-life notice but here might be other comments. This field may be missing or empty in case of no comments. An example of a typical notice comment follows. ***\n\nLightcurve and other quicklook files will not be created until about 15 minutes after the trigger.", + "alert_datetime": "2024-08-24T02:14:54", + "data_archive_page": "http://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2024/bn240812094", + "detectors_status": [ + "triggered", + "on", + "triggered", + "triggered", + "on", + "on", + "triggered", + "on", + "on", + "on", + "on", + "on", + "on", + "on" + ], + "event_name": ["GRB240824A"], + "id": ["745121685", "bn240812094"], + "latitude": 23.83, + "light_curve_url": "http://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2024/bn240812094/quicklook/glg_lc_medres34_bn240812094.gif", + "longitude": 257.4, + "notice_type": "FERMI_GBM_ALERT", + "rate_duration": 2.048, + "rate_energy_range": [47, 291], + "rate_snr": 4.9, + "record_number": 1, + "trigger_algorithm_number": 14, + "trigger_time": "2024-08-24T02:14:40.43" +} diff --git a/gcn/notices/fermi/gbm/strict/alert.2strict.example.json b/gcn/notices/fermi/gbm/strict/alert.2strict.example.json new file mode 100644 index 00000000..f60efa87 --- /dev/null +++ b/gcn/notices/fermi/gbm/strict/alert.2strict.example.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/strict/alert.schema.json", + "additional_info": "*** ABOUT THIS EXAMPLE: This is an example of a Fermi GBM Alert GCN notice. Only stricly necessary fields are present. The 'about' note is not going to be part of a real-life notice. This field may be missing or empty in case of no comments. An example of a typical notice comment follows. ***\n\nLightcurve and other quicklook files will not be created until about 15 minutes after the trigger.", + "alert_datetime": "2024-08-24T02:14:54", + "data_archive_page": "http://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2024/bn240812094", + "detectors_status": [ + "triggered", + "on", + "triggered", + "triggered", + "on", + "on", + "triggered", + "on", + "on", + "on", + "on", + "on", + "on", + "on" + ], + "event_name": ["GRB240824A"], + "id": ["745121685", "bn240812094"], + "latitude": 23.83, + "light_curve_url": "http://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2024/bn240812094/quicklook/glg_lc_medres34_bn240812094.gif", + "longitude": 257.4, + "notice_type": "FERMI_GBM_ALERT", + "rate_duration": 2.048, + "rate_energy_range": [47, 291], + "rate_snr": 4.9, + "record_number": 1, + "trigger_algorithm_number": 14, + "trigger_time": "2024-08-24T02:14:40.43" +} diff --git a/gcn/notices/fermi/gbm/strict/alert.schema.json b/gcn/notices/fermi/gbm/strict/alert.schema.json new file mode 100644 index 00000000..e6d9ec2d --- /dev/null +++ b/gcn/notices/fermi/gbm/strict/alert.schema.json @@ -0,0 +1,174 @@ +{ + "$id": "https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/strict/alert.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "GCN Schema for Fermi GBM Alert Notices", + "description": "This schema is a stricter version of the more permissive main schema, https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/alert.schema.json. The Kafka server uses the main schema for new notices. Each Alert notice (classic numeric type 110) must validate against the main schema and should also validate against this one. Examples in this directory come in two versions referencing the main and the strict schemas respectively. The intent of the strict schema is to help understanding the Alert notice, since it better describes what content to be expected.", + "type": "object", + "properties": { + "$schema": { + "enum": [ + "https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/alert.schema.json", + "https://gcn.nasa.gov/schema/main/gcn/notices/fermi/gbm/strict/alert.schema.json" + ], + "description": "Required by GCN" + }, + "additional_info": { + "type": "string", + "default": null, + "description": "Free text comments about the event and the notice." + }, + "alert_datetime": { + "type": "string", + "description": "Date and time of notice creation [UTC, ISO 8601], ex YYYY-MM-DDTHH:MM:SS.ssssssZ" + }, + "alert_tense": { + "enum": [ + "current", + "archival", + "planned", + "injection", + "commanded", + "test" + ], + "default": "current", + "description": "Indication of whether this alert refers to a recent observation (current), re-analysis of archival data (archival), a planned observation in the future (planned), a signal injection (injection), commanded trigger (commanded) or a test trigger (test)." + }, + "alert_type": { + "enum": ["initial", "update", "retraction"], + "default": "initial", + "description": "Indication of alert sequence if multiple of same type sent" + }, + "data_archive_page": { + "type": "string", + "description": "URL of archived data files" + }, + "detectors_status": { + "type": "array", + "items": { + "enum": ["on", "off", "triggered"] + }, + "minItems": 14, + "maxItems": 14, + "description": "Triggered detectors" + }, + "event_name": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Name of the event, for example GRB170817A" + }, + "hitl": { + "type": "boolean", + "default": false, + "description": "\"Human in the loop\". When false, the notice was generated entirely automatically. A value of true means that a human had an input, while the notice was being prepared. The latter includes notices, which weren't altered by the human input, i.e. simply confirmed or approved by a human for further processing." + }, + "id": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "description": "Instrument-specific trigger ID, for example: 745121685, bn240812094" + }, + "instrument": { + "const": "GBM", + "default": "GBM", + "description": "Name of the instrument reporting the event" + }, + "latitude": { + "type": "number", + "description": "Geocentric latitude [deg]" + }, + "light_curve_url": { + "type": "string", + "description": "URL of the quicklook light curve plot" + }, + "longitude": { + "type": "number", + "description": "Geocentric longitude [deg]" + }, + "messenger": { + "const": "EM", + "default": "EM", + "description": "Messenger of report; EM, GW or Neutrino" + }, + "mission": { + "const": "Fermi", + "default": "Fermi", + "description": "Name of Mission or Telescope reporting the event" + }, + "notice_type": { + "const": "FERMI_GBM_ALERT", + "description": "Notice title" + }, + "rate_duration": { + "type": "number", + "description": "Duration in seconds of the ime interval used in the signal to noise ratio calculation" + }, + "rate_energy_range": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 2, + "maxItems": 2, + "description": "Energy bounds in keV used in the signal to noise ratio calculation" + }, + "rate_snr": { + "type": "number", + "description": "Signal to noise ratio" + }, + "record_number": { + "type": "number", + "description": "Incremental number for notices related to the same trigger (ex: 1, 2, 3)" + }, + "spectrum": { + "const": "energy", + "default": "energy", + "description": "high-energy or optical or radio observations, if not parsed, then default band is energy" + }, + "trigger_algorithm_number": { + "type": "number", + "description": "The criterion number that caused the flight software to trigger. Not to be confused with flight software or any other version number." + }, + "trigger_time": { + "type": "string", + "description": "Time of the trigger [ISO 8601], ex YYYY-MM-DDTHH:MM:SS.ssssssZ" + }, + "trigger_type": { + "const": "rate", + "default": "rate", + "description": "Type of trigger algorithm used to identify the transient event." + }, + "units": { + "const": "keV", + "default": "keV", + "description": "Units of band range, if not parsed, then default energy is keV" + } + }, + "required": [ + "alert_datetime", + "data_archive_page", + "detectors_status", + "event_name", + "id", + "latitude", + "light_curve_url", + "longitude", + "notice_type", + "rate_duration", + "rate_energy_range", + "rate_snr", + "record_number", + "trigger_algorithm_number", + "trigger_time" + ], + "additionalProperties": false +}