@nasa-gcn/schema 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/.github/auto_request_review.yml +12 -0
  2. package/.github/dependabot.yml +12 -0
  3. package/.github/workflows/release.yml +27 -0
  4. package/.github/workflows/review.yml +15 -0
  5. package/.github/workflows/validate.yml +32 -0
  6. package/.husky/pre-commit +1 -0
  7. package/README.md +36 -0
  8. package/gcn/circulars.example.json +11 -0
  9. package/gcn/circulars.schema.json +46 -0
  10. package/gcn/notices/burstcube/alert.example.json +29 -0
  11. package/gcn/notices/burstcube/alert.schema.json +27 -0
  12. package/gcn/notices/burstcube/test.example.json +29 -0
  13. package/gcn/notices/burstcube/test.schema.json +27 -0
  14. package/gcn/notices/core/AdditionalInfo.schema.json +13 -0
  15. package/gcn/notices/core/Alert.schema.json +28 -0
  16. package/gcn/notices/core/DateTime.schema.json +25 -0
  17. package/gcn/notices/core/DetectorStatus.schema.json +7 -0
  18. package/gcn/notices/core/Distance.schema.json +19 -0
  19. package/gcn/notices/core/Duration.schema.json +28 -0
  20. package/gcn/notices/core/Event.schema.json +23 -0
  21. package/gcn/notices/core/FollowUp.schema.json +26 -0
  22. package/gcn/notices/core/GeoLocBase.schema.json +26 -0
  23. package/gcn/notices/core/HardnessRatio.schema.json +33 -0
  24. package/gcn/notices/core/Localization.example.json +13 -0
  25. package/gcn/notices/core/Localization.schema.json +64 -0
  26. package/gcn/notices/core/Pointing.example.json +10 -0
  27. package/gcn/notices/core/Pointing.schema.json +43 -0
  28. package/gcn/notices/core/Redshift.schema.json +21 -0
  29. package/gcn/notices/core/Reporter.example.json +7 -0
  30. package/gcn/notices/core/Reporter.schema.json +42 -0
  31. package/gcn/notices/core/Statistics.example.json +16 -0
  32. package/gcn/notices/core/Statistics.schema.json +69 -0
  33. package/gcn/notices/core/spectral/GammaRay.schema.json +92 -0
  34. package/gcn/notices/core/spectral/models/Band.schema.json +42 -0
  35. package/gcn/notices/core/spectral/models/CutOffPowerLaw.schema.json +34 -0
  36. package/gcn/notices/core/spectral/models/PowerLaw.schema.json +26 -0
  37. package/gcn/notices/einstein_probe/wxt/alert.example.json +13 -0
  38. package/gcn/notices/einstein_probe/wxt/alert.schema.json +15 -0
  39. package/gcn/notices/glowbug/Alert.example.json +34 -0
  40. package/gcn/notices/glowbug/Alert.schema.json +52 -0
  41. package/gcn/notices/heasarc/archive_alert.example.json +13 -0
  42. package/gcn/notices/heasarc/archive_alert.schema.json +31 -0
  43. package/gcn/notices/icecube/lvk_nu_track_search.example.json +45 -0
  44. package/gcn/notices/icecube/lvk_nu_track_search.schema.json +85 -0
  45. package/gcn/notices/icecube/test/gold_bronze.update.example.json +18 -0
  46. package/gcn/notices/icecube/test/gold_bronze_track_alerts.example.json +16 -0
  47. package/gcn/notices/icecube/test/gold_bronze_track_alerts.schema.json +25 -0
  48. package/gcn/notices/svom/eclairs/trigger.catalog.example.json +18 -0
  49. package/gcn/notices/svom/eclairs/trigger.not-slewing.example.json +17 -0
  50. package/gcn/notices/svom/eclairs/trigger.slewing.example.json +17 -0
  51. package/gcn/notices/svom/eclairs/trigger.wakeup.example.json +17 -0
  52. package/gcn/notices/svom/grm/trigger.example.json +16 -0
  53. package/gcn/notices/svom/trigger.schema.json +33 -0
  54. package/gcn/notices/swift/bat/Guano.Retraction.example.json +15 -0
  55. package/gcn/notices/swift/bat/Guano.example.json +20 -0
  56. package/gcn/notices/swift/bat/Guano.schema.json +28 -0
  57. package/gcn/notices/swift/bat/guano.loc_arc_min.example.json +28 -0
  58. package/gcn/notices/swift/bat/guano.loc_map.example.json +22 -0
  59. package/index.js +1 -0
  60. package/package.json +53 -0
  61. package/update-tags.mjs +55 -0
  62. package/validate.mjs +100 -0
@@ -0,0 +1,12 @@
1
+ # The format of this file is described at
2
+ # https://github.com/necojackarc/auto-request-review#reviewers-configuration.
3
+
4
+ files:
5
+ '**':
6
+ - team:maintainers
7
+ 'gcn/notices/glowbug/**':
8
+ - shb46
9
+ 'gcn/notices/icecube/**':
10
+ - blaufuss
11
+ 'gcn/notices/swift/**':
12
+ - Tohuvavohu
@@ -0,0 +1,12 @@
1
+ version: 2
2
+
3
+ updates:
4
+ - package-ecosystem: github-actions
5
+ directory: /
6
+ schedule:
7
+ interval: weekly
8
+
9
+ - package-ecosystem: npm
10
+ directory: /
11
+ schedule:
12
+ interval: weekly
@@ -0,0 +1,27 @@
1
+ name: Main
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - '*'
7
+
8
+ jobs:
9
+ github:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Checkout
13
+ uses: actions/checkout@v4
14
+ - name: Release
15
+ uses: softprops/action-gh-release@v2
16
+ npm:
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - uses: actions/setup-node@v4
21
+ with:
22
+ node-version: 20
23
+ registry-url: 'https://registry.npmjs.org'
24
+ - run: npm ci
25
+ - run: npm publish --access public
26
+ env:
27
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -0,0 +1,15 @@
1
+ name: Auto Request Review
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, ready_for_review, reopened]
6
+
7
+ jobs:
8
+ auto-request-review:
9
+ name: Auto Request Review
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Request review based on files changes and/or groups the author belongs to
13
+ uses: necojackarc/auto-request-review@v0.10.0
14
+ with:
15
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,32 @@
1
+ name: Validate
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ pull_request:
7
+ branches:
8
+ - main
9
+ jobs:
10
+ test:
11
+ uses: nasa-gcn/.github/.github/workflows/node.yml@main
12
+ with:
13
+ test-options:
14
+ bump:
15
+ name: dry run of version bump
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - name: Install Node.js
20
+ uses: actions/setup-node@v4
21
+ with:
22
+ node-version: '20.x'
23
+ - name: Configure git identity
24
+ run: |
25
+ git config --global user.email "you@example.com"
26
+ git config --global user.name "Your Name"
27
+ - name: Install package
28
+ run: npm ci
29
+ - name: Bump version
30
+ run: npm version patch
31
+ - name: Run validation
32
+ run: npm test
@@ -0,0 +1 @@
1
+ lint-staged
package/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # GCN Schema
2
+
3
+ This repository contains the schemas for crafting new GCN notices. It also includes mission-specific schemas and illustrative examples, which are distributed by [GCN Kafka](https://gcn.nasa.gov). The formulation of mission schemas is one step in the process for setting up [New Notice Producers](https://gcn.nasa.gov/docs/producers).
4
+
5
+ The alert format for new Notices over GCN Kafka is JavaScript Object Notation (JSON), a widely adopted Internet data format. We have designed a set of core schema which serve as the building blocks for new GCN Notices. Instrument-specific schema can also be created, but we request that you utilize the core schema as much as possible.
6
+
7
+ Please add your schema to this repository under <code>gcn/notices/<i>mission</i>/</code> and submit a pull request for the GCN Team to review. The GCN team is happy to iterate with the producers on their schema contents and format. Your pipeline will generate JSON files following these schema and send alerts to GCN as described in [New Notice Producers](https://gcn.nasa.gov/docs/notices/producers).
8
+
9
+ ## How To Release
10
+
11
+ 1. Clone the parent repo (nasa-gcn/gcn-schema).
12
+
13
+ git clone git@github.com:nasa-gcn/gcn-schema.git
14
+ cd gcn-schema
15
+
16
+ 2. Install necessary npm packages
17
+
18
+ npm install
19
+
20
+ 3. Tag a new version by running the following command: `npm version [ major | minor | patch ]`. Choose `major`, `minor`, or `patch` depending on the kind of update according to [Semantic Versioning](https://semver.org) rules.
21
+
22
+ This command will handle the intermediate steps of updating and committing the path changes in each file as defined in the `version` and `postversion` npm scripts
23
+
24
+ 4. Review the changes with `git log -p` to make sure that each file is appropriately updated.
25
+
26
+ 5. Finally, push both the commit and the tag:
27
+
28
+ git push && git push origin <tag name>
29
+
30
+ This will make the release available for use. For subsequent releases:
31
+
32
+ 1. Pull the latest state of the main branch
33
+
34
+ git pull
35
+
36
+ 2. Follow the above steps from Step 3 on.
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "https://gcn.nasa.gov/schema/v4.1.0/gcn/circulars.schema.json",
3
+ "eventId": "GRB 230410A",
4
+ "submitter": "Fermi GBM Team at MSFC/Fermi-GBM <do_not_reply@GIOC.nsstc.nasa.gov>",
5
+ "submittedHow": "email-legacy",
6
+ "subject": "GRB 230410A: Fermi GBM Final Real-time Localization",
7
+ "circularId": 33603,
8
+ "format": "text/plain",
9
+ "body": "The Fermi GBM team reports the detection of a likely LONG GRB\\n\\nAt 11:26:00 UT on 10 Apr 2023, the Fermi Gamma-ray Burst Monitor (GBM) triggered and located GRB 230410A (trigger 702818765.135562 / 230410476).\\n\\nThe on-ground calculated location, using the Fermi GBM trigger data, is RA = 352.3, Dec = 22.9 (J2000 degrees, equivalent to J2000 23h 29m, 22d 53'), with a statistical uncertainty of 2.1 degrees.\\n\\nThe angle from the Fermi LAT boresight is 72.0 degrees.\\n\\nThe skymap can be found here:\\nhttps://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2023/bn230410476/quicklook/glg_skymap_all_bn230410476.png\\n\\nThe HEALPix FITS file, including the estimated localization systematic, can be found here:\\nhttps://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2023/bn230410476/quicklook/glg_healpix_all_bn230410476.fit\\n\\nThe GBM light curve can be found here:\\nhttps://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/triggers/2023/bn230410476/quicklook/glg_lc_medres34_bn230410476.gif",
10
+ "createdOn": 1718212589034
11
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/circulars.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "title": "GCN Circular",
6
+ "description": "GCN Circulars are rapid astronomical bulletins submitted by and distributed to community members worldwide. They are used to share discoveries, observations, quantitative near-term predictions, requests for follow-up observations, or future observing plans related to high-energy, multi-messenger, and variable or transient astrophysical events. An archive of all GCN Circulars can be found at https://gcn.nasa.gov/circulars",
7
+ "properties": {
8
+ "eventId": {
9
+ "type": "string",
10
+ "description": "Event name, automatically inferred from the subject"
11
+ },
12
+ "submitter": {
13
+ "type": "string",
14
+ "description": "Name, affiliation, and email address of the person who submitted the Circular, in the form `A. E. Einstein at IAS <albert.einstein@example.edu>`"
15
+ },
16
+ "submittedHow": {
17
+ "enum": ["web", "email", "email-legacy", "api"],
18
+ "description": "Specifies the method by which the user submitted the Circular"
19
+ },
20
+ "subject": {
21
+ "type": "string",
22
+ "description": "Subject line of the Circular"
23
+ },
24
+ "circularId": {
25
+ "type": "number",
26
+ "description": "Circular ID assigned to the Circular in the GCN Circulars archive. This value is unique to each published Circular and increments by 1"
27
+ },
28
+ "format": {
29
+ "enum": ["text/plain", "text/markdown"],
30
+ "description": "Format of the body text as a MIME type. See https://gcn.nasa.gov/docs/circulars/markdown for documentation on using Markdown in Circulars"
31
+ },
32
+ "body": { "type": "string", "description": "Body text" },
33
+ "createdOn": {
34
+ "type": "number",
35
+ "description": "Date and time the Circular is accepted and published onto the GCN Circulars archive, formatted as a UNIX timestamp (milliseconds since the UNIX epoch)"
36
+ }
37
+ },
38
+ "required": [
39
+ "eventId",
40
+ "submitter",
41
+ "subject",
42
+ "circularId",
43
+ "body",
44
+ "createdOn"
45
+ ]
46
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/burstcube/alert.schema.json",
3
+ "alert_datetime": "2024-06-01T00:05:00.00Z",
4
+ "alert_tense": "current",
5
+ "alert_type": "initial",
6
+ "mission": "BurstCube",
7
+ "record_number": 1,
8
+ "trigger_time": "2024-06-01T00:00:00.0Z",
9
+ "id": ["240601000"],
10
+ "ra": 232,
11
+ "dec": -53.1,
12
+ "ra_dec_error": 10,
13
+ "containment_probability": 0.9,
14
+ "systematic_included": false,
15
+ "healpix_url": "https://heasarc.gsfc.nasa.gov/burstcube/trigger/240601000/current/240601000_locmap.fits",
16
+ "healpix_file": "stuff",
17
+ "rate_snr": 7.2,
18
+ "rate_duration": 1.024,
19
+ "rate_energy_range": [50, 300],
20
+ "classification": { "GRB": 0.95, "SF": 0.03, "Local Particles": 0.02 },
21
+ "t90": 2.3,
22
+ "t90_error": [0.1],
23
+ "detector_status": {
24
+ "CsI0": "triggered",
25
+ "CsI1": "triggered",
26
+ "CsI2": "on",
27
+ "CsI3": "on"
28
+ }
29
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/burstcube/alert.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "Alert",
5
+ "description": "BurstCube Trigger Alert",
6
+ "type": "object",
7
+ "allOf": [
8
+ { "$ref": "../core/Alert.schema.json" },
9
+ { "$ref": "../core/Reporter.schema.json" },
10
+ { "$ref": "../core/DateTime.schema.json" },
11
+ { "$ref": "../core/Event.schema.json" },
12
+ { "$ref": "../core/Localization.schema.json" },
13
+ { "$ref": "../core/Statistics.schema.json" },
14
+ { "$ref": "../core/Duration.schema.json" }
15
+ ],
16
+ "properties": {
17
+ "detector_status": {
18
+ "type": "object",
19
+ "properties": {
20
+ "CsI0": { "$ref": "../core/DetectorStatus.schema.json" },
21
+ "CsI1": { "$ref": "../core/DetectorStatus.schema.json" },
22
+ "CsI2": { "$ref": "../core/DetectorStatus.schema.json" },
23
+ "CsI3": { "$ref": "../core/DetectorStatus.schema.json" }
24
+ }
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/burstcube/test.schema.json",
3
+ "alert_datetime": "2024-06-01T00:05:00.00Z",
4
+ "alert_tense": "current",
5
+ "alert_type": "initial",
6
+ "mission": "BurstCube",
7
+ "record_number": 1,
8
+ "trigger_time": "2024-06-01T00:00:00.0Z",
9
+ "id": ["240601000"],
10
+ "ra": 232,
11
+ "dec": -53.1,
12
+ "ra_dec_error": 10,
13
+ "containment_probability": 0.9,
14
+ "systematic_included": false,
15
+ "healpix_url": "https://heasarc.gsfc.nasa.gov/burstcube/trigger/240601000/current/240601000_locmap.fits",
16
+ "healpix_file": "stuff",
17
+ "rate_snr": 7.2,
18
+ "rate_duration": 1.024,
19
+ "rate_energy_range": [50, 300],
20
+ "classification": { "GRB": 0.95, "SF": 0.03, "Local Particles": 0.02 },
21
+ "t90": 2.3,
22
+ "t90_error": [0.1],
23
+ "detector_status": {
24
+ "CsI0": "triggered",
25
+ "CsI1": "triggered",
26
+ "CsI2": "on",
27
+ "CsI3": "on"
28
+ }
29
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/burstcube/test.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "Alert",
5
+ "description": "BurstCube Trigger Alert",
6
+ "type": "object",
7
+ "allOf": [
8
+ { "$ref": "../core/Alert.schema.json" },
9
+ { "$ref": "../core/Reporter.schema.json" },
10
+ { "$ref": "../core/DateTime.schema.json" },
11
+ { "$ref": "../core/Event.schema.json" },
12
+ { "$ref": "../core/Localization.schema.json" },
13
+ { "$ref": "../core/Statistics.schema.json" },
14
+ { "$ref": "../core/Duration.schema.json" }
15
+ ],
16
+ "properties": {
17
+ "detector_status": {
18
+ "type": "object",
19
+ "properties": {
20
+ "CsI0": { "$ref": "../core/DetectorStatus.schema.json" },
21
+ "CsI1": { "$ref": "../core/DetectorStatus.schema.json" },
22
+ "CsI2": { "$ref": "../core/DetectorStatus.schema.json" },
23
+ "CsI3": { "$ref": "../core/DetectorStatus.schema.json" }
24
+ }
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/AdditionalInfo.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "title": "Comments",
6
+ "description": "Comments that are not summarized elsewhere in schema",
7
+ "properties": {
8
+ "additional_info": {
9
+ "type": "string",
10
+ "description": "Additional information about the event"
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/Alert.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "Alert",
5
+ "description": "Alert Information description properties of this notice",
6
+ "type": "object",
7
+ "properties": {
8
+ "alert_datetime": {
9
+ "type": "string",
10
+ "description": "Date and time of notice creation [UTC, ISO 8601], ex YYYY-MM-DDTHH:MM:SS.ssssssZ"
11
+ },
12
+ "alert_tense": {
13
+ "enum": [
14
+ "current",
15
+ "archival",
16
+ "planned",
17
+ "injection",
18
+ "commanded",
19
+ "test"
20
+ ],
21
+ "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)."
22
+ },
23
+ "alert_type": {
24
+ "enum": ["initial", "update", "retraction"],
25
+ "description": "Indication of alert sequence if multiple of same type sent"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/DateTime.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "DateTime",
5
+ "description": "Time descriptions of transient event and observation",
6
+ "type": "object",
7
+ "properties": {
8
+ "trigger_time": {
9
+ "type": "string",
10
+ "description": "Time of the trigger [ISO 8601], ex YYYY-MM-DDTHH:MM:SS.ssssssZ"
11
+ },
12
+ "observation_start": {
13
+ "type": "string",
14
+ "description": "Start time of the observation [ISO 8601]"
15
+ },
16
+ "observation_stop": {
17
+ "type": "string",
18
+ "description": "Stop time of the observation [ISO 8601]"
19
+ },
20
+ "observation_livetime": {
21
+ "type": "number",
22
+ "description": "Livetime of the observation [s]"
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/DetectorStatus.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "DetectorStatus",
5
+ "enum": ["on", "off", "triggered"],
6
+ "description": "Status of a specified detector at the time of the alert"
7
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/Distance.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "title": "Distance",
6
+ "description": "Luminosity Distance",
7
+ "properties": {
8
+ "luminosity_distance": {
9
+ "type": "number",
10
+ "description": "Luminosity distance [Mpc]"
11
+ },
12
+ "luminosity_distance_error": {
13
+ "type": "array",
14
+ "items": { "type": "number" },
15
+ "maxItems": 2,
16
+ "description": "Luminosity distance uncertainty [Mpc, 1-sigma], with optional asymmetric uncertainty"
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/Duration.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "title": "Duration",
6
+ "properties": {
7
+ "t90": {
8
+ "type": "number",
9
+ "description": "Time duration of central 90% of integrated fluence [s]"
10
+ },
11
+ "t90_error": {
12
+ "type": "array",
13
+ "items": { "type": "number" },
14
+ "maxItems": 2,
15
+ "description": "1-sigma uncertainty of the T90 duration [s], with asymmetric statistical errors taken into account"
16
+ },
17
+ "t50": {
18
+ "type": "number",
19
+ "description": "Time duration of central 50% of integrated fluence [s]"
20
+ },
21
+ "t50_error": {
22
+ "type": "array",
23
+ "items": { "type": "number" },
24
+ "maxItems": 2,
25
+ "description": "1-sigma uncertainty of the T50 duration [s], with asymmetric statistical errors taken into account"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/Event.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "title": "Event Information",
6
+ "description": "Name or names of the event",
7
+ "properties": {
8
+ "event_name": {
9
+ "type": "array",
10
+ "items": { "type": "string" },
11
+ "description": "Name of the event (ex: GRB 170817A, GW170817, AT2017gfo, SSS 17a)"
12
+ },
13
+ "id": {
14
+ "type": "array",
15
+ "items": { "oneOf": [{ "type": "string" }, { "type": "number" }] },
16
+ "description": "Instrument-specific trigger ID (ex: bn230313485 (Fermi), 1159327 (Swift)) or alternate ID"
17
+ },
18
+ "data_archive_page": {
19
+ "type": "string",
20
+ "description": "URL of archived data files"
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/FollowUp.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "FollowUp",
5
+ "description": "Schema specific to follow-up cases",
6
+ "type": "object",
7
+ "properties": {
8
+ "ref_type": {
9
+ "type": "string",
10
+ "description": "Type of the event detected, ex. GRB, GW, neutrino"
11
+ },
12
+ "ref_instrument": {
13
+ "type": "string",
14
+ "description": "Name of the reference mission or, instrument, ex. Fermi-GBM"
15
+ },
16
+ "ref_ID": {
17
+ "type": "string",
18
+ "description": "Trigger ID as reported by the reference instrument, ex. bnYYMMDDFF"
19
+ },
20
+ "reference": {
21
+ "type": "object",
22
+ "additionalProperties": { "type": ["number", "string"] },
23
+ "description": "Reference as distributed by the notices or circulars or ATel, ex. gcn circulars: 12345, gcn.notices.LVK.alert: SYYMMDDak-2-preliminary. "
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/GeoLocBase.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "Spacecraft Geolocation and McIlwain L",
5
+ "description": "Enables GCN providers to include spacecraft geolocation and McIlwain L-Parameter.",
6
+ "type": "object",
7
+ "properties": {
8
+ "latitude": {
9
+ "type": "number",
10
+ "description": "Geocentric latitude [deg]"
11
+ },
12
+ "longitude": {
13
+ "type": "number",
14
+ "description": "Geocentric longitude [deg]"
15
+ },
16
+ "altitude": {
17
+ "type": "number",
18
+ "description": "Distance from the surface of the Earth [km]."
19
+ },
20
+ "mcilwain_l": { "type": "number", "description": "McIlwain L-parameter" },
21
+ "geoloc_time": {
22
+ "type": "string",
23
+ "description": "Time [UTC, ISO 8601] of the geolocation and McIlwain L-parameter, if different than the trigger time."
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/HardnessRatio.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "title": "HardnessRatio",
6
+ "description": "Hardness Ratio parameterization",
7
+ "properties": {
8
+ "hardness_ratio": {
9
+ "type": "number",
10
+ "description": "ratio of flux between high and low energy bands"
11
+ },
12
+ "hardness_ratio_error": {
13
+ "type": "array",
14
+ "items": { "type": "number" },
15
+ "maxItems": 2,
16
+ "description": "ratio of flux between high and low energy bands, with asymmetric statistical errors taken into account"
17
+ },
18
+ "energy_range_soft": {
19
+ "type": "array",
20
+ "items": { "type": "number" },
21
+ "description": "Energy range [keV] used in soft band of hardness ratio",
22
+ "minItems": 2,
23
+ "maxItems": 2
24
+ },
25
+ "energy_range_hard": {
26
+ "type": "array",
27
+ "items": { "type": "number" },
28
+ "description": "Energy range [keV] used in hard band of hardness ratio",
29
+ "minItems": 2,
30
+ "maxItems": 2
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/Localization.schema.json",
3
+ "ra": 120,
4
+ "dec": 45,
5
+ "ra_dec_error": [0.5, 0.8, 0],
6
+ "containment_probability": 0.95,
7
+ "systematic_included": true,
8
+ "instrument_phi": 90,
9
+ "instrument_theta": 45,
10
+ "instrument_semimajor_angle": 50,
11
+ "healpix_url": "http://example.com/localization.fits",
12
+ "healpix_file": "H4sIAAAAAAAAC......."
13
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "$id": "https://gcn.nasa.gov/schema/v4.1.0/gcn/notices/core/Localization.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "title": "Localization",
6
+ "description": "Localization of transient",
7
+ "properties": {
8
+ "ra": {
9
+ "type": "number",
10
+ "description": "ICRS right ascension [deg], utilizes the J2000 epoch and an equatorial coordinate system"
11
+ },
12
+ "dec": {
13
+ "type": "number",
14
+ "description": "ICRS declination [deg], utilizes the J2000 epoch and an equatorial coordinate system"
15
+ },
16
+ "ra_dec_error": {
17
+ "anyOf": [
18
+ {
19
+ "type": "number",
20
+ "description": "Uncertainty region described as a circle with a radius [deg]."
21
+ },
22
+ {
23
+ "type": "array",
24
+ "items": { "type": "number" },
25
+ "minItems": 1,
26
+ "maxItems": 3,
27
+ "description": "An array of up to three values that describe the localization region as an ellipse: length of the semi-major axis, length of the semi-minor axis (default is the same as the semi-major axis), and astronomical position angle of the semi-major axis (measured from North through East, default is zero)."
28
+ }
29
+ ]
30
+ },
31
+ "containment_probability": {
32
+ "type": "number",
33
+ "description": "Containment probability [dimensionless, 0-1]; if absent, default is 0.9",
34
+ "default": 0.9
35
+ },
36
+ "systematic_included": {
37
+ "type": "boolean",
38
+ "description": "Contains true when the systematic error is included and false when the systematic error is not included",
39
+ "default": false
40
+ },
41
+ "instrument_phi": {
42
+ "type": "number",
43
+ "description": "Instrument phi [deg]"
44
+ },
45
+ "instrument_theta": {
46
+ "type": "number",
47
+ "description": "Instrument theta [deg]"
48
+ },
49
+ "instrument_semimajor_angle": {
50
+ "type": "number",
51
+ "description": "Position angle of semi-major axis in instrument coordinates [deg]"
52
+ },
53
+ "healpix_url": {
54
+ "type": "string",
55
+ "description": "URL of HEALPix localization probability file"
56
+ },
57
+ "healpix_file": {
58
+ "type": "string",
59
+ "contentEncoding": "base64",
60
+ "contentMediaType": "image/fits",
61
+ "description": "Base 64 encoded content of a FITS file"
62
+ }
63
+ }
64
+ }